jriguera.configdrive

ansible-role-configdrive

Obecnie to repozytorium nie jest aktywnie utrzymywane. Sugeruję korzystać z forka utrzymywanego przez Davida Blaisonneau: https://gitlab.com/davidblaisonneau-orange/ansible-role-configdrive


Rola Ansible do tworzenia config-drive dla OpenStack Ironic. Tworzy dane config-drive dla węzłów OpenStack i potrafi ustawić złożoną konfigurację sieciową, taką jak bonding, vlany i mostki na dystrybucjach opartych na Debianie i RedHat. Należy pamiętać, że obrazy muszą mieć wsparcie dla tych funkcji (moduły jądra, pakiety itp.). To narzędzie tylko tworzy pliki konfiguracyjne, które będą wstrzykiwane do hosta podczas uruchamiania za pomocą Cloud-Init.

Ten playbook ma być wykonywany przed wdrożeniem węzłów za pomocą Ironic. Tworzy podstawowy config-drive zawierający konfigurację sieciową, klucz SSH umożliwiający użytkownikowi logowanie się do hosta oraz inne pliki, takie jak /etc/hosts lub /etc/resolv.conf. Może również zawierać plik user_data https://help.ubuntu.com/community/CloudInit

Ansible 2.0, działa z Ubuntu Trusty, Xenial i Centos 7

Wymagania

Nie instaluje pakietów na docelowym hoście, jedynie tworzy foldery i pliki potrzebne do utworzenia objętości config-drive. Dlatego należy pamiętać, że prawdopodobnie trzeba będzie zainstalować genisoimage, base64 i gzip.

Konfiguracja

Parametry roli

# Powinieneś nadpisać te zmienne roli!
# To wygeneruje konfigurację sieciową w 
# oparciu o rodzinę!
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/"

# Dodatkowe metadane
configdrive_meta: {}

# Ścieżka do pliku klucza publicznego SSH
configdrive_ssh_public_key_path:
# Ścieżka do pliku cloud-config
configdrive_config_user_data_path:

# Automatycznie przypisane z uuid
#configdrive_instance_dir:
# Usuń folder instancji po utworzeniu
configdrive_config_dir_delete: False

# Uzupełnij plik /etc/resolv.conf
#configdrive_resolv:
#    domain: "example.com"
#    search: "hola.example.com"
#    dns: ['8.8.8.8']

# Uzupełnij plik /etc/hosts
#configdrive_hosts:
#  - ['127.0.1.1', 'host1.domain.com']
#  - ['127.0.1.2', 'host3.domain.com']

# Lista definicji urządzeń
#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"]

Użycie

Zobacz plik site.yml i wpisz vagrant up, wejdź do folderu /tmp/configdrive wewnątrz maszyny wirtualnej vagrant, a zobaczysz skompresowaną objętość iso i całą strukturę folderów/plików zawartą w niej.

Autor i informacje o licencji

Copyright 2019 Jose Riguera Lopez

Licencjonowane na mocy Apache License, Version 2.0 ( "Licencja"); nie możesz używać tego pliku, chyba że jest to zgodne z Licencją. Możesz uzyskać kopię Licencji pod adresem:

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

Chyba że wymagają tego obowiązujące przepisy prawa lub uzgodnione na piśmie, oprogramowanie dystrybuowane na mocy Licencji jest dystrybuowane na zasadzie "TAK JEST", BEZ GWARANCJI ANI WARUNKÓW JAKIEGOKOLWIEK RODZAJU, wyraźnych lub domniemanych. Zobacz Licencję, aby uzyskać konkretne informacje dotyczące uprawnień i ograniczeń związanych z Licencją.

O projekcie

Creates a configdrive for OpenStack

Zainstaluj
ansible-galaxy install jriguera.configdrive
Licencja
apache-2.0
Pobrania
229.7k