jriguera.configdrive
ansible-role-configdrive
Dieser Repo wird derzeit nicht aktiv gewartet. Ich empfehle, das von David Blaisonneau gepflegte Fork zu verwenden: https://gitlab.com/davidblaisonneau-orange/ansible-role-configdrive
Ansible-Rolle zur Erstellung von Config-Drives für OpenStack Ironic. Sie erstellt OpenStack Config-Drive-Daten für Knoten und kann komplexe Netzwerk-Konfigurationen wie Bonding, VLANs und Bridges auf Debian- und RedHat-basierten Distributionen einrichten. Beachten Sie, dass die Images Unterstützung für diese Funktionen haben müssen (Kernel-Module, Pakete, ...). Dieses Tool erstellt lediglich die Konfigurationsdateien, die beim Booten mithilfe von Cloud-Init in den Host injiziert werden.
Dieses Playbook ist dazu gedacht, vor den Bereitstellungen
der Knoten über Ironic ausgeführt zu werden. Es erstellt einen
Grundkonfigurations-Drive, der die Netzwerk-Konfiguration,
einen SSH-Schlüssel zur Anmeldung am Host und andere
Dateien wie /etc/hosts
oder /etc/resolv.conf
enthält. Außerdem
kann es die user_data-Datei einfügen: https://help.ubuntu.com/community/CloudInit
Ansible 2.0, funktioniert mit Ubuntu Trusty, Xenial und CentOS 7.
Anforderungen
Es installiert keine Pakete auf dem Zielhost, sondern erstellt lediglich
die benötigten Ordner und Dateien, um ein Config-Drive-Volume zu
erstellen. Seien Sie sich also bewusst, dass Sie wahrscheinlich
genisoimage
, base64
und gzip
installieren müssen.
Konfiguration
Rollenparameter
# Diese Rollenvariablen sollten überschrieben werden!
# Es wird die Netzwerk-Konfiguration basierend
# auf der Familie generiert!
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/"
# Zusätzliche Metadaten
configdrive_meta: {}
# Pfad zur SSH-Öffentlichen Schlüsseldatei
configdrive_ssh_public_key_path:
# Pfad zur Cloud-Config-Datei
configdrive_config_user_data_path:
# Automatisch mit UUID zugewiesen
#configdrive_instance_dir:
# Löschen Sie den Instanz-Ordner nach der Erstellung
configdrive_config_dir_delete: False
# /etc/resolv.conf ausfüllen
#configdrive_resolv:
# domain: "example.com"
# search: "hola.example.com"
# dns: ['8.8.8.8']
# /etc/hosts ausfüllen
#configdrive_hosts:
# - ['127.0.1.1', 'host1.domain.com']
# - ['127.0.1.2', 'host3.domain.com']
# Definitionsliste von Geräten
#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"]
Benutzung
Schauen Sie sich die site.yml
an und tippen Sie vagrant up
, gehen Sie zum Ordner
/tmp/configdrive
innerhalb der Vagrant-VM und Sie werden das komprimierte
ISO-Volume und die gesamte Ordner-/Dateistruktur, die darin enthalten ist, sehen.
Autor und Lizenzinformation
Copyright 2019 Jose Riguera Lopez
Lizenziert unter der Apache-Lizenz, Version 2.0 (die „Lizenz“); Sie dürfen diese Datei nicht verwenden, es sei denn, Sie erfüllen die Anforderungen der Lizenz. Sie können eine Kopie der Lizenz unter
http://www.apache.org/licenses/LICENSE-2.0
erhalten.
Sofern nicht gesetzlich erforderlich oder schriftlich vereinbart, wird die unter der Lizenz verbreitete Software auf einer „WIE BESEHEN“ BASIS ohne Gewährleistungen oder Bedingungen jeglicher Art bereitgestellt, weder ausdrücklich noch implizit. Siehe die Lizenz für die spezifischen Bestimmungen zu Berechtigungen und Einschränkungen gemäß der Lizenz.
ansible-galaxy install jriguera.configdrive