jedimt.nebulon_manage_volumes

Ansible 角色:管理 Nebulon 卷

管理 Nebulon nPods 的卷。

要求

  • NebPyClient 2.0.8 及以上
  • Nebulon Ansible 模块 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 vault
    - "../../credentials.yml"
    # 包含服务器和 SPU 序列号的 Ansible vault
    - "../../serials.yml"

  roles:
    - { role: jedimt.nebulon_manage_volumes }

许可证

MIT

作者信息

Aaron Patten aaronpatten@gmail.com

关于项目

Manage Nebulon volumes

安装
ansible-galaxy install jedimt.nebulon_manage_volumes
许可证
mit
下载
89
拥有者