Ansible Automation Platform のトラブルシューティング
Ansible Automation Platform の問題のトラブルシューティング
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform のインストールのトラブルシューティングを行うには、Ansible Automation Platform のトラブルシューティングガイドを使用します。
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントの改善に関するご意見がある場合や、エラーを発見した場合は、https://access.redhat.com からテクニカルサポートに連絡してリクエストを送信してください。
第1章 問題の診断 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform のトラブルシューティングを開始するには、OpenShift Container Platform の must-gather コマンドまたは仮想マシンベースのインストールの sos ユーティリティーを使用して、設定と診断情報を収集します。これらのユーティリティーの出力をサポートケースに添付できます。
1.1. must-gather コマンドを使用した OpenShift Container Platform 上の Ansible Automation Platform のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
oc adm must-gather コマンドラインインターフェイス (CLI) コマンドは、OpenShift Container Platform にデプロイされた Ansible Automation Platform インストールから情報を収集します。リソース定義やサービスログなど、問題のデバッグに必要となることが多い情報を収集します。
oc adm must-gather CLI コマンドを実行すると、収集されたデータを含む新しいディレクトリーが作成され、トラブルシューティングやサポートケースへの添付に使用できます。
OpenShift 環境が registry.redhat.io にアクセスできず、must-gather コマンドを実行できない場合は、代わりに oc adm inspect コマンドを実行します。
前提条件
-
OpenShift CLI (
oc) がインストールされている。
手順
クラスターにログインします。
oc login <openshift_url>
oc login <openshift_url>Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスター内のアクセスレベルに基づいて、次のいずれかのコマンドを実行します。
クラスター全体で
must-gatherを実行します。oc adm must-gather --image=registry.redhat.io/ansible-automation-platform-25/aap-must-gather-rhel8 --dest-dir <dest_dir>
oc adm must-gather --image=registry.redhat.io/ansible-automation-platform-25/aap-must-gather-rhel8 --dest-dir <dest_dir>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
--imageはデータを収集するイメージを指定する -
--dest-dirは出力先のディレクトリーを指定する
-
クラスター内の特定の namespace に対して
must-gatherを実行します。oc adm must-gather --image=registry.redhat.io/ansible-automation-platform-25/aap-must-gather-rhel8 --dest-dir <dest_dir> – /usr/bin/ns-gather <namespace>
oc adm must-gather --image=registry.redhat.io/ansible-automation-platform-25/aap-must-gather-rhel8 --dest-dir <dest_dir> – /usr/bin/ns-gather <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
– /usr/bin/ns-gatherは、must-gatherデータ収集を指定された namespace に制限する
-
must-gatherアーカイブをサポートケースに添付するには、以前に作成したmust-gatherディレクトリーから圧縮ファイルを作成し、サポートケースに添付します。たとえば、Linux オペレーティングシステムを使用するコンピューターでは、
<must-gather-local.5421342344627712289/>をmust-gatherディレクトリー名に置き換えて、次のコマンドを実行します。tar cvaf must-gather.tar.gz <must-gather.local.5421342344627712289/>
$ tar cvaf must-gather.tar.gz <must-gather.local.5421342344627712289/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2. sos レポートを生成して、仮想マシンベースのインストールで Ansible Automation Platform をトラブルシューティングする リンクのコピーリンクがクリップボードにコピーされました!
sos ユーティリティーは、仮想マシンベースのインストール上の Ansible Automation Platform から設定、診断、およびトラブルシューティングのデータを収集します。
sos ユーティリティーのインストールと使用の詳細は、テクニカルサポート用の sos レポートの生成 を参照してください。
第2章 Automation Controller のトラブルシューティング関連情報 リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller のトラブルシューティングを行うには、次のリソースを使用してください。
- Automation Controller のトラブルシューティングの詳細は、自動化実行の設定 の Automation Controller のトラブルシューティング を参照してください。
- Automation Controller のパフォーマンスのトラブルシューティングは、自動化実行の設定 の Automation Controller のパフォーマンスのトラブルシューティング を参照してください。
第3章 バックアップおよび復元 リンクのコピーリンクがクリップボードにコピーされました!
バックアップと復元のトラブルシューティングを行うには、次の情報を使用してください。
- Ansible Automation Platform のバックアップと復元の実行は、自動化実行の設定 の バックアップおよび復元 を参照してください。
- OpenShift Container Platform 上の Ansible Automation Platform Operator のインストールのバックアップと復元のトラブルシューティングは、Operator 環境のバックアップとリカバリー の トラブルシューティング セクションを参照してください。
第4章 実行環境 リンクのコピーリンクがクリップボードにコピーされました!
実行環境に関する問題をトラブルシューティングします。
4.1. 問題 - Private Automation Hub 上の実行環境イメージに対して「コントローラーで使用」オプションを選択できない リンクのコピーリンクがクリップボードにコピーされました!
Private Automation Hub 上の実行環境イメージには、Use in Controller オプションは使用できません。エラーメッセージ “No Controllers available” も表示されます。
この問題を解決するには、Automation Controller を Private Automation Hub インスタンスに接続します。
手順
Private Automation Hub の
/etc/pulp/settings.pyファイルを変更し、設定に応じて次のいずれかのパラメーターを追加します。シングルコントローラー
CONNECTED_ANSIBLE_CONTROLLERS = ['<https://my.controller.node>']
CONNECTED_ANSIBLE_CONTROLLERS = ['<https://my.controller.node>']Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロードバランサーの背後に多数のコントローラー
CONNECTED_ANSIBLE_CONTROLLERS = ['<https://my.controller.loadbalancer>']
CONNECTED_ANSIBLE_CONTROLLERS = ['<https://my.controller.loadbalancer>']Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロードバランサーのないコントローラーが多数
CONNECTED_ANSIBLE_CONTROLLERS = ['<https://my.controller.node1>', '<https://my.controller2.node2>']
CONNECTED_ANSIBLE_CONTROLLERS = ['<https://my.controller.node1>', '<https://my.controller2.node2>']Copy to Clipboard Copied! Toggle word wrap Toggle overflow
すべての Private Automation Hub サービスを停止します。
systemctl stop pulpcore.service pulpcore-api.service pulpcore-content.service pulpcore-worker@1.service pulpcore-worker@2.service nginx.service redis.service
# systemctl stop pulpcore.service pulpcore-api.service pulpcore-content.service pulpcore-worker@1.service pulpcore-worker@2.service nginx.service redis.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべての Private Automation Hub サービスを再起動します。
systemctl start pulpcore.service pulpcore-api.service pulpcore-content.service pulpcore-worker@1.service pulpcore-worker@2.service nginx.service redis.service
# systemctl start pulpcore.service pulpcore-api.service pulpcore-content.service pulpcore-worker@1.service pulpcore-worker@2.service nginx.service redis.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 検証
- Private Automation Hub で Use in Controller オプションが使用できるようになったことを確認します。
第5章 インストール リンクのコピーリンクがクリップボードにコピーされました!
インストールに関する問題をトラブルシューティングします。
5.1. 問題 - Ansible Automation Platform インストーラーにバンドルされている特定のパッケージが見つからない リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform インストーラーにバンドルされている特定のパッケージが見つからないか、"Repositories disabled by configuration" メッセージが表示されます。
この問題を解決するには、コマンドラインで subscription-manager コマンドを使用してリポジトリーを有効にします。この問題の解決方法の詳細は、アクセス管理と認証 の Red Hat Ansible Automation Platform サブスクリプションの割り当て の トラブルシューティング セクションを参照してください。
第6章 ジョブ リンクのコピーリンクがクリップボードにコピーされました!
ジョブに関する問題をトラブルシューティングします。
6.1. 問題 - ジョブがエラーメッセージ “ERROR! couldn’t resolve module/action” で失敗する リンクのコピーリンクがクリップボードにコピーされました!
ジョブが失敗し、エラーメッセージ “ERROR! couldn’t resolve module/action 'module name'. This often indicates a misspelling, missing collection, or incorrect module path” が表示されます。
このエラーは、モジュールに関連付けられたコレクションが実行環境にない場合に発生する可能性があります。
推奨される解決策は、カスタム実行環境を作成し、その実行環境内に必要なコレクションを追加することです。実行環境の作成の詳細は、実行環境の作成と使用 の Ansible Builder の使用 を参照してください。
または、次の手順を実行することもできます。
手順
-
プロジェクトリポジトリー内に
collectionsフォルダーを作成します。 collectionsフォルダー内にrequirements.ymlファイルを追加し、コレクションを追加します。collections: - <collection_name>
collections: - <collection_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2. 問題 - エラーメッセージ “Timeout (12s) waiting for privilege escalation prompt” が表示され、ジョブが失敗する リンクのコピーリンクがクリップボードにコピーされました!
このエラーは、タイムアウト値が小さすぎる場合に発生し、ジョブが完了する前に停止する可能性があります。接続プラグインのデフォルトのタイムアウト値は 10 です。
この問題を解決するには、次のいずれかの方法を実行してタイムアウト値を増やします。
以下の変更は、Automation Controller 内のすべてのジョブに影響します。特定のプロジェクトにタイムアウト値を使用するには、プロジェクトディレクトリーのルートに ansible.cfg ファイルを追加し、その ansible.cfg ファイルに timeout パラメーター値を追加します。
Automation Controller UI に環境変数として ANSIBLE_TIMEOUT を追加する
- Automation Controller に移動します。
- ナビゲーションパネルから、 → を選択します。
Extra Environment Variables の下に以下を追加します。
{ "ANSIBLE_TIMEOUT": 60 }{ "ANSIBLE_TIMEOUT": 60 }Copy to Clipboard Copied! Toggle word wrap Toggle overflow
CLI を使用して ansible.cfg ファイルの [defaults] セクションにタイムアウト値を追加する
/etc/ansible/ansible.cfgファイルを編集し、以下を追加します。[defaults] timeout = 60
[defaults] timeout = 60Copy to Clipboard Copied! Toggle word wrap Toggle overflow
タイムアウト付きのアドホックコマンドの実行
コマンドラインでアドホック Playbook を実行するには、
ansible-playbookコマンドに--timeoutフラグを追加します。次に例を示します。ansible-playbook --timeout=60 <your_playbook.yml>
# ansible-playbook --timeout=60 <your_playbook.yml>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.2.1. 問題 - Automation Controller のジョブが保留状態のままになる リンクのコピーリンクがクリップボードにコピーされました!
Automation Controller でジョブを起動した後、ジョブは保留状態のままになり、開始されません。
ジョブが保留状態のままになる理由はいくつかあります。この問題のトラブルシューティングの詳細は、自動化実行の設定 の Playbook が保留状態で止まる を参照してください。
保留中のジョブをすべてキャンセルする
保留中のジョブをすべてリスト表示するには、次のコマンドを実行します。
awx-manage shell_plus
# awx-manage shell_plusCopy to Clipboard Copied! Toggle word wrap Toggle overflow >>> UnifiedJob.objects.filter(status='pending')
>>> UnifiedJob.objects.filter(status='pending')Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保留中のジョブをすべてキャンセルするには、次のコマンドを実行します。
>>> UnifiedJob.objects.filter(status='pending').update(status='canceled')
>>> UnifiedJob.objects.filter(status='pending').update(status='canceled')Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ジョブ ID を使用して単一のジョブをキャンセルする
特定のジョブをキャンセルするには、
<job_id>をキャンセルするジョブ ID に置き換えて、次のコマンドを実行します。awx-manage shell_plus
# awx-manage shell_plusCopy to Clipboard Copied! Toggle word wrap Toggle overflow >>> UnifiedJob.objects.filter(id=_<job_id>_).update(status='canceled')
>>> UnifiedJob.objects.filter(id=_<job_id>_).update(status='canceled')Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Private Automation Hub で実行環境を使用するとジョブが失敗し、エラーメッセージ "denied: requested access to the resource is denied, unauthorized: Insufficient permissions" が表示されます。
この問題は、Private Automation Hub がパスワードまたはトークンで保護されており、レジストリー認証情報が実行環境に割り当てられていない場合に発生します。
手順
- Automation Controller に移動します。
- ナビゲーションパネルから、 → を選択します。
- 失敗しているジョブテンプレートに割り当てられている実行環境をクリックします。
- をクリックします。
- Private Automation Hub から適切な レジストリー認証情報 を実行環境に割り当てます。
第7章 ネットワーク リンクのコピーリンクがクリップボードにコピーされました!
ネットワークの問題をトラブルシューティングします。
7.1. 問題 - Ansible Automation Platform コンテナーで使用されるデフォルトのサブネットが内部ネットワークと競合する リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform コンテナーで使用されるデフォルトのサブネットが内部ネットワークと競合し、"No route to host" エラーが発生します。
この問題を解決するには、デフォルトの Classless Inter-Domain Routing (CIDR) 値を更新して、デフォルトの Podman ネットワークプラグインで使用される CIDR と競合しないようにします。
手順
すべてのコントローラーノードとハイブリッドノードで、次のコマンドを実行して
custom.pyというファイルを作成します。touch /etc/tower/conf.d/custom.py
# touch /etc/tower/conf.d/custom.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow chmod 640 /etc/tower/conf.d/custom.py
# chmod 640 /etc/tower/conf.d/custom.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow chown root:awx /etc/tower/conf.d/custom.py
# chown root:awx /etc/tower/conf.d/custom.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/tower/conf.d/custom.pyファイルに以下を追加します。DEFAULT_CONTAINER_RUN_OPTIONS = ['--network', 'slirp4netns:enable_ipv6=true,cidr=192.168.1.0/24']
DEFAULT_CONTAINER_RUN_OPTIONS = ['--network', 'slirp4netns:enable_ipv6=true,cidr=192.168.1.0/24']Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
この例では、新しい CIDR の値は
192.168.1.0/24です。
-
この例では、新しい CIDR の値は
すべてのコントローラーノードとハイブリッドノードで Automation Controller サービスを停止して開始します。
automation-controller-service stop
# automation-controller-service stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow automation-controller-service start
# automation-controller-service startCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのコンテナーは新しい CIDR で起動します。
7.2. SSL/TLS の問題のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
SSL/TLS に関する問題をトラブルシューティングするには、証明書チェーンを検証し、正しい証明書を使用し、信頼された認証局 (CA) が証明書に署名したことを確認します。
手順
サーバーが SSL/TLS 経由でアクセスできるかどうかを確認します。
次のコマンドを実行して、サーバーが SSL/TLS 経由でアクセス可能かどうかを確認し、完全な証明書チェーンを表示します。
true | openssl s_client -showcerts -connect <fqdn_or_ip>:<port>
# true | openssl s_client -showcerts -connect <fqdn_or_ip>:<port>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<fqdn_or_ip>と<port>は、適切な値に置き換えます。
証明書の詳細を確認します。
次のコマンドを実行して証明書の詳細を表示します。
openssl x509 -in <path_to_certificate> -noout -text
# openssl x509 -in <path_to_certificate> -noout -textCopy to Clipboard Copied! Toggle word wrap Toggle overflow
<path_to_certificate>は、調査する証明書ファイルへのパスに置き換えます。コマンドの結果には次のような情報が表示されます。
- Subject - 証明書の発行先のエンティティー。
- Issuer - 証明書を発行した CA。
- Validity "Not Before" - 証明書が発行された日付。
- Validity "Not After" - 証明書の有効期限が切れる日付。
信頼された CA が証明書に署名したことを確認します。
次のコマンドを実行して、特定の証明書が有効であり、信頼された CA によって署名されていることを確認します。
openssl verify -CAfile <path_to_ca_public_certificate> <path_to_server_certificate_file_to_verify>
openssl verify -CAfile <path_to_ca_public_certificate> <path_to_server_certificate_file_to_verify>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
コマンドが
OKを返す場合、証明書ファイルは有効であり、信頼された CA によって署名されています。
第8章 Playbook リンクのコピーリンクがクリップボードにコピーされました!
Automation content navigator を使用して、Playbook をインタラクティブにトラブルシューティングできます。
Automation content navigator を使用した Playbook のトラブルシューティングの詳細は、コンテンツナビゲーターの使用 ガイドの Automation content navigator を使用した Ansible コンテンツのトラブルシューティング を参照してください。
第9章 アップグレード リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform 2.5 にアップグレードする際の問題をトラブルシューティングします。
Ansible Automation Platform 2.4 から 2.5 にアップグレードする場合、ロードバランサーの背後で Automation Controller を使用していると、アップグレードは完了しますが、プラットフォームゲートウェイ UI でプラットフォームゲートウェイ URL への接続が失敗します。次のエラーメッセージが表示されます。
Error connecting to Controller API
この問題を解決するには、すべてのコントローラーホストに対して次のタスクを実行します。
各コントローラーホストに対し、settings.py ファイルの
CSRF_TRUSTED_ORIGIN設定に、信頼済みソースとしてプラットフォームゲートウェイ URL を追加します。たとえば、プラットフォームゲートウェイの URL を
https://www.example.comとして設定した場合は、次に示すように、settings.py ファイルにもその URL を追加する必要があります。CSRF_TRUSTED_ORIGINS = ['https://appX.example.com:8443','https://www.example.com']
CSRF_TRUSTED_ORIGINS = ['https://appX.example.com:8443','https://www.example.com']Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
URL の変更が実装されるように、
automation-controller-service restartコマンドを使用して各コントローラーホストを再起動します。手順は、自動化実行の設定 の Automation Controller の起動、停止、再起動 を参照してください。