Contents
VMwareのリポジトリにNSX-TのAnsibleモジュールが用意されています。
NSX-T3.0用のブランチっぽいのがあったので、ここではNSX-TのAnsibleモジュールを実行できる環境を準備してみます。
Ansible NSX-Tモジュール
環境
項目 | バージョン |
---|---|
Python | 3.6.8 |
Ansible | 2.9.7 |
環境の準備
virtualenv環境を準備
ここでは、venv環境を準備しています。
1 2 3 4 |
[root@localhost nsxt]# python3 -m venv venv [root@localhost nsxt]# . venv/bin/activate (venv) [root@localhost nsxt]# |
必要なパッケージのインストール
動作させるために必要なパッケージ類をインストールします。
1 2 |
(venv) [root@localhost nsxt]# pip install ansible pyvmomi pyvim requests |
リポジトリのクローン
NSX-T3.0のAnsibleモジュールリポジトリをクローンしてv3.0.0のブランチにチェックアウトします。
1 2 3 4 5 6 |
(venv) [root@localhost nsxt]# git clone https://github.com/vmware/ansible-for-nsxt.git (venv) [root@localhost nsxt]# cd ansible-for-nsxt/ (venv) [root@localhost ansible-for-nsxt]# git checkout -b v3.0.0 remotes/origin/v3.0.0 Branch v3.0.0 set up to track remote branch v3.0.0 from origin. Switched to a new branch 'v3.0.0' |
これで、準備は整ったので接続確認をしてみます。
動作確認用Playbook
動作確認として、NSX Managerの状態確認をしてみます。
次のPlaybookを作成してください。
1 2 |
(venv) [root@localhost ansible-for-nsxt]# vi test.yml |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
--- - name: nsxt test playbook hosts: localhost gather_facts: no vars: nsxt_manager: nsxt-manager nsxt_username: admin nsxt_password: secret tasks: - name: get manager status information nsxt_manager_status: hostname: "{{ nsxt_manager }}" username: "{{ nsxt_username }}" password: "{{ nsxt_password }}" validate_certs: false wait_time: 50 register: manager_status_result - debug: var=manager_status_result |
実行します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
(venv) [root@localhost ansible-for-nsxt]# ansible-playbook test.yml [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all' PLAY [nsxt test playbook] ************************************************************************************************************************************************* TASK [get manager status information] ************************************************************************************************************************************* ok: [localhost] TASK [debug] ************************************************************************************************************************************************************** ok: [localhost] => { "manager_status_result": { "changed": false, "failed": false, "msg": " NSX manager is UP" } } PLAY RECAP **************************************************************************************************************************************************************** localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 |
動きました 🙂