nebulon_manage_volumes

Ansible Роль: Управление объемами Nebulon

Управляет объемами для nPods Nebulon.

Требования

  • NebPyClient 2.0.8+
  • Модуль Ansible Nebulon 1.4.0+

Переменные Роли

Переменные определены в файле defaults/main.yml. В этом примере серийные номера SPU также хранятся в хранилище Ansible vault.

# Состояние для всех объемов (present|absent)
volume_state: present

# Укажите метод экспорта LUN (не влияет на основной объем)
# (present|all) -> Все серверы nPod могут получить доступ к экспорту
# (host) -> Сделать экспорт доступным для одного хоста. Требуется host_uuid
# (local) -> Сделать экспорт доступным только для локального хоста, который владеет объемом
# (absent) -> Удалить экспорт объема
export_type: local

# Имя nPod для управления объемами/экспортами
npod_name: "K8s_Lenovo"

host_uuid:

# Список объемов для управления (создание или удаление)
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 }}"

Зависимости

Нет.

Пример плейбука

# ===========================================================================
# Управление объемами Nebulon
# ===========================================================================

# Пример запуска:
# ansible-playbook -i inventory/lenovo.yml playbooks/ansible-playbook-nebulon-volume/manage_nebulon_volumes.yml

- name: Управление объемами Nebulon
  hosts: localhost
  connection: local
  tags: play_neb_vols
  gather_facts: false

  # module_defaults требует nebulon.nebulon_on версии 1.2.1 или позднее
  module_defaults:
    group/nebulon.nebulon_on.nebulon:
      neb_username: "{{ vault_neb_username }}"
      neb_password: "{{ vault_neb_password }}"

  vars_files:
    # Хранилище Ansible с всеми необходимыми паролями
    - "../../credentials.yml"
    # Хранилище Ansible с серийными номерами серверов и SPU
    - "../../serials.yml"

  roles:
    - { role: jedimt.nebulon_manage_volumes }

Лицензия

MIT

Информация об авторе

Аарон Паттен
aaronpatten@gmail.com

О проекте

Manage Nebulon volumes

Установить
ansible-galaxy install jedimt/ansible-role-nebulon_manage_volumes
Лицензия
mit
Загрузки
79
Владелец