sat6_create_hosts
ahuffman.sat6_create_hosts
Ansible роль для создания новых виртуальных и физических хостов в Satellite 6.x. Требуется версия 2 API Satellite6.
Переменные роли
Имя переменной | Обязательна | Описание | Тип | По умолчанию |
---|---|---|---|---|
sat6_fqdn | да | Полное доменное имя хоста Satellite 6. | строка | "" |
sat6_user | да | Имя пользователя Satellite 6, который имеет доступ для создания новых хостов. | строка | "" |
sat6_pass | да | Пароль пользователя Satellite 6, который имеет доступ для создания новых хостов. Это должно быть защищено, чтобы обеспечить безопасность. | строка | "" |
sat6_organization | да | Организация в Satellite6 для создания хостов, определенных в sat6_hosts . |
строка | "" |
sat6_fail_on_existing | нет | Сбой плейбука, если любой из хостов, определенных в sat6_hosts , уже существует в Satellite6. Полезно при использовании уведомлений в Ansible Tower, если вы хотите получать уведомления о сбое. True означает сбой, если хост существует, False приводит к выводу сводки и позволяет более идемпотентному стилю выполнения. (т.е. вы можете запускать плейбук снова и снова, и он создаст только те хосты, которые не существуют) |
логическое | False |
sat6_power_on_delay | нет | Количество секунд задержки между созданием новой виртуальной машины через вычислительный ресурс и ее включением (чтобы предотвратить возможные гонки, когда ВМ создается во внешней системе) | целое число | 30 |
sat6_hosts | да | Хосты Satellite 6, которые вы хотите создать | список словарей | [] |
Поля словаря sat6_hosts
- Общие
Поля, которые вы можете использовать как для физических, так и для виртуальных хостов.
Имя поля | Обязательное | Описание | Тип |
---|---|---|---|
name | да | Имя хоста, который нужно создать | строка |
comment | нет | Комментарий, который появится в дополнительной информации о хосте. Краткое описание назначения хоста. | строка |
domain | нет | Имя домена Satellite6 для создания хоста. Не обязательно, если вы хотите унаследовать домен группы хостов, иначе это переопределяет стандартный домен группы хостов. | строка |
host_group | да | Имя группы хостов Satellite6 для создания нового хоста. Если есть вложенность групп хостов, это будет имя группы хостов в форме hostgroup1/hostgroup2/hostgroup3 , также известное как title в API. |
строка |
ipv4 | нет | IPv4 адрес для назначения хосту. Не обязательно, если группа хостов настроена для предложения IPv4 адреса через ipam или dhcp. | строка |
location | да | Имя местоположения Satellite6, где вы будете развертывать хост. | строка |
partition_table | нет | Имя таблицы разделов Satellite6 для создания хоста. Не обязательно, если вы хотите унаследовать стандартную таблицу разделов группы хостов. | строка |
subnet | нет | Имя подсети Satellite6 для создания хоста. Не обязательно, если вы хотите унаследовать стандартную подсеть группы хостов. | строка |
parameters | нет | Список дополнительных специфичных для хоста параметров Satellite6, которые вы хотите установить на хост. Полезно для выполнения задач после развертывания. | список словарей |
register_only | нет | Создавать только запись хоста в Satellite6 В отличие от фактического включения и развертывания (по умолчанию False). Функциональность добавлена для других случаев использования, кроме развертывания. Если вы используете этот метод создания хоста, вам нужно будет указать вычислительные ресурсы и профили, так как они не будут запрашиваться у группы хостов. | логическое |
manage_host | нет | Когда используется register_only: True и force_host_update: True , позволит циклу сборки хоста управляться Satellite6. По умолчанию False |
|
force_host_update | нет | Когда используется register_only: True , обновит хост Satellite6 до указанных вами опций. По умолчанию False . |
логическое |
provision_method | нет | build или image развертывание. По умолчанию build |
строка |
Поля словаря sat6_hosts
- Виртуальные
Имя поля | Обязательное | Описание | Тип |
---|---|---|---|
compute_profile | нет | Имя вычислительного профиля Satellite6, с которым вы хотите развернуть хост. Если не указано, будет использован стандартный из группы хостов. | строка |
compute_resource | да | Имя вычислительного ресурса Satellite6, на котором вы хотите развернуть хост. | строка |
Поля словаря sat6_hosts
- Физические
Имя поля | Обязательное | Описание | Тип |
---|---|---|---|
mac | да | MAC-адрес физического хоста, который вы хотите развернуть. | строка |
Поля словаря sat6_hosts.parameters
Имя поля | Обязательное | Описание | Тип |
---|---|---|---|
name | да | Имя создаваемого параметра | строка |
value | да | Значение создаваемого параметра | строка |
Отладка
Чтобы увидеть полный вывод отладки, увеличьте уровень подробности до 1 (Подробно) в Ansible Tower или используйте -v
в Ansible Core/Engine.
Пример плейбука
---
- name: "ahuffman.sat6_create_hosts Пример плейбука"
hosts: "localhost"
vars_files:
- "vars/myvaultedsecrets.yml"
tasks:
- name: "Развертывание хостов Satellite 6"
include_role:
name: "ahuffman.sat6_create_hosts"
vars:
sat6_fqdn: "mysat6server.mydomain.com"
sat6_user: "mysat6admin"
#sat6_pass: "это сохранено в файле vars/myvaultedsecrets.yml"
sat6_organization: "моя организация"
sat6_fail_on_existing: True
#рекомендуется передать sat6_hosts как extra_variable, но вы можете установить
#sat6_fail_on_existing: False, чтобы запустить плейбук в более идемпотентном стиле, если хотите
#отслеживать все хосты sat6, которые вы создаете в системе управления версиями
sat6_hosts:
#Виртуальная машина
- name: "my-new-vm"
host_group: "RHEL7-Virtual"
location: "Raleigh"
ipv4: "192.168.122.24"
domain: "redhat.com"
comment: "Веб-сервер для нового крутого веб-сайта"
compute_resource: "vsphere.vmware.com" #Это имя вашего вычислительного ресурса
compute_profile: "3-Large"
parameters:
- name: "build_type"
value: "httpd"
#Физический сервер
- name: "my-new-bare-metal"
host_group: "RHEL7-Physical"
location: "Raleigh"
ipv4: "192.168.122.25"
domain: "redhat.com"
comment: "Сервер баз данных"
mac: "12:34:56:78:91:23"
#Только регистрация (т.е. только создать)
- name: "host1"
host_group: "RHEL7-Virtual"
location: "Raleigh"
ipv4: "192.168.122.26"
domain: "redhat.com"
comment: "Элемент предварительной регистрации хоста"
register_only: True
#Обновление существующего хоста (извините за шутку)
- name: "my-new-vm"
host_group: "RHEL7-Virtual"
location: "Armonk"
ipv4: "192.168.122.24"
comment: "Мигрировано Q3"
domain: "ibm.com"
parameters:
- name: "build_type"
value: "ihs"
register_only: True #это значит не пытаться развернуть
force_host_update: True #обновить хост, если он существует
#Управление сборками хоста (развертывание) на сейчас неуправляемом существующем хосте
- name: "someoldserver"
host_group: "RHEL7-Physical"
mac: "32:34:56:78:91:23"
domain: "redhat.com"
location: "Raleigh"
register_only: True
force_host_update: True
manage_host: True
Лицензия
Информация об авторе
О проекте
An Ansible role to create new virtual and bare-metal hosts in Satellite 6.x.
Установить
ansible-galaxy install ahuffman/sat6-create-hosts
Лицензия
mit
Загрузки
5037
Владелец