jedimt.nebulon_manage_volumes

Rol de Ansible: Nebulon Gestionar Volúmenes

Gestiona los volúmenes para los nPods de Nebulon.

Requisitos

  • NebPyClient 2.0.8+
  • Módulo de Ansible de Nebulon 1.4.0+

Variables del Rol

Las variables se definen en el archivo defaults/main.yml. En este ejemplo, los números de serie de SPU se almacenan en un vault de Ansible también.

# Estado de todos los volúmenes (present|absent)
volume_state: present

# Especificar el método de exportación de LUN (no afecta al volumen subyacente)
# (present|all) -> Todos los servidores nPod pueden acceder a la exportación
# (host) -> Hacer la exportación disponible para un único host. Requiere host_uuid
# (local) -> Hacer la exportación disponible solo para el host local que posee el volumen
# (absent) -> Eliminar la exportación del volumen
export_type: local

# Nombre del nPod a usar al gestionar volúmenes/exportaciones
npod_name: "K8s_Lenovo"

host_uuid:

# Lista de volúmenes a gestionar (crear o eliminar)
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 }}"

Dependencias

Ninguna.

Ejemplo de Playbook

# ===========================================================================
# Gestionar Volúmenes Nebulon
# ===========================================================================

# Ejemplo de invocación:
# ansible-playbook -i inventory/lenovo.yml playbooks/ansible-playbook-nebulon-volume/manage_nebulon_volumes.yml

- name: Gestionar Volúmenes Nebulon
  hosts: localhost
  connection: local
  tags: play_neb_vols
  gather_facts: false

  # module_defaults requiere nebulon.nebulon_on versión 1.2.1 o posterior
  module_defaults:
    group/nebulon.nebulon_on.nebulon:
      neb_username: "{{ vault_neb_username }}"
      neb_password: "{{ vault_neb_password }}"

  vars_files:
    # Vault de Ansible con todas las contraseñas necesarias
    - "../../credentials.yml"
    # Vault de Ansible con números de serie de servidor y SPU
    - "../../serials.yml"

  roles:
    - { role: jedimt.nebulon_manage_volumes }

Licencia

MIT

Información del Autor

Aaron Patten aaronpatten@gmail.com

Acerca del proyecto

Manage Nebulon volumes

Instalar
ansible-galaxy install jedimt.nebulon_manage_volumes
Licencia
mit
Descargas
89
Propietario