jedimt.nebulon_manage_volumes
Ansibleロール: Nebulonボリューム管理
Nebulon nPodのボリュームを管理します。
要件
- NebPyClient 2.0.8以上
- Nebulon Ansibleモジュール 1.4.0以上
ロール変数
変数はdefaults/main.ymlファイルで定義されています。この例では、SPUのシリアル番号もansibleボールトに保存されます。
# すべてのボリュームの状態 (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 }}"
依存関係
なし
例 Playbook
# ===========================================================================
# 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"
# サーバーとSPUシリアルを含むAnsibleボールト
- "../../serials.yml"
roles:
- { role: jedimt.nebulon_manage_volumes }
ライセンス
MIT
著者情報
アーロン・パッテン
aaronpatten@gmail.com