jriguera.configdrive

ansible-role-configdrive

Actuellement, ce dépôt n'est pas activement maintenu. Je vous suggère d'utiliser le fork maintenu par David Blaisonneau : https://gitlab.com/davidblaisonneau-orange/ansible-role-configdrive


Rôle Ansible pour créer des config-drives pour OpenStack Ironic. Il crée les données des config-drives pour OpenStack et peut configurer un réseau complexe avec des agrégations, des VLANs et des ponts sur des distributions basées sur Debian et RedHat. Notez que les images doivent prendre en charge ces fonctionnalités (modules du noyau, paquets, ...). Cet outil crée simplement les fichiers de configuration qui seront injectés dans l'hôte au moment du démarrage en utilisant Cloud-Init.

Ce playbook est destiné à être exécuté avant le déploiement des nœuds via Ironic. Il crée un drive de configuration de base contenant la configuration réseau, une clé SSH permettant à l'utilisateur de se connecter à l'hôte, et d'autres fichiers comme /etc/hosts ou /etc/resolv.conf. De plus, il peut inclure un fichier user_data https://help.ubuntu.com/community/CloudInit.

Ansible 2.0, fonctionne avec Ubuntu Trusty, Xenial et Centos 7.

Exigences

Il n'installe pas de paquets sur l'hôte cible, il crée simplement les dossiers et fichiers nécessaires pour créer un volume de config-drive. Donc, sachez que vous devrez probablement installer genisoimage, base64 et gzip.

Configuration

Paramètres du rôle

# Vous devez remplacer ces variables de rôle !
# Cela générera la configuration réseau basée
# sur la famille !
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/"

# Métadonnées supplémentaires
configdrive_meta: {}

# Chemin vers le fichier de la clé SSH publique
configdrive_ssh_public_key_path:
# Chemin vers le fichier cloud-config
configdrive_config_user_data_path:

# Assigné automatiquement avec uuid
#configdrive_instance_dir:
# Supprimer le dossier de l'instance après sa création
configdrive_config_dir_delete: False

# Remplir le /etc/resolv.conf
#configdrive_resolv:
#    domain: "example.com"
#    search: "hola.example.com"
#    dns: ['8.8.8.8']

# Remplir le /etc/hosts
#configdrive_hosts:
#  - ['127.0.1.1', 'host1.domain.com']
#  - ['127.0.1.2', 'host3.domain.com']

# Liste de définition des périphériques
#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"]

Utilisation

Regardez le site.yml et tapez vagrant up, allez dans le dossier /tmp/configdrive à l'intérieur de la VM vagrant et vous verrez le volume iso compressé et toute la structure de dossiers/fichiers qui y est incluse.

Auteur et Informations sur la Licence

Copyright 2019 Jose Riguera Lopez

Licencié sous la Licence Apache, Version 2.0 (la "Licence"); vous ne pouvez pas utiliser ce fichier sauf en conformité avec la Licence. Vous pouvez obtenir une copie de la Licence à l'adresse suivante :

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

Sauf si la loi applicable l'exige ou que cela soit convenu par écrit, le logiciel distribué sous la Licence est distribué "EN L'ÉTAT", SANS GARANTIES OU CONDITIONS D'AUCUNE SORTE, explicites ou implicites. Voir la Licence pour la langue spécifique régissant les permissions et limitations en vertu de la Licence.

À propos du projet

Creates a configdrive for OpenStack

Installer
ansible-galaxy install jriguera.configdrive
Licence
apache-2.0
Téléchargements
229.7k
Propriétaire