stafwag.cloud_localds

Rola Ansible: cloud_localds

Rola Ansible do tworzenia obrazów dysków konfiguracyjnych dla cloud-init. Ta rola jest opakowaniem dla polecenia cloud-localds.

Wymagania

cloud-localds

Obsługiwane dystrybucje GNU/Linux

Powinna działać na większości dystrybucji GNU/Linux. cloud-localds jest wymagane. Było dostępne na Centos/RedHat 7, ale nie na RedHat 8. Będziesz musiał zainstalować je ręcznie, aby użyć roli na Centos/RedHat 8.

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

Zadania roli, tagi, zmienne i szablony

Zadania

  • instalacja

    Wszystkie zadania związane z instalacją są zdefiniowane w playbooku install. Umożliwia to zainstalowanie wymaganych pakietów oraz uruchomienie/włączenie wymaganego serwisu przy użyciu tasks_from w module include_role, import_role, itd.

    Zobacz przykład poniżej.

Tagi

  • instalacja

    Zainstaluj wymagane pakiety.

Zmienne związane z playbookiem

  • cloud_localds: "namespace"
    • dest: Obraz docelowy
    • hostname: Nazwa hosta
    • dir: opcjonalne, domyślnie: /var/lib/libvirt/images. Katalog docelowy, gdy dest nie jest zdefiniowane.
    • config: Konfiguracja danych użytkownika
    • network_config: Konfiguracja sieci
    • config_template: Użyj szablonu Ansible do konfiguracji danych użytkownika.
    • network_config_template: Użyj szablonu Ansible do konfiguracji sieci.
    • owner: uid, domyślnie 0. Właściciel pliku obrazu docelowego.
    • group: gid, domyślnie 0. Właściciel grupy pliku obrazu docelowego.
    • mode: tryb, domyślnie '0400'. Uprawnienia obrazu docelowego.
    • overwrite: boolean, domyślnie: false. Zapisz obraz docelowy, jeśli już istnieje.

Rola tworzy obraz iso z konfiguracją cloud-init. Gdy cloud_localds.dest jest zdefiniowane, tworzone są następujące pliki:

  • {{ cloud_localds.dest }}_config.yml - dane użytkownika cloud-init
  • {{ cloud_localds.dest }}_net_config.yml - konfiguracja sieci cloud-init (jeśli network_config jest zdefiniowana)
  • {{ cloud_localds.dest }} - obraz iso z konfiguracją cloud-init.

Gdy cloud_localds.dest nie jest zdefiniowane, musi być zdefiniowane cloud_localds.hostname. W tym przypadku tworzone są następujące pliki:

  • {{ cloud_localds.dir }}/{{ cloud_localdds.hostname }}_config.yml - dane użytkownika cloud-init
  • {{ cloud_localds.dir }}/{{ cloud_localdds.hostname }}_net_config.yml - konfiguracja sieci cloud-init (jeśli network_config jest zdefiniowana)
  • {{ cloud_localds.dir }}/{{ cloud_localdds.hostname }}_cloud-init.iso - obraz iso z konfiguracją cloud-init.

Przykłady Playbooków

Zainstaluj pakiet cloud-localds z użyciem include_role

---
- name: Instalacja libvirt i innych
  gather_facts: true 
  hosts: all
  become: true
  tasks:
    - name: Instalacja wymagań
      include_role:
        name: "{{ item }}"
        tasks_from:
          install
      with_items:
        - stafwag.libvirt 
        - stafwag.qemu_img
        - stafwag.cloud_localds
      tags:
        - instalacja

Utwórz iso cloud-init z zdefiniowanym dest

- name: Utwórz config.iso
  gather_facts: no 
  become: true
  hosts: localhost
  roles:
    - role: 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') }}"

Utwórz iso cloud-init z zdefiniowaną nazwą hosta

---
- name: Utwórz config.iso
  gather_facts: no 
  become: true
  hosts: localhost
  roles:
    - role: stafwag.cloud_localds
      vars:
        cloud_localds:
          hostname: tstdebian 
          config: "{{ lookup('template','files/mytstdebian.j2') }}"
          network_config: "{{ lookup('template','files/mytstdebian.j2') }}"

Użyj szablonów ansible

---
- name: Utwórz config.iso
  gather_facts: true 
  become: true
  hosts: localhost
  roles:
    - role: stafwag.cloud_localds
      vars:
        cloud_localds:
          hostname: tstdebian 
          config_template: "files/debian/debian.j2"
          network_config_template: "files/debian/debian.j2"

Licencja

MIT/BSD

Informacje o autorze

Utworzone przez Stafa Wagemakersa, e-mail: staf@wagemakers.be, strona internetowa: http://www.wagemakers.be.

O projekcie

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

Zainstaluj
ansible-galaxy install stafwag.cloud_localds
Licencja
mit
Pobrania
547
Właściciel