stafwag.cloud_localds

Rôle Ansible : cloud_localds

Un rôle Ansible pour créer des images de disque de configuration cloud-init. Ce rôle est un wrapper autour de la commande cloud-localds.

Exigences

cloud-localds

Distributions GNU/Linux supportées

Cela devrait fonctionner sur la plupart des distributions GNU/Linux. cloud-localds est requis. cloud-localds était disponible sur Centos/RedHat 7 mais pas sur Redhat 8. Vous devrez l'installer manuellement pour utiliser le rôle sur Centos/RedHat 8.

  • Archlinux
  • Debian
  • Centos 7
  • RedHat 7
  • Ubuntu

Tâches, étiquettes, variables et modèles du rôle

Tâches

  • installer

    Toutes les tâches liées à l'installation sont définies dans le playbook install. Cela vous permet d'installer les paquets requis et de démarrer/activer le service nécessaire avec tasks_from dans le module include_role, import_role, etc.

    Voir l'exemple ci-dessous.

Étiquettes

  • installer

    Installer les paquets requis.

Variables liées au playbook

  • cloud_localds : "espace de noms"
    • dest : L'image de destination
    • hostname : Le nom d'hôte
    • dir : optionnel par défaut : /var/lib/libvirt/images. Le répertoire de destination lorsque dest n'est pas défini.
    • config : La configuration de données utilisateur
    • network_config : La configuration réseau
    • config_template : Utiliser un modèle Ansible pour la configuration de données utilisateur.
    • network_config_template : Utiliser un modèle Ansible pour la configuration réseau.
    • owner : uid par défaut 0 Le propriétaire du fichier de l'image de destination
    • group : gid par défaut 0 Le groupe propriétaire du fichier de l'image de destination
    • mode : mode par défaut '0400' Les permissions de l'image de destination
    • overwrite : booléen par défaut : false Écraser l'iso de destination si elle existe déjà.

Le rôle crée une image disque iso avec la configuration cloud-init. Lorsque cloud_localds.dest est défini, les fichiers suivants sont créés :

  • {{ cloud_localds.dest }}_config.yml les données utilisateur cloud-init
  • {{ cloud_localds.dest }}_net_config.yml la configuration réseau cloud-init ( si network_config est défini)
  • {{ cloud_localds.dest }} l'image iso avec la configuration cloud-init.

Lorsque cloud_localds.dest n'est pas défini, cloud_localds.hostname doit être défini. Dans ce cas, les fichiers suivants seront créés :

  • {{ cloud_localds.dir }}/{{ cloud_localds.hostname }}_config.yml les données utilisateur cloud-init
  • {{ cloud_localds.dir }}/{{ cloud_localds.hostname }}_net_config.yml la configuration réseau cloud-init ( si network_config est défini)
  • {{ cloud_localds.dir }}/{{ cloud_localds.hostname }}_cloud-init.iso : l'image iso avec la configuration cloud-init.

Exemples de Playbooks

Installer le paquet cloud-localds avec include_role

---
- nom : Installer libvirt & co
  collecter_faits : vrai 
  hôtes : tous
  devenir : vrai
  tâches :
    - nom : Installer les exigences
      include_role:
        name: "{{ item }}"
        tasks_from:
          install
      with_items:
        - stafwag.libvirt 
        - stafwag.qemu_img
        - stafwag.cloud_localds
      étiquettes :
        - installer

Créer un iso cloud-init avec dest défini

- nom : Créer config.iso
  collecter_faits : non 
  devenir : vrai
  hôtes : localhost
  rôles :
    - rôle : stafwag.cloud_localds
      vars:
        cloud_localds:
          dest: /var/lib/libvirt/images/tstdebian_cloudinit.iso
          config: "{{ lookup('template','files/mytstdebian.j2') }}"
          network_config: "{{ lookup('template','files/mytstdebian.j2') }}"

Créer un iso cloud-init avec le nom d'hôte défini

---
- nom : Créer config.iso
  collecter_faits : non 
  devenir : vrai
  hôtes : localhost
  rôles :
    - rôle : stafwag.cloud_localds
      vars:
        cloud_localds:
          hostname: tstdebian 
          config: "{{ lookup('template','files/mytstdebian.j2') }}"
          network_config: "{{ lookup('template','files/mytstdebian.j2') }}"

Utiliser des modèles ansible

---
- nom : Créer config.iso
  collecter_faits : vrai 
  devenir : vrai
  hôtes : localhost
  rôles :
    - rôle : stafwag.cloud_localds
      vars:
        cloud_localds:
          hostname: tstdebian 
          config_template: "files/debian/debian.j2"
          network_config_template: "files/debian/debian.j2"

Licence

MIT/BSD

Informations sur l'auteur

Créé par Staf Wagemakers, email : staf@wagemakers.be, site web : http://www.wagemakers.be.

À propos du projet

An ansible role to create cloud-init config disk images.

Installer
ansible-galaxy install stafwag.cloud_localds
Licence
mit
Téléchargements
547
Propriétaire