てくなべ (tekunabe)

ansible / network automation / 学習メモ

[Ansible] コレクションが置いてある場所を基準に分類してみる

はじめに

コレクションの分類の仕方にはいろいろな観点があります。

例えば、どこからそのコレクションを入手できるか、マネージドノードはどいういう特性か(サーバー、ネットワーク、クラウドなど)などです。

最近私の周りで少し話題になったので、この記事ではコレクションが置いてある場所を基準に、例とともに分類してみます。いずれも特定の組織内のみではなく、インターネット上に置いてあることが前提です。

歪な感じもしますが、図で示すと以下のケースがありえます。

分類

場所の説明

まず、置いてある場所についてそれぞれ説明します。

Ansible Galaxy にある

以下のサイトで公開されているコレクションを指します。様々なコレクションがあり、個人でもアップロードもできます。

Automation Hub にある

Red Hat Ansible Automation Platform のサービズ内のAutomation Hub で公開されているコレクションを指します。ざっくり、Ansible Galaxy の Red Hat 社提供版と捉えています。

What is included in Red Hat Ansible Automation Platform subscription? の言葉を 引用すると、以下のとおりです。

This hosted service is the official location to discover and download supported and certified Ansible Content Collections, included as part of your Ansible Automation Platform subscription.

Web UI としてはhttps://cloud.redhat.com からログインしてアクセスできます。

cloud.redhat.com

CLIansible-galaxy コマンドでコレクションをインストールする場合の参照先を Ansible Galaxy ではなく Automation Hub にするには設定変更が必要です。

Ansible Community Package にある

ansible-core に加えてコミュニティが選別したコレクションを同梱したパッケージに含まれるコレクションを指します。

pip でいうと pip install ansible で一緒にインストールされるコレクションたちです。

どのコレクションを含むかは、議論の上、以下のリポジトリで管理されています。

github.com

公式ドキュメントの Collection Indexで、含まれるコレクションを確認できます。

docs.ansible.com

「Ansible に対応モジュールがあるか?」を調べるときはまず Collection Indexを調べることが多いのではないでしょうか。

ここに含むかどうかは時々議論が発生し、新たにコレクションが含まれるようになったり、逆に外れたりもします。

各ケースの例

分類(再掲)

図で示した各ケースの説明をします。

[1] Ansible Galaxy のみにある

Ansible Galaxy にはあるけど、Ansible Community Package には選ばれていないし、Automation Hub にもないケースです。

例:

[2] Automation Hub のみにある

Automation Hub にはあるけど、Ansible Community Package には選ばれていないし、 Ansible Galaxy にもないケースです。

例:

[3] Ansible Galaxy とAnsible Community Package にある

Ansible Galaxy にはあるし、Ansible Community Package にも選ばれているけど、Automation Hub にはないケースです。

例:

[4] Ansible Galaxy と Automation Hub にある

Ansible Galaxy と Automation Hub にはあるけど、Ansible Community Package には選ばれていないケースです。

例:

[5] いずれにもある

Ansible Galaxy にも Automation Hub にもあるし、Ansible Community Package にも選ばれている。

例: