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ą.
ansible-galaxy install jriguera.configdrive