てくなべ (tekunabe)

ansible / network automation / 学習メモ

[Ansible] コミュニティから公開されている Execution Environment(ただし2023年12月現在用途は限定的)

はじめに

ここ数年で、Ansible をコンテナ上で動かそうという動きが加速しています。

logmi.jp

そうは言われても、自分でビルドするにはまだハードルが・・、という方もいらっしゃるかもしれません。Ansible Community として GitHub Container Registory で公開されているイメージがあるのでご紹介します。

Ansible ecosystem documentation のページでも紹介されています。

ただし、リポジトリでは現状、以下の注意書きがあります。

Please note that this repository is very much a proof of concept and a work in progress at this time.

また、開発やテスト、CI 目的であり、本番環境では使わないで、とのことです。

Images provided by this repository are tailored for development, testing and CI purposes. They are maintained by the community and are not supported by Red Hat: they can and will break or run out of maintenance. Do not use these images for production!

以上の位置付けであることをご留意ください。

Minimal Ansible Community Execution Environment

Package community-ee-minimal · GitHub

ansible-core が入っています。Minimal なのでコレクションは入っていません。

元ネタの execution-environment.yml はこちらのようです。

images/execution-environments/community-ee-minimal/execution-environment.yml at main · ansible-community/images · GitHub

今回はタグ 2.16.1-1 の中身を見ていきます。

Fedora 39 ベース:

$ ansible-navigator images --eei ghcr.io/ansible-community/community-ee-minimal:2.16.1-1 -m stdout -d os_release 

---
image_name: ghcr.io/ansible-community/community-ee-minimal:2.16.1-1
os_release:
  details:
  - ansi-color: 0;38;2;60;110;180
    bug-report-url: https://bugzilla.redhat.com/
    cpe-name: cpe:/o:fedoraproject:fedora:39
    default-hostname: fedora
    documentation-url: https://docs.fedoraproject.org/en-US/fedora/f39/system-administrators-guide/
    home-url: https://fedoraproject.org/
    id: fedora
    logo: fedora-logo-icon
    name: Fedora Linux
    platform-id: platform:f39
    pretty-name: Fedora Linux 39 (Container Image)
    redhat-bugzilla-product: Fedora
    redhat-bugzilla-product-version: '39'
    redhat-support-product: Fedora
    redhat-support-product-version: '39'
    support-end: '2024-05-14'
    support-url: https://ask.fedoraproject.org/
    variant: Container Image
    variant-id: container
    version: 39 (Container Image)
    version-codename: ''
    version-id: '39'

ansible-core 2.16.1:

$ ansible-navigator images --eei ghcr.io/ansible-community/community-ee-minimal:2.16.1-1 -m stdout -d ansible_version
---
ansible_version:
  details: ansible [core 2.16.1]
image_name: ghcr.io/ansible-community/community-ee-minimal:2.16.1-1

community-ee-minimal にはコレクションがないのでエラー

$ ansible-navigator images --eei ghcr.io/ansible-community/community-ee-minimal:2.16.1-1 -m stdout -d ansible_collections
---
ansible_collections:
  details: {}
  errors:
  - |-
    ERROR! - None of the provided paths were usable. Please specify a valid path with --collections-path
image_name: ghcr.io/ansible-community/community-ee-minimal:2.16.1-1

Python 3.12.0:

$ ansible-navigator images --eei ghcr.io/ansible-community/community-ee-minimal:2.16.1-1 -m stdout -d python_version
---
image_name: ghcr.io/ansible-community/community-ee-minimal:2.16.1-1
python_version:
  details:
    version: 3.12.0 (main, Oct  2 2023, 00:00:00) [GCC 13.2.1 20230918 (Red Hat 13.2.1-3)]

Base Ansible Community Execution Environment

Package community-ee-base · GitHub

元ネタの execution-environment.yml はこちらのようです。

images/execution-environments/community-ee-base/execution-environment.yml at main · ansible-community/images · GitHub

Mnimam にはない、以下の3つのコレクションが入っています。

$ ansible-navigator images --eei ghcr.io/ansible-community/community-ee-base:2.16.1-1 -m stdout -d ansible_collections
---
ansible_collections:
  details:
    ansible.posix: 1.5.4
    ansible.utils: 2.11.0
    ansible.windows: 2.1.0
image_name: ghcr.io/ansible-community/community-ee-base:2.16.1-1

おまけ

ほか、よく見かけるのは以下のイメージあたりでしょうか

  • ghcr.io/ansible/creator-ee
  • quay.io/ansible/awx-ee

参考

経緯

forum.ansible.com

Forumの紹介

Ansible Community Forum でも New & Announcements にて新しいーメージ公開のお知らせがされます。

例:

forum.ansible.com

リリースプロセス

現在、イメージのリリースプロセスうに関するドキュメントの記述の PR がでています。

github.com