jedimt.nebulon_manage_volumes

Rôle Ansible : Gérer les Volumes Nebulon

Gère les volumes pour les nPods Nebulon.

Pré-requis

  • NebPyClient 2.0.8+
  • Module Ansible Nebulon 1.4.0+

Variables du Rôle

Les variables sont définies dans le fichier defaults/main.yml. Dans cet exemple, les numéros de série des SPU sont également stockés dans un coffre-fort Ansible.

# État de tous les volumes (présent|absent)
volume_state: présent

# Méthode d'exportation LUN à spécifier (n'affecte pas le volume sous-jacent)
# (présent|tous) -> Tous les serveurs nPod peuvent accéder à l'exportation
# (hôte) -> Rendre l'exportation accessible à un seul hôte. Nécessite host_uuid
# (local) -> Rendre l'exportation disponible uniquement à l'hôte local qui possède le volume
# (absent) -> Supprimer l'exportation du volume
export_type: local

# Nom du nPod à utiliser lors de la gestion des volumes/exportations
npod_name: "K8s_Lenovo"

host_uuid:

# Liste des volumes à gérer (créer ou supprimer)
volumes:
  - name: "serveur-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: "serveur-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: "serveur-12-local-kadalu"
    size: 1000000000000
    mirrored: true
    owner_spu_serial: "{{server-12-spu-serial }}"
    backup_spu_serial: "{{ server-11-spu-serial }}"
    state: "{{ volume_state }}"

Dépendances

Aucune.

Exemple de Playbook

# ===========================================================================
# Gérer les Volumes Nebulon
# ===========================================================================

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

- name: Gérer les Volumes Nebulon
  hosts: localhost
  connection: local
  tags: play_neb_vols
  gather_facts: false

  # module_defaults nécessite nebulon.nebulon_on version 1.2.1 ou plus récente
  module_defaults:
    group/nebulon.nebulon_on.nebulon:
      neb_username: "{{ vault_neb_username }}"
      neb_password: "{{ vault_neb_password }}"

  vars_files:
    # Coffre-fort Ansible avec tous les mots de passe requis
    - "../../credentials.yml"
    # Coffre-fort Ansible avec les serveurs et numéros de série des SPU
    - "../../serials.yml"

  roles:
    - { role: jedimt.nebulon_manage_volumes }

Licence

MIT

Informations sur l'Auteur

Aaron Patten
aaronpatten@gmail.com

À propos du projet

Manage Nebulon volumes

Installer
ansible-galaxy install jedimt.nebulon_manage_volumes
Licence
mit
Téléchargements
89
Propriétaire