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.

Über das Projekt

Creates a configdrive for OpenStack

Installieren
ansible-galaxy install jriguera.configdrive
GitHub Repository
Lizenz
apache-2.0
Downloads
229.7k