Ansible Navigator Creator ガイド
Ansible Creator ワークフローで Ansible Navigator の使用
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ を参照してください。
第1章 Ansible コンテンツナビゲーターの概要
コンテンツ作成者は、自動化コンテンツナビゲーターを使用して、Red Hat Ansible Automation Platform と互換性のある Ansible Playbook、コレクション、およびロールを開発できます。以下の環境で自動化コンテンツナビゲーターを使用できますが、以下のすべての環境でシームレスかつ予測可能な結果が得られます。
- ローカルの開発マシン
- 自動化実行環境
また、自動化コンテンツナビゲーターは、Playbook の開発および問題領域のトラブルシューティングに役立つアーティファクトファイルも作成します。
1.1. 自動化コンテンツナビゲーターへの使用
自動化コンテンツナビゲーターは、テキストベースのユーザーインターフェイスを備えたコマンドラインのコンテンツクリエーターに焦点を当てたツールです。自動化コンテンツナビゲーターを使用して、以下を実行できます。
- ジョブおよび Playbook を起動し、監視します。
- 保存され、完成した Playbook とジョブ実行アーティファクトを JSON 形式で共有します。
- 自動化実行環境を閲覧およびイントロスペクションします。
- ファイルベースのインベントリーを参照します。
- Ansible モジュールのドキュメントをレンダリングし、Playbook で使用できるサンプルを展開します。
- ユーザーインターフェイスで詳細なコマンド出力を表示します。
1.2. 自動化コンテンツナビゲーターのモード
自動化コンテンツナビゲーターは 2 つのモードで動作します。
- 標準出力 (stdout) モード
- コマンドラインで既存の Ansible コマンドおよび拡張機能の大部分を受け入れます。
- テキストベースのユーザーインターフェイスモード
- Ansible コマンドに対する、インタラクティブなテキストベースのインターフェイスを提供します。このモードを使用して、コンテンツを評価し、Playbook を実行し、アーティファクトファイルを使用して実行した後に Playbook のトラブルシューティングを行います。
1.2.1. 標準出力 (stdout) モード
自動化コンテンツナビゲーターで -m stdout
サブコマンドを使用して、自動化実行環境内やローカルの開発環境上で ansible-playbook
などの一般的な Ansible コマンドを使用します。使い慣れたコマンドを使用して、素早くタスクを実行することができます。
また、自動化コンテンツナビゲーターは、このモードで豊富なヘルプも提供します。
--help
-
ansible-navigator
コマンドまたはサブコマンド (ansible-navigator config --help
など) からアクセスできます。 - サブコマンドのヘルプ
-
サブコマンド (例:
ansible-navigator config --help-config
) からアクセスできます。このヘルプには、関連する Ansible コマンドでサポートされているすべてのパラメーターの詳細が表示されます。
1.2.2. テキストベースのユーザーインターフェイスモード
テキストベースのユーザーインターフェイスモードは、自動化実行環境、コレクション、Playbook、およびインベントリーとの対話を強化します。このモードは、Visual Studio Code などの統合開発環境 (IDE) と互換性があります。
このモードには、便利なユーザーインターフェイスオプションが多数含まれています。
- コロンコマンド
-
:run
、:collections
など、コロンを使用して、すべての Automation コンテンツナビゲーターコマンドにアクセスできます。 - テキストベースのインターフェイスの移動
-
この画面には、ページアップまたはページダウン、スクロール、前の画面へのエスケープ、または
:help
へのアクセス方法が表示されます。 - 行番号による出力
-
表示された出力の行番号の前にコロンを付ける (例:
:12
) と、その行にアクセスできます。 - 色でコーディングされた出力
- 色を有効にすると、自動化コンテンツナビゲーターは非推奨のモジュールなどのアイテムを赤で表示します。
- ページネーションおよびスクロール
- 各自動化コンテンツナビゲーター画面の下部に表示されるオプションを使用して、ページを上下に移動したり、スクロールしたり、エスケープしたりできます。
自動化コンテンツナビゲーターの実行後は、モード間の切り替えができません。
本書では、ほとんどの手順でテキストベースのユーザーインターフェイスモードを使用します。
1.3. 自動化コンテンツナビゲーターコマンド
自動化コンテンツナビゲーターコマンドは、一般的な Ansible CLI コマンドを -m stdout
モードで実行します。関連する Ansible CLI コマンドのすべてのサブコマンドおよびオプションを使用できます。詳細は、ansible-navigator --help
を使用してください。
表1.1 自動化コンテンツナビゲーターコマンド
コマンド | 説明 | CLI の例 |
---|---|---|
collections | 利用可能なコレクションを調べる |
|
config | 現在の Ansible 設定を調べる |
|
doc | モジュールまたはプラグインのドキュメントを参照する |
|
images | 実行環境イメージを調べる |
|
inventory | インベントリーを調べる |
|
replay | Playbook アーティファクトを使用して以前の実行を調べる |
|
run | Playbook を実行する |
|
welcome | Welcome ページから開始する |
|
1.4. Ansible コマンドと自動化コンテンツナビゲーターコマンド間の関係
自動化コンテンツナビゲーターコマンドは、一般的な Ansible CLI コマンドを -m stdout
モードで実行します。関連する Ansible CLI コマンドで利用できるすべてのサブコマンドおよびオプションを使用できます。詳細は、ansible-navigator --help
を使用してください。
表1.2 自動化コンテンツナビゲーターコマンドと Ansible CLI コマンドの比較
Ansible ナビゲーターコマンド | Ansible CLI コマンド |
---|---|
|
|
|
|
|
|
|
|
|
|
第2章 RHEL への自動コンテンツナビゲーターのインストール
コンテンツ作成者は、Red Hat Enterprise Linux (RHEL) 8 以降に、自動化コンテンツナビゲーターをインストールできます。
2.1. RPM からの RHEL への自動化コンテンツナビゲーターのインストール
RPM から、Red Hat Enterprise Linux (RHEL) に自動化コンテンツナビゲーターをインストールできます。
前提条件
- RHEL 8 以降をインストールしている。
- Red Hat Subscription Manager でシステムを登録している。
現在の Red Hat Ansible Automation Platform 環境に一致するナビゲーターのみをインストールしてください。
手順
Red Hat Ansible Automation Platform SKU を割り当てます。
$ subscription-manager attach --pool=<sku-pool-id>
次のコマンドを使用して、Automation コンテンツナビゲーターをインストールします。
# dnf install --enablerepo=ansible-automation-platform-2.2-for-rhel-8-x86_64-rpms ansible-navigator
検証
自動化コンテンツナビゲーターのインストールを確認します。
$ ansible-navigator --help
以下の例は、インストールの成功を示しています。
第3章 自動化コンテンツナビゲーターを使用した自動化実行環境の確認
コンテンツ開発者は、自動化コンテンツナビゲーターで自動化実行環境を確認し、自動化実行環境に含まれるパッケージとコレクションを表示できます。自動化コンテンツナビゲーターは Playbook を実行して結果を抽出し、表示します。
3.1. 自動化コンテンツナビゲーターからの自動化実行環境の確認
自動化コンテンツナビゲーターのテキストベースのユーザーインターフェイスを使用して、自動化実行環境を確認できます。
前提条件
- 自動化実行環境
手順
自動化コンテンツナビゲーター設定に含まれる自動化実行環境を確認します。
$ ansible-navigator images
詳細については、詳しく調べたい自動化実行環境の番号を入力してください。
インストールされている各自動化実行環境のパッケージおよびバージョン、ならびに Ansible バージョンに含まれるコレクションを確認できます。
オプション: 使用する自動化実行環境を渡します。これはプライマリーであり、自動化コンテンツナビゲーターが使用する自動化実行環境です。
$ ansible-navigator images --eei registry.example.com/example-enterprise-ee:latest
検証
自動化実行環境の出力を確認します。
第4章 自動化コンテンツナビゲーターを使用したインベントリーの確認
コンテンツ作成者は、自動化コンテンツナビゲーターを使用して Ansible インベントリーを確認し、グループとホストをインタラクティブに調べることができます。
4.1. 自動化コンテンツナビゲーターからインベントリーの確認
インタラクティブモードの自動化コンテンツナビゲーターのテキストベースのユーザーインターフェイスを使用して Ansible インベントリーを確認し、グループとホストを詳しく調べることができます。
前提条件
- 有効なインベントリーファイルまたはインベントリープラグイン
手順
自動化コンテンツナビゲーターを起動します。
$ ansible-navigator
オプション: コマンドラインから
ansible-navigator inventory -i simple_inventory.yml
と入力してインベントリーを表示します。インベントリーを確認します。
:inventory -i simple_inventory.yml TITLE DESCRIPTION 0│Browse groups Explore each inventory group and group members members 1│Browse hosts Explore the inventory with a list of all hosts
0
を入力してグループを表示します。NAME TAXONOMY TYPE 0│general all group 1│nodes all group 2│ungrouped all group
TAXONOMY
フィールドには、選択したグループまたはノードが属するグループの階層の詳細が表示されます。調べるグループに対応する番号を入力します。
NAME TAXONOMY TYPE 0│node-0 all▸nodes host 1│node-1 all▸nodes host 2│node-2 all▸nodes host
調べるホストに対応する番号を入力します。番号が 9 以上になる場合は、
:<number>
と入力します。[node-1] 0│--- 1│ansible_host: node-1.example.com 2│inventory_hostname: node-1
検証
インベントリーの出力を確認します。
TITLE DESCRIPTION 0│Browse groups Explore each inventory group and group members members 1│Browse hosts Explore the inventory with a list of all hosts
第5章 自動化コンテンツナビゲーターを使用したコレクションを参照
コンテンツ作成者は、自動化コンテンツナビゲーターで Ansible コレクションを参照し、ローカルまたは自動化実行環境で開発した各コレクションをインタラクティブに調べることができます。
5.1. 自動化コンテンツナビゲーターコレクションの表示
自動化コンテンツナビゲーターは、各コレクションに以下の詳細を含むコレクションに関する情報を表示します。
- SHADOWED
- コレクションの追加コピーが検索順序の上位にあり、Playbook がそのコレクションを優先することを示します。
- TYPE
-
コレクションが自動化実行環境にマウントされている自動化実行環境またはボリュームに
bind_mount
として含まれるかどうかを示します。 - PATH
- コレクション TYPE フィールドに基づいて、自動化実行環境またはローカルファイルシステム内のコレクションの場所を反映します。
5.2. 自動化コンテンツナビゲーターからのコレクションの参照
インタラクティブモードの自動化コンテンツナビゲーターのテキストベースのユーザーインターフェイスを使用して Ansible コレクションを参照し、各コレクションを詳しく調べることができます。自動化コンテンツナビゲーターは、現在のプロジェクトディレクトリー内のコレクションと自動化実行環境で利用可能なコレクションを表示します。
前提条件
- ローカルでアクセス可能なコレクションまたはインストールされた自動化実行環境。
手順
自動化コンテンツナビゲーターを起動します。
$ ansible-navigator
コレクションを参照します。または、
ansible-navigator collections
と入力してコレクションを直接参照することもできます。$ :collections
確認するコレクションの数を入力します。
:4
調べるモジュールに対応する番号を入力します。
ANSIBLE.UTILS.IP_ADDRESS: Test if something in an IP address 0│--- 1│additional_information: {} 2│collection_info: 3│ authors: 4│ - Ansible Community 5│ dependencies: {} 6│ description: Ansible Collection with utilities to ease the management, manipulation, 7│ and validation of data within a playbook 8│ documentation: null 9│ homepage: null 10│ issues: null 11│ license: [] 12│ license_file: LICENSE 13│ name: ansible.utils 14│ namespace: ansible 15│ path:/usr/share/ansible/collections/ansible_collections/ansible/utils/ 16│ readme: README.md <... output truncated...>
オプション: このモジュールのドキュメントの例に移動します。
:{{ examples }} 0│ 1│ 2│#### Simple examples 3│ 4│- name: Check if 10.1.1.1 is a valid IP address 5│ ansible.builtin.set_fact: 6│ data: "{{ '10.1.1.1' is ansible.utils.ip_address }}" 7│ 8│# TASK [Check if 10.1.1.1 is a valid IP address] ********************* 9│# ok: [localhost] => { 10│# "ansible_facts": { 11│# "data": true 12│# }, 13│# "changed": false 14│# } 15│
オプション: エディターでサンプルを開き、それを Playbook にコピーします。
:open
検証
コレクション一覧を参照します。
5.3. 自動化コンテンツナビゲーターのドキュメントの確認
対話モードで自動化コンテンツナビゲーターのテキストベースのユーザーインターフェイスを使用して、コレクションおよびプラグインの Ansible ドキュメントを確認できます。自動化コンテンツナビゲーターは、現在のプロジェクトディレクトリー内のコレクションと自動化実行環境で利用可能なコレクションを表示します。
前提条件
- ローカルでアクセス可能なコレクションまたはインストールされた自動化実行環境。
手順
自動化コンテンツナビゲーターを起動します。
$ ansible-navigator
対象のモジュールを確認します。または、
ansible-navigator doc
と入力してドキュメントにアクセスすることもできます。:doc ansible.utils.ip_address
ANSIBLE.UTILS.IP_ADDRESS: Test if something in an IP address 0│--- 1│additional_information: {} 2│collection_info: 3│ authors: 4│ - Ansible Community 5│ dependencies: {} 6│ description: Ansible Collection with utilities to ease the management, manipulation, 7│ and validation of data within a playbook 8│ documentation: null 9│ homepage: null 10│ issues: null 11│ license: [] 12│ license_file: LICENSE 13│ name: ansible.utils 14│ namespace: ansible 15│ path:/usr/share/ansible/collections/ansible_collections/ansible/utils/ 16│ readme: README.md <... output truncated...>
このモジュールのドキュメント例に移動します。
:{{ examples }} 0│ 1│ 2│#### Simple examples 3│ 4│- name: Check if 10.1.1.1 is a valid IP address 5│ ansible.builtin.set_fact: 6│ data: "{{ '10.1.1.1' is ansible.utils.ip_address }}" 7│ 8│# TASK [Check if 10.1.1.1 is a valid IP address] ********************* 9│# ok: [localhost] => { 10│# "ansible_facts": { 11│# "data": true 12│# }, 13│# "changed": false 14│# } 15│
オプション: エディターでサンプルを開き、それを Playbook にコピーします。
:open
エディターのセットアップ方法の詳細は、自動化コンテンツナビゲーターの一般設定 を参照してください。
第6章 自動化コンテンツナビゲーターを使用した Ansible Playbook の実行
コンテンツ作成者は、自動化コンテンツナビゲーターを使用して Ansible Playbook を実行し、各プレイとタスクの結果をインタラクティブに調べて、Playbook を検証またはトラブルシューティングできます。また、実行環境内で Ansible Playbook を実行すれば、実行環境がなくても、問題を比較してトラブルシューティングできます。
6.1. 自動化コンテンツナビゲーターからの Playbook の実行
自動化ナビゲーターのテキストベースのユーザーインターフェイスで Ansible Playbook を実行して、タスクの実行を追跡し、各タスクの結果を詳しく調べることができます。
前提条件
- Playbook
-
localhost
または inventory プラグインを使用しない場合は有効なインベントリーファイル。
手順
自動化コンテンツナビゲーターを起動します。
$ ansible-navigator
Playbook を実行します。
$ :run
-
オプション:
ansible-navigator run simple-playbook.yml -i inventory.yml
を入力して Playbook を実行します。 インベントリーおよびその他のコマンドラインパラメーターを確認または追加します。
INVENTORY OR PLAYBOOK NOT FOUND, PLEASE CONFIRM THE FOLLOWING ───────────────────────────────────────────────────────────────────────── Path to playbook: /home/ansible-navigator_demo/simple_playbook.yml Inventory source: /home/ansible-navigator-demo/inventory.yml Additional command line parameters: Please provide a value (optional) ────────────────────────────────────────────────────────────────────────── Submit Cancel
Tab キーを押して
Submit
に移動し、Enter キーを押します。実行中のタスクが表示されるはずです。プレイ結果にステップインするプレイの横に番号を入力します。9 を超える数字の場合は
:<number>
と入力します。自動化コンテンツナビゲーターで色を有効にしている場合は、失敗したタスクが赤で表示されることに注意してください。
タスクの結果を確認するタスクの横に番号を入力します。9 を超える番号の場合は
:<number>
と入力します。オプション:
:doc
と入力し、トラブルシューティングを支援するタスクで使用されるモジュールまたはプラグインのドキュメントを起動します。ANSIBLE.BUILTIN.PACKAGE_FACTS (MODULE) 0│--- 1│doc: 2│ author: 3│ - Matthew Jones (@matburt) 4│ - Brian Coca (@bcoca) 5│ - Adam Miller (@maxamillion) 6│ collection: ansible.builtin 7│ description: 8│ - Return information about installed packages as facts. <... output omitted ...> 11│ module: package_facts 12│ notes: 13│ - Supports C(check_mode). 14│ options: 15│ manager: 16│ choices: 17│ - auto 18│ - rpm 19│ - apt 20│ - portage 21│ - pkg 22│ - pacman <... output truncated ...>
6.2. 自動化コンテンツナビゲーターアーティファクトファイルを使用した Playbook の結果の確認
Automation コンテンツナビゲーターは、JSON アーティファクトファイルに Playbook 実行の結果を保存します。このファイルを使用して、Playbook の結果を他の人と共有したり、セキュリティーやコンプライアンスの理由で保存したり、後で確認してトラブルシューティングしたりできます。Playbook の実行を確認するには、アーティファクトファイルのみが必要です。Playbook 自体またはインベントリーアクセスにアクセスする必要はありません。
前提条件
- Playbook 実行からの自動化コンテンツナビゲーターアーティファクトの JSON ファイル。
手順
アーティファクトファイルを使用して自動化コンテンツナビゲーターを起動します。
$ ansible-navigator replay simple_playbook_artifact.json
Playbook の実行時に一致する Playbook の結果を確認します。
これで、Playbook を実行した後と同じように、プレイとタスクの横に番号を入力して、それぞれにステップインして結果を確認できるようになりました。
第7章 自動化コンテンツナビゲーターを使用した Ansible 設定の確認
コンテンツ作成者は、自動化コンテンツナビゲーターで Ansible 設定を確認し、インタラクティブに設定を調べることができます。
7.1. 自動化コンテンツナビゲーターで Ansible 設定の確認
Ansible 設定は、自動化コンテンツナビゲーターのテキストベースのユーザーインターフェイスを対話モードで確認でき、設定を詳しく調べることができます。自動化コンテンツナビゲーターは、アクセス可能な Ansible 設定ファイルから結果をプルするか、設定ファイルが存在しない場合にはデフォルトを返します。
前提条件
- 追加の自動化実行環境にアクセスする必要がある場合は、Red Hat レジストリーに対して認証されている。詳細は、Red Hat コンテナーレジストリーの認証 を参照してください。
手順
自動化コンテンツナビゲーターを起動します。
$ ansible-navigator
オプション: コマンドラインから
ansible-navigator config
を入力し、Ansible 設定にアクセスします。Ansible 設定を確認します。
:config
一部の値は、自動化実行環境が機能するために必要な自動化実行環境の設定を反映しています。これらは、Ansible 設定ファイルでは設定できないデフォルト以外の設定として表示されます。
調べる設定に対応する番号を入力します。番号が 9 以上になる場合は、
:<number>
と入力します。ANSIBLE COW ACCEPTLIST (current: ['bud-frogs', 'bunny', 'cheese']) (default: 0│--- 1│current: 2│- bud-frogs 3│- bunny 4│- cheese 5│default: 6│- bud-frogs 7│- bunny 8│- cheese 9│- daemon
出力には、現在の setting
と default
が表示されます。設定は自動化実行環境のものであるため、この例の source
は env
であることに注意してください。
検証
設定出力を確認します。
第8章 自動化コンテンツナビゲーターの設定設定
コンテンツ作成者は、開発環境に合わせるために、自動化コンテンツナビゲーターを設定できます。
8.1. 自動化コンテンツナビゲーター設定ファイルの作成
以下を使用して、デフォルトの自動化コンテンツナビゲーター設定を変更できます。
- コマンドライン
- 設定ファイル内で
- 環境変数として
自動化コンテンツナビゲーターは以下の順序で設定ファイルを確認し、最初の一致を使用します。
-
ANSIBLE_NAVIGATOR_CONFIG
: 設定されている場合は、設定ファイルのパス環境変数です。 -
./ansible-navigator.<ext>
: 現行プロジェクトディレクトリー内の設定ファイルです。ファイル名にドットはありません。 -
\~/.ansible-navigator.<ext>
: ファイル名にドットが含まれるホームディレクトリーです。
自動化コンテンツナビゲーター設定ファイルを作成する場合は、以下を考慮してください。
-
設定ファイルは、
JSON
形式またはYAML
形式のいずれかを使用できます。 -
JSON
形式では、拡張子を.json
にする必要があります。 -
YAML
形式では、拡張子を.yml
または.yaml
にする必要があります。 - プロジェクトおよびホームディレクトリーにはそれぞれ設定ファイルを 1 つだけ使用できます。
- 自動化コンテンツナビゲーターが、いずれかのディレクトリーで複数の設定ファイルを見つけると、エラーが発生します。
以下の設定ファイル例をそれらのパスのいずれかにコピーして、ansible-navigator
設定ファイルを開始できます。
--- ansible-navigator: # ansible: # config: /tmp/ansible.cfg # cmdline: "--forks 15" # inventories: # - /tmp/test_inventory.yml # playbook: /tmp/test_playbook.yml # ansible-runner: # artifact-dir: /tmp/test1 # rotate-artifacts-count: 10 # timeout: 300 # app: run # collection-doc-cache-path: /tmp/cache.db # color: # enable: False # osc4: False # editor: # command: vim_from_setting # console: False # documentation: # plugin: # name: shell # type: become # execution-environment: # container-engine: podman # enabled: False # environment-variables: # pass: # - ONE # - TWO # - THREE # set: # KEY1: VALUE1 # KEY2: VALUE2 # KEY3: VALUE3 # image: test_image:latest # pull-policy: never # volume-mounts: # - src: "/test1" # dest: "/test1" # label: "Z" # help-config: True # help-doc: True # help-inventory: True # help-playbook: False # inventory-columns: # - ansible_network_os # - ansible_network_cli_ssh_type # - ansible_connection logging: # append: False level: critical # file: /tmp/log.txt # mode: stdout # playbook-artifact: # enable: True # replay: /tmp/test_artifact.json # save-as: /tmp/test_artifact.json
8.2. 自動化コンテンツナビゲーターの一般設定
以下の表は、自動化コンテンツナビゲーターの一般的な各パラメーターと設定オプションを説明しています。
表8.1 自動化コンテンツナビゲーターの一般的なパラメーター設定
パラメーター | 説明 | オプションの設定 |
---|---|---|
ansible-runner-artifact-dir | ansible-runner によって生成されたアーティファクトを保存するディレクトリーパス。 | デフォルト: デフォルト値設定なし
CLI:
ENV: 設定ファイル: ansible-navigator: ansible-runner: artifact-dir: |
ansible-runner-rotate-artifacts-count | 最後の n の実行には、ansible-runner アーティファクトディレクトリーを保持します。0 に設定すると、アーティファクトディレクトリーは削除されません。 | デフォルト: デフォルト値設定なし
CLI:
ENV: 設定ファイル: ansible-navigator: ansible-runner: rotate-artifacts-count: |
ansible-runner-timeout |
| デフォルト: デフォルト値設定なし
CLI:
ENV: 設定ファイル: ansible-navigator: ansible-runner: timeout: |
app | 自動化コンテンツナビゲーターのエントリーポイント。 |
選択肢:
デフォルト:
CLI の例:
ENV: 設定ファイル: ansible-navigator: app: |
cmdline | 対応するコマンドに渡す追加のパラメーター。 | デフォルト: デフォルト値なし CLI: 位置
ENV: 設定ファイル: ansible-navigator: ansible: cmdline: |
collection-doc-cache-path | コレクションのドキュメントキャッシュへのパス。 |
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: collection-doc-cache-path: |
container-engine |
コンテナーエンジンを指定します ( |
選択肢:
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: execution-environment: container-engine: |
display-color | ディスプレイでの色の使用を有効にします。 |
選択肢:
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: color: enable: |
editor-command | 自動化コンテンツナビゲーターが使用するエディターを指定します。 | デフォルト:* vi +{line_number} {filename}
CLI:
ENV: 設定ファイル: ansible-navigator: editor: command: |
editor-console | エディターがコンソールベースであるかどうかを指定します。 |
選択肢:
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: editor: console: |
execution-environment | 自動化実行環境の使用を有効または無効にします。 |
選択肢:
デフォルト:
CLI:
ENV:* 設定ファイル: ansible-navigator: execution-environment: enabled: |
execution-environment-image | 自動化実行環境イメージの名前を指定します。 |
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: execution-environment: image: |
execution-environment-volume-mounts |
自動化実行環境内にバインドマウントするボリュームを指定します ( | デフォルト: デフォルト値設定なし
CLI:
ENV: 設定ファイル: ansible-navigator: execution-environment: volume-mounts: |
log-append | ログメッセージを既存のログファイルに追加するかどうかを指定します。既存のログファイルを追加しないと、セッションごとに新しいログファイルが作成されます。 |
選択肢: デフォルト: True
CLI:
ENV: 設定ファイル: ansible-navigator: logging: append: |
log-file | 自動化コンテンツナビゲーターのログファイルの完全パスを指定します。 |
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: logging: file: |
log-level | 自動化コンテンツナビゲーターのログレベルを指定します。 |
選択肢:
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: logging: level: |
mode | ユーザーインターフェイスモードを指定します。 |
選択肢:
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: mode: |
osc4 | OSC 4 で端末の色変更のサポートを有効または無効にします。 |
選択肢:
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: color: osc4: |
pass-environment-variable |
自動化実行環境内で渡される終了環境変数を指定します ( | デフォルト: デフォルト値設定なし
CLI:
ENV: 設定ファイル: ansible-navigator: execution-environment: environment-variables: pass: |
pull-policy | イメージプルポリシーを指定します。
|
選択肢:
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: execution-environment: pull-policy: |
set-environment-variable |
自動化実行環境内で設定する環境変数および値を指定します | デフォルト: デフォルト値設定なし
CLI:
ENV: 設定ファイル: ansible-navigator: execution-environment: environment-variables: set: |
8.3. 自動化コンテンツナビゲーターの config
サブコマンド設定
以下の表は、自動化コンテンツナビゲーター config
サブコマンドの各パラメーターと設定オプションを示しています。
表8.2 自動化コンテンツナビゲーターの config
サブコマンドパラメーター設定
パラメーター | 説明 | オプションの設定 |
---|---|---|
config | Ansible 設定ファイルのパスを指定します。 | デフォルト: デフォルト値設定なし
CLI:
ENV: 設定ファイル: ansible-navigator: ansible: config: |
help-config |
|
選択肢:*
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: help-config: |
8.4. 自動化コンテンツナビゲーターの doc
サブコマンド設定
以下の表は、自動化コンテンツナビゲーターの doc
サブコマンド用の各パラメーターおよび設定オプションを示しています。
表8.3 自動化コンテンツナビゲーターの doc
サブコマンドパラメーター設定
パラメーター | 説明 | オプションの設定 |
---|---|---|
help-doc |
|
選択肢:
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: help-doc: |
plugin-name | プラグイン名を指定します。 | デフォルト: デフォルト値設定なし CLI: 位置
ENV: 設定ファイル: ansible-navigator: documentation: plugin: name: |
plugin-type | プラグインタイプを指定します。 |
選択肢:
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: documentation: plugin: type: |
8.5. 自動化コンテンツナビゲーターの inventory
サブコマンド設定
以下の表は、自動化コンテンツナビゲーターの inventory
サブコマンドの各パラメーターおよび設定オプションを示しています。
表8.4 自動化コンテンツナビゲーターの inventory
サブコマンド設定
パラメーター | 説明 | オプションの設定 |
---|---|---|
help-inventory |
|
選択肢:
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: help-inventory: |
inventory | インベントリーファイルパスまたはコンマ区切りホスト一覧を指定します。 | デフォルト: デフォルト値設定なし
CLI:
ENV: 設定ファイル: ansible-navigator: inventories: |
inventory-column | インベントリービューに表示されるホスト属性を指定します。 | デフォルト: デフォルト値設定なし
CLI:
ENV:* ansible-navigator: inventory-columns: |
8.6. 自動化コンテンツナビゲーターの replay
サブコマンド設定
以下の表は、自動化コンテンツナビゲーターの replay
サブコマンド用の各パラメーターおよび設定オプションを示しています。
表8.5 自動化コンテンツナビゲーターの replay
サブコマンドパラメーター設定
パラメーター | 説明 | オプションの設定 |
---|---|---|
playbook-artifact-replay | 再生する Playbook アーティファクトのパスを指定します。 | デフォルト: デフォルト値設定なし CLI: 位置
ENV: 設定ファイル: ansible-navigator: playbook-artifact: replay: |
8.7. 自動化コンテンツナビゲーターの run
サブコマンド設定
以下の表は、自動化コンテンツナビゲーターの run
サブコマンド用の各パラメーターおよび設定オプションを示しています。
表8.6 自動化コンテンツナビゲーターの run
サブコマンドパラメーター設定
パラメーター | 説明 | オプションの設定 |
---|---|---|
playbook-artifact-replay | 再生する Playbook アーティファクトのパスを指定します。 | デフォルト: デフォルト値設定なし CLI: 位置
ENV: 設定ファイル: ansible-navigator: playbook-artifact: replay: |
help-playbook |
|
選択肢:
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: help-playbook: |
inventory | インベントリーファイルパスまたはコンマ区切りホスト一覧を指定します。 | デフォルト: デフォルト値設定なし
CLI:
ENV: 設定ファイル: ansible-navigator: inventories: |
inventory-column | インベントリービューに表示されるホスト属性を指定します。 | デフォルト: デフォルト値設定なし
CLI:
ENV:* ansible-navigator: inventory-columns: |
Playbook | Playbook 名を指定します。 | デフォルト: デフォルト値設定なし CLI: 位置
ENV: 設定ファイル:* ansible-navigator: ansible: playbook: |
playbook-artifact-enable |
完了した Playbook のアーティファクトの作成を有効または無効にします。注記: Playbook でユーザー入力が必要な場合には、 |
選択肢:
デフォルト:
CLI: ansible-navigator: playbook-artifact: enable: |
playbook-artifact-save-as | 完了した Playbook から作成したアーティファクトの名前を指定します。 |
デフォルト:
CLI:
ENV: 設定ファイル: ansible-navigator: playbook-artifact: save-as: |
第9章 自動化コンテンツナビゲーターを使用した Ansible コンテンツのトラブルシューティング
コンテンツ作成者は、自動化コンテンツナビゲーターで Ansible コンテンツ (コレクション、自動化実行環境、および Playbook) をトラブルシューティングしたり、Playbook を対話形式でトラブルシューティングしたりできます。自動化実行環境の内外で結果を比較し、問題をトラブルシューティングすることもできます。
9.1. 自動化コンテンツナビゲーターアーティファクトファイルを使用した Playbook の結果の確認
Automation コンテンツナビゲーターは、JSON アーティファクトファイルに Playbook 実行の結果を保存します。このファイルを使用して、Playbook の結果を他の人と共有したり、セキュリティーやコンプライアンスの理由で保存したり、後で確認してトラブルシューティングしたりできます。Playbook の実行を確認するには、アーティファクトファイルのみが必要です。Playbook 自体またはインベントリーアクセスにアクセスする必要はありません。
前提条件
- Playbook 実行からの自動化コンテンツナビゲーターアーティファクトの JSON ファイル。
手順
アーティファクトファイルを使用して自動化コンテンツナビゲーターを起動します。
$ ansible-navigator replay simple_playbook_artifact.json
Playbook の実行時に一致する Playbook の結果を確認します。
これで、Playbook を実行した後と同じように、プレイとタスクの横に番号を入力して、それぞれにステップインして結果を確認できるようになりました。
9.2. 自動化コンテンツナビゲーターでよくある質問 (FAQ)
次の自動化コンテンツナビゲーターの FAQ を、お使いの環境で発生している問題のトラブルシューティングに役立ててください。
- 自動化実行環境を使用する場合、
ansible.cfg
ファイルはどこに置く必要がありますか。 -
ansible.cfg
を使用する最も簡単な方法は、Playbook の横にあるプロジェクトディレクトリーに置くことです。Playbook ディレクトリーは実行環境に自動的にマウントされ、ansible.cfg
ファイルが表示されます。ansible.cfg
ファイルが別のディレクトリーにある場合は、ANSIBLE_CONFIG
変数とカスタムボリュームマウントとして指定されたディレクトリーを設定する必要があります。execution-environment-volume-mounts
については、Automation content navigator の設定 を参照してください。 - 自動化実行環境を使用しない場合、
ansible.cfg
ファイルはどこに置く必要がありますか。 -
自動化実行環境を使用しない場合、Ansible は通常の場所で
ansible.cfg
を探します。詳細は、Ansible 構成設定 を参照してください。 - 自動化実行環境を使用する場合、Ansible コレクションはどこに置く必要がありますか。
-
Ansible コレクションを作成する最も簡単な場所は、プロジェクトディレクトリー、Playbook に隣接するコレクションディレクトリーです (例:
ansible-galaxy collections install ansible.utils -p ./collections
)。Playbook ディレクトリーは自動化実行環境に自動的にマウントされ、自動化コンテンツナビゲーターはその環境でコレクションを見つけます。または、Ansible Builder を使用して、コレクションを自動化実行環境に構築する方法もあります。自動化コントローラーは Playbook に隣接するコレクションディレクトリーをサポートしているため、これはコンテンツ作成者が実稼働用の Playbook を作成するのに役立ちます。コレクションが別のディレクトリーにある場合は、ANSIBLE_COLLECTIONS_PATHS
変数を設定して、そのディレクトリーのカスタムボリュームマウントを設定します。execution-environment-volume-mounts
については、自動化コンテンツナビゲーターの設定 を参照してください。 - 自動化実行環境を使用していない場合、Ansible コレクションはどこに置く必要がありますか。
- 自動化実行環境を使用しない場合は、Ansible がコレクションのデフォルト場所を検索します。Ansible Collections ユーザーガイド を参照してください。
vars_prompt
またはpause/prompt
が使用されたときに Playbook がハングするのはなぜですか。-
デフォルトでは、自動化コンテンツナビゲーターは、自動化コントローラーが Playbook を実行するのと同じ方法で Playbook を実行します。これは、コンテンツ作成者が実稼働環境を準備する Playbook を作成するために実行されました。
vars_prompt
またはpause\prompt
の使用を回避できない場合は、playbook-artifact
の作成を無効にすると、自動化コンテンツナビゲーターはansible-playbook
と互換性のある方法で Playbook を実行し、ユーザーの対話を可能にします。 - 端末コンテンツナビゲーターが端末の色を変更したり、見栄えが悪くなるのはなぜですか。
-
自動化コンテンツナビゲーターは、OSC4 互換性の端末にクエリーを実行します。OSC4、10、11、104、110、および 111 は、端末が色変更をサポートすることを示し、元に戻します。端末が機能を誤って表示している可能性があります。OSC4 検出は、
--osc4 false
を設定して無効にできます。(環境変数または設定ファイルでこれを処理する方法は、自動化コンテンツナビゲーターの一般設定 を参照してください)。 - 自動化コンテンツナビゲーターで使用される色を変更するにはどうすればよいですか。
-
--osc4 false
を使用して、自動化コンテンツナビゲーターを強制的に端末定義した色を使用するようにします。(環境変数または設定ファイルでこれを処理する方法は、自動化コンテンツナビゲーターの一般設定 を参照してください)。 - playbook ディレクトリーにあるすべての
site-artifact-2021-06-02T16:02:33.911259+00:00.json
ファイルは何に使用しますか。 -
自動化コンテンツナビゲーターは、すべての Playbook の実行に対して Playbook アーティファクトを作成します。これらは、自動化が完了した後の結果の確認、同僚との共有とトラブルシューティング、またはコンプライアンスや変更管理の目的での維持に役立ちます。Playbook アーティファクトファイルには、すべてのプレイおよびタスク、Playbook 実行からの
stdout
に関する情報が含まれます。Automation content navigator のセッション中に、ansible-navigator restart <filename>
または:replay <filename>
を使用して、Playbook アーティファクトを確認できます。すべての Playbook アーティファクトは、必要なビューに応じて、--mode stdout
および--mode interactive
の両方で確認できます。Playbook のアーティファクトの記述およびデフォルトのファイルの命名規則を無効にすることができます。(環境変数または設定ファイルでこれを処理する方法は、自動化コンテンツナビゲーターの一般設定 を参照してください)。 :open
を使用するとvi
が開くのはなぜですか。自動化コンテンツナビゲーターは、デフォルトのエディターで端末に表示されるものを開きます。デフォルトは
vi +{line_number} {filename}
、またはEDITOR
環境変数の現在の値のいずれかに設定されます。これは、エディターがコンソールベースまたは端末ベースであるかを示すeditor-console
設定です。役立つ可能性のある代替設定の例を以下に示します。# emacs ansible-navigator: editor: command: emacs -nw +{line_number} {filename} console: true
# vscode ansible-navigator: editor: command: code -g {filename}:{line_number} console: false
#pycharm ansible-navigator: editor: command: charm --line {line_number} {filename} console: false
- どの順番で設定が適用されますか。
自動化コンテンツナビゲーター設定システムは、さまざまなソースから設定をプルするため、以下の順序で階層的に適用します (最後に適用された変更が最も一般的なものになります)。
- デフォルトの内部値
- 設定ファイルの値
- 環境変数からの値
- コマンドラインで指定されたフラグおよび引数
-
テキストベースのユーザーインターフェイス内で
:
コマンドを実行している間
- 何かが機能しませんでした。どうすればトラブルシューティングできますか。
-
自動化コンテンツナビゲーターには、適切なログメッセージがあります。
--log-level debug
を使用して、debug
ログを有効にできます。バグを見つけたと思われる場合は、問題をログに記録し、ログファイルから詳細情報を追加してください。