jedimt.nebulon_manage_volumes

Ansible Rolle: Nebulon Volumes verwalten

Verwaltet Volumes für Nebulon nPods.

Anforderungen

  • NebPyClient 2.0.8+
  • Nebulon Ansible Modul 1.4.0+

Rollenvariablen

Variablen sind in der Datei defaults/main.yml definiert. In diesem Beispiel sind die SPU-Seriennummern ebenfalls in einem Ansible-Vault gespeichert.

# Zustand für alle Volumes (present|absent)
volume_state: present

# Exportmethode für LUN angeben (beeinflusst nicht das zugrunde liegende Volume)
# (present|all) -> Alle nPod-Server können auf den Export zugreifen
# (host) -> Export nur für einen einzelnen Host verfügbar. Erfordert host_uuid
# (local) -> Export nur für den lokalen Host, der das Volume besitzt
# (absent) -> Volume-Export entfernen
export_type: local

# nPod-Namen, der zur Verwaltung von Volumes/Exports verwendet wird
npod_name: "K8s_Lenovo"

host_uuid:

# Liste der zu verwaltenden Volumes (erstellen oder entfernen)
volumes:
  - name: "server-10-local-kadalu"
    size: 1000000000000
    mirrored: true
    owner_spu_serial: "{{ server-10-spu-serial }}"
    backup_spu_serial: "{{ server-09-spu-serial }}"
    state: "{{ volume_state }}"

  - name: "server-11-local-kadalu"
    size: 1000000000000
    mirrored: true
    owner_spu_serial: "{{ server-11-spu-serial }}"
    backup_spu_serial: "{{server-12-spu-serial }}"
    state: "{{ volume_state }}"

  - name: "server-12-local-kadalu"
    size: 1000000000000
    mirrored: true
    owner_spu_serial: "{{server-12-spu-serial }}"
    backup_spu_serial: "{{ server-11-spu-serial }}"
    state: "{{ volume_state }}"

Abhängigkeiten

Keine.

Beispiel-Playbook

# ===========================================================================
# Nebulon Volumes verwalten
# ===========================================================================

# Beispielaufruf:
# ansible-playbook -i inventory/lenovo.yml playbooks/ansible-playbook-nebulon-volume/manage_nebulon_volumes.yml

- name: Nebulon Volumes verwalten
  hosts: localhost
  connection: local
  tags: play_neb_vols
  gather_facts: false

  # module_defaults benötigt nebulon.nebulon_on Version 1.2.1 oder höher
  module_defaults:
    group/nebulon.nebulon_on.nebulon:
      neb_username: "{{ vault_neb_username }}"
      neb_password: "{{ vault_neb_password }}"

  vars_files:
    # Ansible Vault mit allen erforderlichen Passwörtern
    - "../../credentials.yml"
    # Ansible Vault mit Server- und SPU-Seriennummern
    - "../../serials.yml"

  roles:
    - { role: jedimt.nebulon_manage_volumes }

Lizenz

MIT

Autor Informationen

Aaron Patten
aaronpatten@gmail.com

Über das Projekt

Manage Nebulon volumes

Installieren
ansible-galaxy install jedimt.nebulon_manage_volumes
GitHub Repository
Lizenz
mit
Downloads
89
Besitzer