ahuffman.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
Загрузки
5.1k
Владелец
