Ansible Execution Agent - Online¶
目的¶
Tip
前提条件¶
推奨事項¶
専用ユーザーの払い出し¶
パラメータ一覧¶
パラメータ名 |
内容 |
デフォルト値 |
変更可否 |
追加されたバージョン |
備考 |
|---|---|---|---|---|---|
IS_NON_CONTAINER_LOG |
ログをファイル出力する設定項目 |
1 |
不可 |
2.5.1 |
|
LOG_LEVEL |
ログを出力レベルの設定値[INFO/DEBUG] |
INFO |
可 |
2.5.1 |
|
LOGGING_MAX_SIZE |
ログローテーションのファイルサイズ |
10485760 |
可 |
2.5.1 |
初期状態は、コメントアウト |
LOGGING_MAX_FILE |
ログローテーションのバックアップ数 |
30 |
可 |
2.5.1 |
初期状態は、コメントアウト |
LANGUAGE |
言語設定 |
en |
可 |
2.5.1 |
|
TZ |
タイムゾーン |
Asia/Tokyo |
可 |
2.5.1 |
|
PYTHON_CMD |
実行する仮想環境のpythonの実行コマンド |
<インストールした環境のPATH>/poetry run python3 |
不可 |
2.5.1 |
|
PYTHONPATH |
実行する仮想環境のpythonの実行コマンド |
<対話事項で入力したインストール先>/ita_ag_ansible_execution/ |
可 |
2.5.1 |
|
APP_PATH |
インストール先のPATH |
<対話事項で入力したインストール先> |
可 |
2.5.1 |
|
STORAGEPATH |
データの保存先のPATH |
<対話事項で入力した保存先>/<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>/storage |
可 |
2.5.1 |
|
LOGPATH |
ログの保存先のPATH |
<対話事項で入力した保存先>/<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>/log |
可 |
2.5.1 |
|
EXASTRO_ORGANIZATION_ID |
接続先のORGANIZATION_ID |
<対話事項で入力したORGANIZATION_ID> |
可 |
2.5.1 |
|
EXASTRO_WORKSPACE_ID |
接続先のWORKSPACE_ID |
<対話事項で入力したWORKSPACE_ID> |
可 |
2.5.1 |
|
EXASTRO_URL |
接続先のITAのURL |
<対話事項で入力したURL> |
可 |
2.5.1 |
|
EXASTRO_REFRESH_TOKEN |
接続先のITAのEXASTRO_REFRESH_TOKEN |
<対話事項で入力したEXASTRO_REFRESH_TOKEN> |
可 |
2.5.1 |
|
EXECUTION_ENVIRONMENT_NAMES |
実行する環実行環境指定できます。
空の場合、全実行環境を作業対象とします。
複数指定する場合は、「,」区切りで指定してください。
|
空 |
可 |
2.5.1 |
|
AGENT_NAME |
サービスに登録する、エージェントの識別子です。 |
ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列> |
不可 |
2.5.1 |
|
USER_ID |
エージェントの識別子です。 |
<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列> |
不可 |
2.5.1 |
|
ITERATION |
設定を初期化するまでの、処理の繰り返し数 |
10 |
可 |
2.5.1 |
|
EXECUTE_INTERVAL |
メインプロセス終了後のインターバル |
5 |
可 |
2.5.1 |
Tip
EXECUTION_ENVIRONMENT_NAMES=<実行環境名1>,<実行環境名2>
インストール¶
準備¶
$ wget https://raw.githubusercontent.com/exastro-suite/exastro-it-automation/refs/heads/main/ita_root/ita_ag_ansible_execution/setup.sh
$ chmod 755 ./setup.sh
対話での問い合わせ事項¶
エージェントのバージョン情報
サービス名
ソースコードのインストール先
データの保存先
使用するAnsible-builder、Ansible-runnerについて
接続先のITAの接続情報(URL、ORGANIZATION_ID、WORKSPACE_ID、REFRESH_TOKEN)
Ansible Execution Agentのインストール¶
$ ./setup.sh install
- エージェントのインストールモードを聞かれるので、指定してください。1: 必要なモジュールのインストール、サービスのソースコードのインストール、サービスの登録・起動を行います。2: 追加でサービスの登録・起動を行います。3: envファイルを指定して、サービスの登録・起動を行います。※ 2.3については、1が実行されている前提になります。
Please select which process to execute.
1: Create ENV, Install, Register service
2: Create ENV, Register service
3: Register service
q: Quit installer
select value: (1, 2, 3, q) :
Tip
以下、Enterを押下すると、必要な設定値を対話形式で、入力が開始されます。
'No value + Enter' is input while default value exists, the default value will be used.
-> Enter
Input the version of the Agent. Tag specification: X.Y.Z, Branch specification: X.Y [default: No Input+Enter(Latest release version)]:
Input Value [default: main ]:
The Agent service name is in the following format: ita-ag-ansible-execution-20241112115209622. Select n to specify individual names. (y/n):
Input Value [default: y ]:
Input the Agent service name . The string ita-ag-ansible-execution- is added to the start of the name.:
Input Value :
Specify full path for the install location.:
Input Value [default: /home/<ログインユーザー>/exastro ]:
Specify full path for the data storage location.:
Input Value [default: /home/<ログインユーザー>/exastro ]:
Select which Ansible-builder and/or Ansible-runner to use(1, 2) [1=Ansible 2=Red Hat Ansible Automation Platform] :
Input Value [default: 1 ]:
Input the ITA connection URL.:
Input Value :
Input ORGANIZATION_ID.:
Input Value :
Input WORKSPACE_ID.:
Input Value :
Input a REFRESH_TOKEN for a user that can log in to ITA. If the token cannot be input here, change the EXASTRO_REFRESH_TOKEN in the generated .env file.:
Input Value [default: ]:
Do you want to start the Agent service? (y/n)y
Install Ansible Execution Agent Infomation:
Agent Service id: <サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
Agent Service Name: ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
Storage Path: /home/<ログインユーザー>/exastro/<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>/storage
Env Path: /home/<ログインユーザー>/exastro/<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>/.env
'No value + Enter' is input while default value exists, the default value will be used.
-> Enter
The Agent service name is in the following format: ita-ag-ansible-execution-20241112115209622. Select n to specify individual names. (y/n):
Input Value [default: y ]:
Input the Agent service name . The string ita-ag-ansible-execution- is added to the start of the name.:
Input Value :
Specify full path for the install location.:
Input Value [default: /home/<ログインユーザー>/exastro ]:
Specify full path for the data storage location.:
Input Value [default: /home/<ログインユーザー>/exastro ]:
Input the ITA connection URL.:
Input Value :
Input ORGANIZATION_ID.:
Input Value :
Input WORKSPACE_ID.:
Input Value :
Input a REFRESH_TOKEN for a user that can log in to ITA. If the token cannot be input here, change the EXASTRO_REFRESH_TOKEN in the generated .env file.:
Input Value [default: ]:
Do you want to start the Agent service? (y/n)y
Install Ansible Execution Agent Infomation:
Agent Service id: <サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
Agent Service Name: ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
Storage Path: /home/<ログインユーザー>/exastro/<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>/storage
Env Path: /home/<ログインユーザー>/exastro/<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>/.env
'No value + Enter' is input while default value exists, the default value will be used.
-> Enter
Input the full path for the .env file.:
Input Value :
Do you want to start the Agent service? (y/n)y
Install Ansible Execution Agent Infomation:
Agent Service id: <サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
Agent Service Name: ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
Storage Path: /home/<ログインユーザー>/exastro/<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>/storage
Env Path: /home/<ログインユーザー>/exastro/<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>/.env
アンインストール¶
$ ./setup.sh uninstall
Tip
- エージェントのアンインストールモードを聞かれるので、指定してください。1: サービスの削除、データの削除を行います。2: サービスの削除、を行います。データは削除されません。3: データの削除※ 3については、2が実行されている前提になります。
Please select which process to execute.
1: Delete service, Delete Data
2: Delete service
3: Delete Data
q: Quit uninstaller
select value: (1, 2, 3, q):
以下、Enterを押下すると、必要な設定値を対話形式で、入力が開始されます。
Input a SERVICE_NAME.(e.g. ita-ag-ansible-execution-xxxxxxxxxxxxx):
Input a STORAGE_PATH.(e.g. /home/cloud-user/exastro/<SERVICE_ID>):
Input a SERVICE_NAME.(e.g. ita-ag-ansible-execution-xxxxxxxxxxxxx):
Input a STORAGE_PATH.(e.g. /home/cloud-user/exastro/<SERVICE_ID>):
アップグレード¶
アップグレードの準備¶
ソフトウェア要件の確認¶
対象サービス情報の取得¶
項目 |
.envの変数名 |
値の例 |
備考 |
|---|---|---|---|
サービス名 |
AGENT_NAME |
ita-ag-ansible-execution-20250723015915991 |
|
サービス識別子 |
AGENT_NAME |
20250723015915991 |
サービス名の「ita-ag-ansible-execution-」より後ろの部分 |
インストールディレクトリ |
PYTHONPATH |
/home/almalinux/exastro |
パスの「/ita_ag_ansible_execution」より前の部分 |
ストレージディレクトリ |
STORAGEPATH |
/home/almalinux/exastro |
パスの「/<サービス識別子>/storage」より前の部分 |
データバックアップ¶
項目 |
パス |
備考 |
|---|---|---|
エージェントのアプリログ |
/<インストールディレクトリ>/<サービス識別子>/log/ita-ag-ansible-execution-<サービス識別子>.log |
|
過去の作業実行データ |
/<ストレージディレクトリ>/<サービス識別子>/storage |
※Ansible共通 - インターフェース情報で実行時データ削除をFalseにしている場合 |
.envファイル |
/<インストールディレクトリ>/<サービス識別子>/.env |
注意事項¶
1つのサーバーで複数のエージェントのサービスを運用している
上記サービスのインストールディレクトリが同一である
同一ワークスペースに対して複数サービスを運用しているケース
同一オーガナイゼーションの複数ワークスペースそれぞれに対してエージェントを運用しているケース
アンインストール実行¶
アップグレード(再インストール)¶
任意のディレクトリに最新のsetup.shを取得し、実行権限を付与します。
$ wget https://raw.githubusercontent.com/exastro-suite/exastro-it-automation/refs/heads/main/ita_root/ita_ag_ansible_execution/setup.sh
$ chmod 755 ./setup.sh
setup.shを実行し、後述する対話事項に沿って進めてください。
$ ./setup.sh install
エージェントのインストールモードは1を選択します。
Please select which process to execute.
1: Create ENV, Install, Register service
2: Create ENV, Register service
3: Register service
q: Quit installer
select value: (1, 2, 3, q) : 1
以下、Enterを押下すると、必要な設定値を対話形式での入力が開始されます。
'No value + Enter' is input while default value exists, the default value will be used.
-> Enter
インストールするエージェントのバージョンを指定します。最新バージョンへアップグレードする場合は、未入力でEnterを押下します。
Input the version of the Agent. Tag specification: X.Y.Z, Branch specification: X.Y [default: No Input+Enter(Latest release version)]:
Input Value [default: main ]: 2.6.0
エージェントサービス名称の設定では、nを入力します。
The Agent service name is in the following format: ita-ag-ansible-execution-20241112115209622. Select n to specify individual names. (y/n):
Input Value [default: y ]:
準備で控えたサービス識別子を入力します。
Input the Agent service name . The string ita-ag-ansible-execution- is added to the start of the name.:
Input Value : <サービス識別子>
準備で控えたインストールディレクトリを指定します。
Specify full path for the install location.:
Input Value [default: /home/<ログインユーザー>/exastro ]: <インストールディレクトリ>
準備で控えたストレージディレクトリを指定します。
Specify full path for the data storage location.:
Input Value [default: /home/<ログインユーザー>/exastro ]: <ストレージディレクトリ>
以降、初回インストール時と同じ情報を入力します。
Select which Ansible-builder and/or Ansible-runner to use(1, 2) [1=Ansible 2=Red Hat Ansible Automation Platform] :
Input Value [default: 1 ]: 1
Input the ITA connection URL.:
Input Value : http://xx.xx.xx.xx
Input ORGANIZATION_ID.:
Input Value : your_org_id
Input WORKSPACE_ID.:
Input Value : your_ws_id
Input a REFRESH_TOKEN for a user that can log in to ITA. If the token cannot be input here, change the EXASTRO_REFRESH_TOKEN in the generated .env file.:
Input Value [default: ]: your_token (invisible)
Tip
yを入力し、既存ソースを削除・再インストールします。
A source already exists in the installation destination. Do you want to delete it and re-install? (y:Re-install/n:Move to the next process without installing) (y/n)
※If a registered service already exists with a different version, the existing service might be affected.(y/n): y
サービスの手動での操作、確認方法¶
# 設定ファイルの変更を反映
$ sudo systemctl daemon-reload
# サービスの状況確認
$ sudo systemctl status ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
# サービスの開始
$ sudo systemctl start ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
# サービスの停止
$ sudo systemctl stop ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
# サービスの再起動
$ sudo systemctl restart ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
# 設定ファイルの変更を反映
$ systemctl --user daemon-reload
# サービスの状況確認
$ systemctl --user status ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
# サービスの開始
$ systemctl --user start ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
# サービスの停止
$ systemctl --user stop ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
# サービスの再起動
$ systemctl --user restart ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>
サービスのログ確認方法¶
- アプリケーションログ以下のフォルダ・ファイル名に格納されます。
/home/<ログインユーザー>/exastro/<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>/log/
ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>.log
ita-ag-ansible-execution-<サービスの一意な識別子:yyyyMMddHHmmssfff or 対話で指定した文字列>.log.xx
Tip
- システムログ、各コンポーネントのログ
/var/log/message
Tip