てくなべ (tekunabe)

ansible / network automation / 学習メモ

[Ansible/EDA] EDA Controller に設定されている連携先 Automation Controller のURLを確認、変更する

はじめに

EDA Controller から Automation Controller のジョブテンプレートを実行するといった連携ができます。

そのためには、EDA Controller 側に、Automation Controller の URL を指定する必要があります。

インストール時であればインストーラー の inventory 内の automation_controller_main_url 変数で指定します。

例:

# The full routeable URL used by EDA to connect to a controller host.
# This URL is required if there is no Automation Controller configured
# in inventory.
#
automation_controller_main_url = 'https://192.168.1.143'

おそらく運用上「どこの Automation Controller と連携してるんだっけ?」となることもあるのではないかと思います。

どうやれば確認、変更できるのだろうと試した結果をまとめます。今のところドキュメントには見当たらなかったため、試してやってみたらできたというレベルです。

  • 環境
    • EDA Controller 1.0.0
      • バージョン番号は rpm のファイル名から類推
      • AAP 2.4 のインストーラーで構築したもの

2023/08/04 追記

後から気が付きましたが、Red Hat カスタマーポータルのナレッジベースにも、インストーラーを使わずに変更する方法(本記事でいう方法3)が掲載されていました。

access.redhat.com

方法1: inventory を参照(参照・変更)

インストーラーの inventory が残っていて、連携先の Automation Controller のアドレスを変更していなければ、inventoryautomation_controller_main_url 変数の値を見ると分かるはずです。

変更したい場合、大げさですが automation_controller_main_url 変数の値を変更してインストーラーを再実行という手もなくはないです。

方法2: アクティベーションのログを見る(参照のみ)

アクティベーションのログが見れるのであれば、そこでも確認できます。

2023-07-27 02:16:05,365 - ansible_rulebook.job_template_runner - INFO - Attempting to connect to Controller https://192.168.1.143

2023-07-27 02:16:05,451 - ansible_rulebook.app - INFO - AAP Version 4.4.0

内部で接続チェックをしているためでしょう。ansible-rulebook 1.0.0 現在、どの run_job_template アクション以外でも接続チェックをするようです(修正 PR#538)。

方法3: /etc/ansible-automation-platform/eda/environment(参照・変更)

インストーラーの処理を追って行って分かったのですが、 /etc/ansible-automation-platform/eda/environmentEDA_CONTROLLER_URL 環境変数 連携先の Automation Controller のアドレスが書き出されます。このファイルの 所有者.グループeda.rootです。他にも取扱い注意な情報が含まれているのでご注意ください。

[admin@rhel92-aap24-eda ~]$ sudo su - eda
[eda@rhel92-aap24-eda ~]$
[eda@rhel92-aap24-eda ~]$
[eda@rhel92-aap24-eda ~]$ pwd
/var/lib/ansible-automation-platform/eda
[eda@rhel92-aap24-eda ~]$ cd /etc/ansible-automation-platform/eda/
[eda@rhel92-aap24-eda eda]$ ls -al
合計 16
drwxr-x---. 2 eda  root   80  726 15:24 .
drwxr-xr-x. 4 root root   42  628 09:32 ..
-rw-------. 1 eda  root  128  628 08:10 SECRET_KEY
-rw-r-----. 1 eda  root  840  726 15:24 environment
-rw-------. 1 root eda  2004  628 09:34 server.cert
-rw-------. 1 root eda  3243  628 09:34 server.key
[eda@rhel92-aap24-eda eda]$ cat environment | grep EDA_CONTROLLER
EDA_CONTROLLER_URL=https://192.168.1.143
EDA_CONTROLLER_SSL_VERIFY=no

上記のファイルが、/usr/lib/systemd/system/automation-eda-controller.target 内の EnvironmentFile で指定されています。

EDA_CONTROLLER_URL の値を変更したい場合は、変更後、 sudo systemctl restart automation-eda-controller を実行して、その後アクティベーションを再開させます。