Ansibleのテスト実行ツールMolecule導入~テスト実行
環境:CentOS8.2
Ansible:2.10.6
molecule:3.2.3
MoleculeはAnsibleのrolesのテストができるツールです。
構文確認、テスト環境の構築、実行確認、再度実行し冪等性確認、テスト環境の削除まで一式できます。
Ansibleのインストール方法はこちらに記載しています。
今回はdockerを利用する手順のため、dockerのインストールが必要です。
dockerのインストールはこちらに記載しています。
必要パッケージのインストール
sudo yum install -y gcc python3-pip python3-devel openssl-devel python3-libselinux
Moleculeのインストール
python3 -m pip install --user "molecule[docker,lint]"
※下記エラーが出た場合はpipのアップデートをする。
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-8nl91yu8/cryptography/
sudo pip3 install -U pip
プレイブックを作成する
molecule init role my-new-role --driver-name docker
cd my-new-role
tree
Moleculeのディレクトリがあるプレイブックが作成される。
[azureuser@ansible my-new-role]$ tree
.
├── defaults
│ └── main.yml
├── files
├── handlers
│ └── main.yml
├── meta
│ └── main.yml
├── molecule
│ └── default
│ ├── converge.yml
│ ├── molecule.yml
│ └── verify.yml
├── README.md
├── tasks
│ └── main.yml
├── templates
├── tests
│ ├── inventory
│ └── test.yml
└── vars
└── main.yml10 directories, 11 files
Moleculeでテストを実行する
molecule test
下記のような結果になっていればテストが実行できています。
PLAY RECAP *********************************************************************
localhost : ok=2 changed=2 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
Discussion