てくなべ (tekunabe)

ansible / network automation / 学習メモ

[Ansible] ansible 2.9 でコレクションの一覧とバージョンを grep で表示する

ansible 2.9 では、コレクション一覧を表示する ansible-galaxy collection list コマンドが利用できません(ansible-base 2.10から)。

そのため、コレクションの一覧やバージョンを確認するには、別の方法が必要です。

デフォルトのコレクションインストール先(~/.ansible/collections/)の場合、以下コマンドで、インストールされているコレクション名とバージョンが分かります。

実行例

/home/sakana/.ansible/collections/ansible_collections/ansible/controller/MANIFEST.json:  "version": "4.1.2",
/home/sakana/.ansible/collections/ansible_collections/ansible/netcommon/MANIFEST.json:  "version": "2.6.1",
/home/sakana/.ansible/collections/ansible_collections/ansible/tower/MANIFEST.json:  "version": "3.8.5",
/home/sakana/.ansible/collections/ansible_collections/ansible/utils/MANIFEST.json:  "version": "2.5.2",
/home/sakana/.ansible/collections/ansible_collections/azure/azcollection/MANIFEST.json:  "version": "1.11.0",
/home/sakana/.ansible/collections/ansible_collections/seiko/smartcs/MANIFEST.json:  "version": "1.4.1",```

各コレクションの MANIFEST.json というファイルに、いろいろメタ情報が詰まってて、そこの version を表示してるだけです。

上記結果を、ansible-galaxy collection list 風にすると以下の通りです。

Collection         Version
------------------ -------
ansible.controller 4.1.2  
ansible.netcommon  2.6.1  
ansible.tower      3.8.5  
ansible.utils      2.5.2  
azure.azcollection 1.11.0 
seiko.smartcs      1.4.1