sat6_create_hosts

Ansible Роль

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

Лицензия

MIT

Информация об авторе

Эндрю Дж. Хаффман

О проекте

An Ansible role to create new virtual and bare-metal hosts in Satellite 6.x.

Установить
ansible-galaxy install ahuffman/sat6-create-hosts
Лицензия
mit
Загрузки
5034
Владелец