configdrive

ansible-role-configdrive

На данный момент этот репозиторий не поддерживается активно. Я рекомендую использовать форк, который поддерживает Дэвид Блейзонно: https://gitlab.com/davidblaisonneau-orange/ansible-role-configdrive


Роль Ansible для создания конфигурационных дисков для OpenStack Ironic. Она создает данные конфигурационных дисков OpenStack для узлов и может настраивать сложные сетевые конфигурации, такие как агрегация, VLAN и мосты на дистрибутивах на базе Debian и RedHat. Обратите внимание, что образы должны поддерживать эти функции (ядровые модули, пакеты и т. д.). Этот инструмент просто создает файлы конфигурации, которые будут внедрены в хост во время загрузки с помощью Cloud-Init.

Этот плейбук предназначен для выполнения перед развертыванием узлов через Ironic. Он создает базовый конфигурационный диск, содержащий сетевую конфигурацию, SSH-ключ, позволяющий пользователю войти в систему, и другие файлы, такие как /etc/hosts или /etc/resolv.conf. Также он может включать файл user_data https://help.ubuntu.com/community/CloudInit

Ansible 2.0, работает с Ubuntu Trusty, Xenial и CentOS 7

Требования

Он не устанавливает пакеты на целевом хосте, он просто создает папки и файлы, необходимые для создания тома конфигурационного диска. Так что имейте в виду, что, скорее всего, вам нужно будет установить genisoimage, base64 и gzip.

Настройка

Параметры роли

# Вам нужно переопределить эти переменные роли!
# Они будут генерировать сетевую конфигурацию 
# на основе семейства!
configdrive_os_family: "Debian"
configdrive_uuid: "uuid-test-01"
configdrive_fqdn: "test.example.com"
configdrive_name: "test"
configdrive_ssh_public_key:
configdrive_availability_zone: ""
configdrive_network_info: True
configdrive_config_dir: "/var/lib/ironic/images/"
configdrive_volume_path: "/var/lib/ironic/images/"

# Дополнительные метаданные
configdrive_meta: {}

# Путь к файлу SSH-ключа
configdrive_ssh_public_key_path:
# Путь к файлу cloud-config
configdrive_config_user_data_path:

# Автоматически назначается с uuid
#configdrive_instance_dir:
# Удалить папку экземпляра после создания
configdrive_config_dir_delete: False

# Заполнить /etc/resolv.conf
#configdrive_resolv:
#    domain: "example.com"
#    search: "hola.example.com"
#    dns: ['8.8.8.8']

# Заполнить /etc/hosts
#configdrive_hosts:
#  - ['127.0.1.1', 'host1.domain.com']
#  - ['127.0.1.2', 'host3.domain.com']

# Список устройств
#configdrive_network_device_list:
#  - device: "eth1"
#    bootproto: "dhcp"
#  - device: "eth2"
#    bootproto: "dhcp"
#    type: "phy"
#  - device: "eth0.500"
#    type: "vlan"
#    address: "10.1.1.10"
#    netmask: "255.255.255.0"
#    gateway: "10.1.1.1"
#    nameservers: 
#      - 8.8.8.8
#      - 9.9.9.9
#    domain: "hola.com"
#    backend: ["eth0"]

Использование

Посмотрите на файл site.yml и введите vagrant up, перейдите в папку /tmp/configdrive внутри виртуальной машины vagrant, и вы увидите сжатый ISO-образ и всю структуру папок/файлов, включенную в него.

Автор и информация о лицензии

Авторские права 2019 Жозе Ригуэра Лопес

Лицензировано в соответствии с лицензией Apache, версия 2.0 (далее "Лицензия"); вы не можете использовать этот файл, за исключением случаев, предусмотренных Лицензией. Вы можете получить копию Лицензии по адресу

   http://www.apache.org/licenses/LICENSE-2.0

Если не требуется иным образом действующим законодательством или в письменной форме, программное обеспечение, распространяемое по Лицензии, предоставляется "КАК ЕСТЬ", БЕЗ ГАРАНТИЙ И УСЛОВИЙ ЛЮБОГО РОДА, явных или подразумеваемых. См. Лицензию для уточнения прав и ограничений, связанных с Лицензией.

О проекте

Creates a configdrive for OpenStack

Установить
ansible-galaxy install jriguera/ansible-role-configdrive
Лицензия
apache-2.0
Загрузки
210230
Владелец