Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Molecule VMware Driverの紹介
sky_joker
January 20, 2021
Technology
0
390
Molecule VMware Driverの紹介
sky_joker
January 20, 2021
Tweet
Share
More Decks by sky_joker
See All by sky_joker
sky_joker
4
640
sky_joker
3
1.6k
sky_joker
9
1.6k
sky_joker
5
1.1k
sky_joker
1
1.5k
sky_joker
2
430
sky_joker
4
1.6k
sky_joker
4
1.3k
Other Decks in Technology
See All in Technology
koukyo1994
3
560
kaniza
0
120
900groove
2
560
pakio
0
140
110y
2
11k
udonyuya
1
580
kahara33
0
130
akitok_
2
800
dena_tech
0
200
shirayanagiryuji
1
280
mahito
0
270
hololab
0
260
Featured
See All Featured
eileencodes
113
25k
paulrobertlloyd
71
3.6k
maggiecrowley
10
510
akmur
252
19k
davidbonilla
70
3.6k
chriscoyier
498
130k
danielanewman
200
20k
michaelherold
225
8.5k
chriscoyier
779
240k
malarkey
392
61k
rmw
11
820
jrom
116
7.2k
Transcript
www.goodpello.com Molecule VMware Driver の紹介 VMware DevOps Meetup #7
今日話す事 01. Moleculeについて 02. Molecule VMware Driverの紹介 03. Molecule VMware
Driverの使い方(デモ) 04. まとめ
自己紹介 3 --- - 名前: 大嶋 健容 Twitter: @sky_jokerxx GitHub:
sky-joker 所属: Red Hat K.K. 仕事: コンサルタント コントリビュート: ansible: collaborator: - VMware - Zabbix 浸かってる沼: - 小型PCクラスタ構築 @sky_jokerxx 得意: - ansible - VMware(vSphere, NSX) - vSphere/NSX APIを使った開発 - OSSとVMwareの組み合わせ 興味: - 自動化 - コンテナ(k8s, OpenShift) - CICD 趣味: - 自宅ラックで検証 - Ansibleモジュール開発 ナナチスキ
4 Moleculeについて Moleculeとは ▸ AnsibleのRoleをテストするフレームワーク ▸ テストの環境準備からテストの実行(Roleの実行、結 果の評価)および環境破棄までの処理を自動で実施 ▸ テストの環境準備・破棄に必要なドライバは、
vagrant/OpenStack/azure/gce/ec2などがある ▸ テストごとのシナリオを作成することで、テストパ ターンを複数用意することが可能
Moleculeが出来ること 5 テスト環境の準備 セットアップ 結果検証 テスト環境の破棄 vCenterログイン VMクローンなど ホスト名設定 NW設定
ツールインストール など 実行結果検証 正しく設定が 入ってるかなど 手動で実施する場合 VM削除 vCenterログアウト Moleculeを使用した場合 テスト環境の準備 セットアップ テスト環境の破棄 一連の作業が自動化可能 テスト実行 Playbook/Role実行 など 結果検証 テスト実行
VMwareサポートパッチはクローズに 6 その前にPR見とこう 作るぞ!! あるやん! コメントを読み進めると 既にドライバーが沢山あるし、ほとんどの人は VagrantやDockerで済むし 需要あるか分からない コメント
ちーん
delegatedドライバで代替できるが 7 ▸ delegatedドライバを使うことでドライバに対応していない環境でもMolecule を使う事が可能 delegateドライバを使用する場合は、以下の処理を自作する必要がある ▸ テストインスタンスを構築する処理 ▸ 作成したテストインスタンスへ接続するためのインベントリ情報の生成
▸ テスト実行後にテストインスタンスを破棄する処理
VMware Driverを作ってみた 8 https://github.com/sky-joker/molecule-vmware
VMware Driverインストール方法 9 $ pip install molecule-vmware ansible pyvmomi ▸
pipでインストール • pypi https://pypi.org/project/molecule-vmware/ • GitHub https://github.com/sky-joker/molecule-vmware
VMware Driver使い方 10 $ molecule init role {ROLE_NAME} -d vmware
▸ Roleとシナリオを新規に作成 $ cd {ROLE_DIR} $ molecule init scenario -d vmware ▸ 既存のRoleにシナリオを新規に作成
VMware Driver使い方 11 $ ls -l {ROLE_DIR}/molecule/default/ | awk '{print
$9}' | sed -e "/^ *$/d" | cat -n 1 converge.yml 2 create_linux_instance.yml 3 create_windows_instance.yml 4 create.yml 5 destroy.yml 6 INSTALL.rst 7 molecule.yml 8 verify.yml ▸ シナリオディレクトリの中身 番号 説明 1 テストインスタンスへRoleを実行するPlaybook 2 Linuxのインスタンスを作成するときに実行するPlaybook 3 Windowsのインスタンスを作成するときに実行するPlaybook 4 インスタンスを作成するPlaybook(2, 3はこのPlaybookから呼ばれる) 5 インスタンスを削除するplaybook 6 インストールドキュメント 7 Moleculeの設定 8 converge実行後に状態が想定通りになっているか?を確認する処理を書くPlaybook
12 VMware Driver使い方 --- dependency: name: galaxy driver: name: vmware
# 1 vcenter_hostname: vcsa.local vcenter_username: administrator@vsphere.local vcenter_password: secret validate_certs: false datacenter: DC cluster: Cluster folder: /vm vm_username: root vm_password: secret instance_os_type: linux # 5 platforms: - name: instance template: CentOS7_TMP hardware: num_cpus: 2 memory_mb: 2048 networks: - name: VM Network ip: 100.64.0.2 netmask: 255.255.255.0 gateway: 100.64.0.1 provisioner: name: ansible verifier: name: ansible # 2 # 3 # 4 # 6 番号 説明 1 使用するドライバを指定 2 vCenterのアクセス先、ログイン情報を指定 3 テストインスタンスを作成するリソース先を指定 4 テストインスタンスのゲストOSのアカウントを指定 5 テストインスタンスのOSタイプを指定 [linux or windows] 6 テストインスタンスの名前や使用するテンプレート、リソース、NWを指定 次のパラメーターはvmwre_guestと同じものを指定可能 • hardware • networks molecule.yml ▸ moleculeの設定を環境に合わせて変更
VMware Driver使い方 13 $ molecule test ▸ Roleディレクトリの中で以下のコマンドを実行
14 まとめ VMware Driverを使ってテンプレートを自動生成 ▸ テストインスタンスを構築・破棄するための create.yml/destroy.yml を自 動生成することが可能 WN
X BSF N PMFDVMF テストは自動化して効率化 ▸ Moleculeを使用することで、テストインスタンスの自動構築、テスト実行 、結果検証、テストインスタンス削除を自動で実施することが可能 スクリプトのテストにも使えるかも ▸ 例外的な使い方としては、PowershellやBashなどで作ったスクリプトをテ ストインスタンスへコピーして実行するRoleを作れば、スクリプト自体の テストもできるかも ansiblejpのvmwareチャンネルでメンバー募集中! ▸ https://bit.ly/ansiblejp-slack
Thank you For listening https://twitter.com/sky_jokerxx https://qiita.com/sky_jokerxx https://sky-joker.tech https://github.com/sky-joker @sky_jokerxx