Menu Close

Ansible Navigator Creator ガイド

Red Hat Ansible Automation Platform 2.1

Ansible Creator ワークフローで Ansible Navigator の使用

概要

フィードバックの提供:
本書を改善するためのご意見がある場合や、エラー発見した場合は、テクニカルサポートに https://access.redhat.com連絡して Docsコンポーネントを使用して Ansible Automation PlatformJira プロジェクトで問題を作成してください。

第1章 Ansible コンテンツナビゲーターの概要

コンテンツ作成者は、自動化コンテンツナビゲーターを使用して、Red Hat Ansible Automation Platform と互換性のある Ansible Playbook、コレクション、およびロールを開発できます。以下の環境で自動化コンテンツナビゲーターを使用できますが、すべてでシームレスかつ予測可能な結果が得られます。

  • ローカルの開発マシン
  • 自動化実行環境

また、自動化コンテンツナビゲーターは、Playbook の開発および問題領域のトラブルシューティングに役立つアーティファクトファイルも作成します。

1.1. 自動化コンテンツナビゲーターへの使用

自動化コンテンツナビゲーターは、テキストベースのユーザーインターフェースを備えたコマンドラインのコンテンツクリエーターに焦点を当てたツールです。自動化コンテンツナビゲーターを使用して、以下を実行できます。

  • ジョブおよび Playbook を起動し、監視します。
  • 保存され、完成した Playbook とジョブ実行アーティファクトを JSON 形式で共有します。
  • 自動化実行環境を閲覧およびイントロスペクションします。
  • ファイルベースのインベントリーを参照します。
  • Ansible モジュールのドキュメントをレンダリングし、Playbook で使用できるサンプルを展開します。

自動化実行環境などのコンテナーでは、ansible-playbook などの Ansible コアの一部である Ansible コマンドを実行できません。自動化実行環境と互換性がある Ansible CLI コマンドセットが含まれる、自動化コンテンツナビゲーターを使用します。Automation コンテンツナビゲーターでは、テキストベースのユーザーインターフェース内にさらに詳細な出力も含まれます。

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) と互換性があります。

navigator welcome

このモードには、便利なユーザーインターフェースオプションが多数含まれています。

コロンコマンド
:run:collections など、コロンを使用して、すべての Automation コンテンツナビゲーターコマンドにアクセスできます。
テキストベースのインターフェースの移動
この画面には、ページアップまたはページダウン、スクロール、前の画面へのエスケープ、または :help へのアクセス方法が表示されます。
行番号による出力
表示された出力の行番号の前にコロンを付ける (例: :12) と、その行にアクセスできます。
色でコーディングされた出力
色を有効にすると、自動化コンテンツナビゲーターは非推奨のモジュールなどのアイテムを赤で表示します。
ページネーションおよびスクロール
各自動化コンテンツナビゲーター画面の下部に表示されるオプションを使用して、ページを上下に移動したり、スクロールしたり、エスケープしたりできます。

自動化コンテンツナビゲーターの実行後は、モード間の切り替えができません。

本書では、ほとんどの手順でテキストベースのユーザーインターフェースモードを使用します。

1.3. 自動化コンテンツナビゲーターコマンド

自動化コンテンツナビゲーターコマンドは、一般的な Ansible CLI コマンドを -m stdout モードで実行します。関連する Ansible CLI コマンドのすべてのサブコマンドおよびオプションを使用できます。詳細は、ansible-navigator --help を使用してください。

表1.1 自動化コンテンツナビゲーターコマンド

コマンド説明CLI の例

collections

利用可能なコレクションを調べる

ansible-navigator collections --help

config

現在の Ansible 設定を調べる

ansible-navigator config --help

doc

モジュールまたはプラグインのドキュメントを参照する

ansible-navigator doc --help

images

実行環境イメージを調べる

ansible-navigator images --help

inventory

インベントリーを調べる

ansible-navigator inventory --help

replay

Playbook アーティファクトを使用して以前の実行を調べる

ansible-navigator replay --help

run

Playbook を実行する

ansible-navigator run --help

welcome

Welcome ページから開始する

ansible-navigator welcome --help

1.4. Ansible コマンドと自動化コンテンツナビゲーターコマンド間の関係

自動化コンテンツナビゲーターコマンドは、一般的な Ansible CLI コマンドを -m stdout モードで実行します。関連する Ansible CLI コマンドで利用できるすべてのサブコマンドおよびオプションを使用できます。詳細は、ansible-navigator --help を使用してください。

表1.2 自動化コンテンツナビゲーターコマンドと Ansible CLI コマンドの比較

Ansible ナビゲーターコマンドAnsible CLI コマンド

ansible-navigator collections

ansible-galaxy collection

ansible-navigator config

ansible-config

ansible-navigator doc

ansible-doc

ansible-navigator inventory

ansible-inventory

ansible-navigator run

ansible-playbook

第2章 RHEL への自動コンテンツナビゲーターのインストール

コンテンツ作成者は、Red Hat Enterprise Linux (RHEL) 8 以降に、自動化コンテンツナビゲーターをインストールできます。

2.1. RPM からの RHEL への自動化コンテンツナビゲーターのインストール

RPM から、Red Hat Enterprise Linux (RHEL) に自動化コンテンツナビゲーターをインストールできます。

前提条件

  • RHEL 8 以降をインストールしている。
  • Red Hat Subscription Manager でシステムを登録している。

手順

  1. Red Hat Ansible Automation Platform SKU を割り当てます。

    $ subscription-manager attach --pool=<sku-pool-id>
  2. RHEL 8 のリポジトリーを有効にします。

    $ sudo subscription-manager repos --enable ansible-automation-platform-2.1-for-rhel-8-x86_64-rpms
  3. 自動化コンテンツナビゲーターをインストールします。

    $ dnf install ansible-navigator

検証

  • 自動化コンテンツナビゲーターのインストールを確認します。

    $ ansible-navigator --help

以下の例は、インストールの成功を示しています。

navigator stdout

第3章 自動化コンテンツナビゲーターを使用した自動化実行環境の確認

コンテンツ開発者は、自動化コンテンツナビゲーターで自動化実行環境を確認し、自動化実行環境に含まれるパッケージとコレクションを表示できます。自動化コンテンツナビゲーターは Playbook を実行して結果を抽出し、表示します。

3.1. 自動化コンテンツナビゲーターからの自動化実行環境の確認

自動化コンテンツナビゲーターのテキストベースのユーザーインターフェースを使用して、自動化実行環境を確認できます。

前提条件

  • 自動化実行環境

手順

  1. 自動化コンテンツナビゲーター設定に含まれる自動化実行環境を確認します。

    $ ansible-navigator images
    navigator images list
  2. 詳細については、詳しく調べたい自動化実行環境の数を入力してください。

    navigator image details

    インストールされている各自動化実行環境のパッケージおよびバージョン、および Ansible バージョンに含まれるコレクションを確認できます。

  3. オプション: 使用する自動化実行環境を渡します。これはプライマリーであり、自動化コンテンツナビゲーターが使用する自動化実行環境です。

    $ ansible-navigator images --eei  registry.example.com/example-enterprise-ee:latest

検証

  • 自動化実行環境の出力を確認します。

    navigator image details

第4章 自動化コンテンツナビゲーターを使用したインベントリーの確認

コンテンツ作成者は、自動化コンテンツナビゲーターを使用して Ansible インベントリーを確認し、グループとホストをインタラクティブに調べることができます。

4.1. 自動化コンテンツナビゲーターからインベントリーの確認

インタラクティブモードの自動化コンテンツナビゲーターのテキストベースのユーザーインターフェースを使用して Ansible インベントリーを確認し、グループとホストを詳しく調べて詳細を確認できます。

前提条件

  • 有効なインベントリーファイルまたはインベントリープラグイン

手順

  1. 自動化コンテンツナビゲーターを起動します。

    $ ansible-navigator

    オプション:コマンドラインから ansible-navigator inventory -i simple_inventory.yml と入力してインベントリーを表示します。

  2. インベントリーを確認します。

     :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
  3. 0 と入力してグループを表示します。

      NAME               TAXONOMY                      TYPE
    0│general            all                           group
    1│nodes              all                           group
    2│ungrouped          all                           group

    TAXONOMY フィールドには、選択したグループまたはノードが属するグループの階層の詳細が表示されます。

  4. 調べるグループに対応する番号を入力します。

      NAME              TAXONOMY                        TYPE
    0│node-0            all▸nodes                       host
    1│node-1            all▸nodes                       host
    2│node-2            all▸nodes                       host
  5. 調べるホストに対応する番号を入力します。番号が 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 フィールドに基づいて、自動化実行環境またはローカルファイルシステム内のコレクションの場所を反映します。
navigator collections shadow

5.2. 自動化コンテンツナビゲーターからのコレクションの参照

インタラクティブモードの自動化コンテンツナビゲーターのテキストベースのユーザーインターフェースを使用して Ansible コレクションを参照し、各コレクションを詳しく調べることができます。自動化コンテンツナビゲーターは、現在のプロジェクトディレクトリー内のコレクションと自動化実行環境で利用可能なコレクションを表示します。

前提条件

  • ローカルでアクセス可能なコレクションまたはインストールされた自動化実行環境。

手順

  1. 自動化コンテンツナビゲーターを起動します。

    $ ansible-navigator
  2. コレクションを参照します。または、ansible-navigator collections と入力してコレクションを直接参照することもできます。

    $ :collections
    navigator collection list
  3. 確認するコレクションの数を入力します。

    :4
    navigator plugin list
  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...>
  5. オプション:このモジュールのドキュメントの例に移動します。

    :{{ 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│
  6. オプション:エディターでサンプルを開き、それを Playbook にコピーします。

    :open
    navigator vscode example

検証

  • コレクション一覧を参照します。

    navigator collection list

5.3. 自動化コンテンツナビゲーターのドキュメントの確認

対話モードで自動化コンテンツナビゲーターのテキストベースのユーザーインターフェースを使用して、コレクションおよびプラグインの Ansible ドキュメントを確認することができます。自動化コンテンツナビゲーターは、現在のプロジェクトディレクトリー内のコレクションと自動化実行環境で利用可能なコレクションを表示します。

前提条件

  • ローカルでアクセス可能なコレクションまたはインストールされた自動化実行環境。

手順

  1. 自動化コンテンツナビゲーターを起動します。

    $ ansible-navigator
  2. 対象のモジュールを確認します。または、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...>
  3. このモジュールのドキュメント例に移動します。

    :{{ 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│
  4. オプション:エディターでサンプルを開き、それを Playbook にコピーします。

    :open
    navigator vscode example

    エディターの設定方法の詳細は 「自動化コンテンツナビゲーターの一般設定」 を参照してください。

第6章 自動化コンテンツナビゲーターを使用した Ansible Playbook の実行

コンテンツ作成者は、自動化コンテンツナビゲーターを使用して Ansible Playbook を実行し、各プレイとタスクの結果をインタラクティブに調べて、Playbook を検証またはトラブルシューティングすることができます。また、実行環境内で Ansible Playbook を実行して、実行環境なしでも、問題を比較し、トラブルシューティングすることもできます。

6.1. 自動化コンテンツナビゲーターからの Playbook の実行

自動化ナビゲーターのテキストベースのユーザーインターフェースで Ansible Playbook を実行して、タスクの実行を追跡し、各タスクの結果を詳しく調べることができます。

前提条件

  • Playbook
  • localhost または inventory プラグインを使用しない場合の、有効なインベントリーファイルです。

手順

  1. 自動化コンテンツナビゲーターを起動します。

    $ ansible-navigator
  2. Playbook を実行します。

    $ :run
  3. オプション:ansible-navigator run simple-playbook.yml -i inventory.yml を入力して Playbook を実行します。
  4. インベントリーおよびその他のコマンドラインパラメーターを確認または追加します。

    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
  5. Tab キーを押して Submit に移動し、Enter キーを押します。実行中のタスクが表示されるはずです。

    navigator play list
  6. プレイ結果にステップインするプレイの横に番号を入力します。9 を超える数字の場合は :<number> と入力します。

    navigator task list

    自動化コンテンツナビゲーターで色を有効にしている場合は、失敗したタスクが赤で表示されることに注意してください。

  7. タスクの結果を確認するタスクの横に番号を入力します。9 を超える番号の場合は :<number> と入力します。

    navigator task output failed
  8. オプション::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
    1. Playbook の実行時に一致する Playbook の結果を確認します。

      navigator artifact replay

これで、Playbook を実行した後と同じように、プレイとタスクの横に番号を入力して、それぞれにステップインして結果を確認できるようになりました。

第7章 自動化コンテンツナビゲーターを使用した Ansible 設定の確認

コンテンツ作成者は、自動化コンテンツナビゲーターで Ansible 設定を確認し、インタラクティブに設定を調べることができます。

7.1. 自動化コンテンツナビゲーターで Ansible 設定の確認

Ansible 設定は、自動化コンテンツナビゲーターのテキストベースのユーザーインターフェースを対話モードで確認でき、設定を詳しく調べることができます。自動化コンテンツナビゲーターは、アクセス可能な Ansible 設定ファイルから結果をプルするか、設定ファイルが存在しない場合にはデフォルトを返します。

前提条件

手順

  1. 自動化コンテンツナビゲーターを起動します。

    $ ansible-navigator

    オプション:コマンドラインから ansible-navigator config を入力し、Ansible 設定にアクセスします。

  2. Ansible 設定を確認します。

     :config
    navigator ansible config

    一部の値は、自動化実行環境が機能するために必要な自動化実行環境の設定を反映しています。これらは、Ansible 設定ファイルでは設定できないデフォルト以外の設定として表示されます。

  3. 調べる設定に対応する番号を入力します。番号が 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

出力には、現在の 設定デフォルト が表示されます。設定は自動化実行環境からのものであるため、この例の sourceenv であることに注意してください。

検証

  • 設定出力を確認します。

    navigator ansible config

第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: --rad または --ansible-runner-artifact-dir

ENV: ANSIBLE_NAVIGATOR_ANSIBLE_RUNNER_ARTIFACT_DIR

設定ファイル:

ansible-navigator:
  ansible-runner:
    artifact-dir:

ansible-runner-rotate-artifacts-count

最後の n の実行には、ansible-runner アーティファクトディレクトリーを保持します。0 に設定すると、アーティファクトディレクトリーは削除されません。

デフォルト: デフォルト値設定なし

CLI: --rac または --ansible-runner-rotate-artifacts-count

ENV: ANSIBLE_NAVIGATOR_ANSIBLE_RUNNER_ROTATE_ARTIFACTS_COUNT

設定ファイル:

ansible-navigator:
  ansible-runner:
    rotate-artifacts-count:

ansible-runner-timeout

ansible-runner が強制的に実行を停止する場合のタイムアウト値。

デフォルト: デフォルト値設定なし

CLI: --rt または --ansible-runner-timeout

ENV: ANSIBLE_NAVIGATOR_ANSIBLE_RUNNER_TIMEOUT

設定ファイル:

ansible-navigator:
  ansible-runner:
    timeout:

app

自動化コンテンツナビゲーターのエントリーポイント。

選択肢: collectionsconfigdocimagesinventoryreplayrun、または welcome

デフォルト: welcome

CLI の例: ansible-navigator collections

ENV: ANSIBLE_NAVIGATOR_APP

設定ファイル:

ansible-navigator:
  app:

cmdline

対応するコマンドに渡す追加のパラメーター。

デフォルト: デフォルト値なし

CLI: 位置

ENV: ANSIBLE_NAVIGATOR_CMDLINE

設定ファイル:

ansible-navigator:
  ansible:
    cmdline:

collection-doc-cache-path

コレクションのドキュメントキャッシュへのパス。

デフォルト: $HOME/.cache/ansible-navigator/collection_doc_cache.db

CLI: --cdcp または --collection-doc-cache-path

ENV: ANSIBLE_NAVIGATOR_COLLECTION_DOC_CACHE_PATH

設定ファイル:

ansible-navigator:
  collection-doc-cache-path:

container-engine

コンテナーエンジンを指定します (auto=podman then docker).

選択肢: autopodman、または docker

デフォルト: auto

CLI: --ce または --container-engine

ENV: ANSIBLE_NAVIGATOR_CONTAINER_ENGINE

設定ファイル:

ansible-navigator:
  execution-environment:
    container-engine:

display-color

ディスプレイでの色の使用を有効にします。

選択肢: True または False

デフォルト: True

CLI: --dc または --display-color

ENV: NO_COLOR

設定ファイル:

ansible-navigator:
  color:
    enable:

editor-command

自動化コンテンツナビゲーターが使用するエディターを指定します。

デフォルト:* vi +{line_number} {filename}

CLI: --ecmd または --editor-command

ENV: ANSIBLE_NAVIGATOR_EDITOR_COMMAND

設定ファイル:

ansible-navigator:
  editor:
    command:

editor-console

エディターがコンソールベースであるかどうかを指定します。

選択肢: True または False

デフォルト: True

CLI: --econ または --editor-console

ENV: ANSIBLE_NAVIGATOR_EDITOR_CONSOLE

設定ファイル:

ansible-navigator:
  editor:
    console:

execution-environment

自動化実行環境の使用を有効または無効にします。

選択肢: True または False

デフォルト: True

CLI: --ee または --execution-environment

ENV:* ANSIBLE_NAVIGATOR_EXECUTION_ENVIRONMENT

設定ファイル:

ansible-navigator:
  execution-environment:
    enabled:

execution-environment-image

自動化実行環境イメージの名前を指定します。

デフォルト: quay.io/ansible/ansible-runner:devel

CLI: --eei または --execution-environment-image

ENV: ANSIBLE_NAVIGATOR_EXECUTION_ENVIRONMENT_IMAGE

設定ファイル:

ansible-navigator:
  execution-environment:
    image:

execution-environment-volume-mounts

自動化実行環境内にバインドマウントするボリュームを指定します (--eev /home/user/test:/home/user/test:Z)

デフォルト: デフォルト値設定なし

CLI: --eev または --execution-environment-volume-mounts

ENV: ANSIBLE_NAVIGATOR_EXECUTION_ENVIRONMENT_VOLUME_MOUNTS

設定ファイル:

ansible-navigator:
  execution-environment:
    volume-mounts:

log-append

ログメッセージを既存のログファイルに追加するかどうかを指定します。既存のログファイルを追加しないと、セッションごとに新しいログファイルが作成されます。

選択肢: True または False

デフォルト: True

CLI: --la または --log-append

ENV: ANSIBLE_NAVIGATOR_LOG_APPEND

設定ファイル:

ansible-navigator:
  logging:
    append:

log-file

自動化コンテンツナビゲーターのログファイルの完全パスを指定します。

デフォルト: $PWD/ansible-navigator.log

CLI: --lf または --log-file

ENV: ANSIBLE_NAVIGATOR_LOG_FILE

設定ファイル:

ansible-navigator:
  logging:
    file:

ログレベル

自動化コンテンツナビゲーターのログレベルを指定します。

選択肢: debuginfowarningerror、または critical

デフォルト: warning

CLI: --ll または --log-level

ENV: ANSIBLE_NAVIGATOR_LOG_LEVEL

設定ファイル:

ansible-navigator:
  logging:
    level:

mode

ユーザーインターフェースモードを指定します。

選択肢: stdout または interactive

デフォルト: interactive

CLI: -m または --mode

ENV: ANSIBLE_NAVIGATOR_MODE

設定ファイル:

ansible-navigator:
  mode:

osc4

OSC 4 で端末の色変更のサポートを有効または無効にします。

選択肢: True または False

デフォルト: True

CLI: --osc4 または --osc4

ENV: ANSIBLE_NAVIGATOR_OSC4

設定ファイル:

ansible-navigator:
  color:
    osc4:

pass-environment-variable

自動化実行環境内で渡される終了環境変数を指定します (--penv MY_VAR)。

デフォルト: デフォルト値設定なし

CLI: --penv または --pass-environment-variable

ENV: ANSIBLE_NAVIGATOR_PASS_ENVIRONMENT_VARIABLES

設定ファイル:

ansible-navigator:
  execution-environment:
    environment-variables:
      pass:

pull-policy

イメージプルポリシーを指定します。

always: 常にイメージをプルします。

missing: ローカルで利用できない場合はプル

never: イメージをプルしません。

tag: イメージタグが latest の場合は、常にイメージをプルしてください。そうでないと、ローカルで利用可能な場合にプルされます。

選択肢: alwaysmissingnever、または tag

デフォルト: tag

CLI: --pp または --pull-policy

ENV: ANSIBLE_NAVIGATOR_PULL_POLICY

設定ファイル:

ansible-navigator:
  execution-environment:
    pull-policy:

set-environment-variable

自動化実行環境内で設定する環境変数および値を指定します (--senv MY_VAR=42)

デフォルト: デフォルト値設定なし

CLI: --senv または --set-environment-variable

ENV: ANSIBLE_NAVIGATOR_SET_ENVIRONMENT_VARIABLES

設定ファイル:

ansible-navigator:
  execution-environment:
    environment-variables:
      set:

8.3. 自動化コンテンツナビゲーターの config サブコマンド設定

以下の表は、自動化コンテンツナビゲーター config サブコマンドの各パラメーターと設定オプションを示しています。

表8.2 自動化コンテンツナビゲーターの config サブコマンドパラメーター設定

パラメーター説明オプションの設定

config

Ansible 設定ファイルのパスを指定します。

デフォルト: デフォルト値設定なし

CLI: -c または --config

ENV: ANSIBLE_CONFIG

設定ファイル:

ansible-navigator:
  ansible:
    config:

help-config

stdout モードの ansible-config コマンドのヘルプオプション。

選択肢:* True または False

デフォルト: False

CLI: --hc または --help-config

ENV: ANSIBLE_NAVIGATOR_HELP_CONFIG

設定ファイル:

ansible-navigator:
  help-config:

8.4. 自動化コンテンツナビゲーターの doc サブコマンド設定

以下の表は、自動化コンテンツナビゲーターの doc サブコマンド用の各パラメーターおよび設定オプションを示しています。

表8.3 自動化コンテンツナビゲーターの doc サブコマンドパラメーター設定

パラメーター説明オプションの設定

help-doc

stdout モードの ansible-doc コマンドのヘルプオプション。

選択肢: True または False

デフォルト: False

CLI: --hd または --help-doc

ENV: ANSIBLE_NAVIGATOR_HELP_DOC

設定ファイル:

ansible-navigator:
  help-doc:

plugin-name

プラグイン名を指定します。

デフォルト: デフォルト値設定なし

CLI: 位置

ENV: ANSIBLE_NAVIGATOR_PLUGIN_NAME

設定ファイル:

ansible-navigator:
  documentation:
    plugin:
      name:

plugin-type

プラグインタイプを指定します。

選択肢: becomecachecallbackcliconfconnectionhttpapiinventorylookupmodulenetconfshellstrategy、または vars

デフォルト: module

CLI: -t または ----type

ENV: ANSIBLE_NAVIGATOR_PLUGIN_TYPE

設定ファイル:

ansible-navigator:
  documentation:
    plugin:
      type:

8.5. 自動化コンテンツナビゲーターの inventory サブコマンド設定

以下の表は、自動化コンテンツナビゲーターの inventory サブコマンドの各パラメーターおよび設定オプションを示しています。

表8.4 自動化コンテンツナビゲーターの inventory サブコマンド設定

パラメーター説明オプションの設定

help-inventory

stdout モードの ansible-inventory コマンドのヘルプオプション。

選択肢: True または False

デフォルト: False

CLI: --hi または --help-inventory

ENV: ANSIBLE_NAVIGATOR_INVENTORY_DOC

設定ファイル:

ansible-navigator:
  help-inventory:

inventory

インベントリーファイルパスまたはコンマ区切りホスト一覧を指定します。

デフォルト: デフォルト値設定なし

CLI: --i または --inventory

ENV: ANSIBLE_NAVIGATOR_INVENTORIES

設定ファイル:

ansible-navigator:
  inventories:

inventory-column

インベントリービューに表示されるホスト属性を指定します。

デフォルト: デフォルト値設定なし

CLI: --ic または --inventory-column

ENV:* ANSIBLE_NAVIGATOR_INVENTORY_COLUMNS 設定ファイル:

ansible-navigator:
  inventory-columns:

8.6. 自動化コンテンツナビゲーターの replay サブコマンド設定

以下の表は、自動化コンテンツナビゲーターの replay サブコマンド用の各パラメーターおよび設定オプションを示しています。

表8.5 自動化コンテンツナビゲーターの replay サブコマンドパラメーター設定

パラメーター説明オプションの設定

playbook-artifact-replay

再生する Playbook アーティファクトのパスを指定します。

デフォルト: デフォルト値設定なし

CLI: 位置

ENV: ANSIBLE_NAVIGATOR_PLAYBOOK_ARTIFACT_REPLAY

設定ファイル:

ansible-navigator:
  playbook-artifact:
    replay:

8.7. 自動化コンテンツナビゲーターの run サブコマンド設定

以下の表は、自動化コンテンツナビゲーターの run サブコマンド用の各パラメーターおよび設定オプションを示しています。

表8.6 自動化コンテンツナビゲーターの run サブコマンドパラメーター設定

パラメーター説明オプションの設定

playbook-artifact-replay

再生する Playbook アーティファクトのパスを指定します。

デフォルト: デフォルト値設定なし

CLI: 位置

ENV: ANSIBLE_NAVIGATOR_PLAYBOOK_ARTIFACT_REPLAY

設定ファイル:

ansible-navigator:
  playbook-artifact:
    replay:

help-playbook

stdout モードの ansible-playbook コマンドのヘルプオプション。

選択肢: True または False

デフォルト: False

CLI: --hp または --help-playbook

ENV: ANSIBLE_NAVIGATOR_HELP_PLAYBOOK

設定ファイル:

ansible-navigator:
  help-playbook:

inventory

インベントリーファイルパスまたはコンマ区切りホスト一覧を指定します。

デフォルト: デフォルト値設定なし

CLI: --i または --inventory

ENV: ANSIBLE_NAVIGATOR_INVENTORIES

設定ファイル:

ansible-navigator:
  inventories:

inventory-column

インベントリービューに表示されるホスト属性を指定します。

デフォルト: デフォルト値設定なし

CLI: --ic または --inventory-column

ENV:* ANSIBLE_NAVIGATOR_INVENTORY_COLUMNS 設定ファイル:

ansible-navigator:
  inventory-columns:

Playbook

Playbook 名を指定します。

デフォルト: デフォルト値設定なし

CLI: 位置

ENV: ANSIBLE_NAVIGATOR_PLAYBOOK

設定ファイル:

ansible-navigator:
  ansible:
    playbook:

playbook-artifact-enable

完了した Playbook のアーティファクトの作成を有効または無効にします。注記: Playbook でユーザー入力が必要な場合には、--mode stdout と互換性がありません。

選択肢: True または False

デフォルト: True

CLI: --pae または --playbook-artifact-enable ENV: ANSIBLE_NAVIGATOR_PLAYBOOK_ARTIFACT_ENABLE 設定ファイル:

ansible-navigator:
  playbook-artifact:
    enable:

playbook-artifact-save-as

完了した Playbook から作成したアーティファクトの名前を指定します。

デフォルト: {playbook_dir}/{playbook_name}-artifact-{ts_utc}.json

CLI: --pas または --playbook-artifact-save-as

ENV: ANSIBLE_NAVIGATOR_PLAYBOOK_ARTIFACT_SAVE_AS

設定ファイル:

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
    1. Playbook の実行時に一致する Playbook の結果を確認します。

      navigator artifact replay

これで、Playbook を実行した後と同じように、プレイとタスクの横に番号を入力して、それぞれにステップインして結果を確認できるようになりました。

9.2. 自動化コンテンツナビゲーターでよくある質問 (FAQ)

次の自動化コンテンツナビゲーターの FAQ を、お使いの環境で発生している問題のトラブルシューティングに役立ててください。

自動化実行環境を使用する場合、ansible.cfg ファイルはどこに置く必要がありますか。

ansible.cfg を使用する最も簡単な方法は、Playbook に隣接するプロジェクトディレクトリーに置くことです。Playbook ディレクトリーは実行環境に自動的にマウントされ、ansible.cfg ファイルが表示されます。ansible.cfg ファイルが別のディレクトリーにある場合は、ANSIBLE_CONFIG 変数とカスタムボリュームマウントとして指定されたディレクトリーを設定する必要があります。execution-environment-volume-mounts については、自動化コンテンツナビゲーターの設定を参照してください。

自動化実行環境を使用しない場合の 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 に関する詳細情報が含まれます。自動化コンテンツナビゲーターセッション中に ansible-navigator replay <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
どの順番で設定が適用されますか。

自動化コンテンツナビゲーター設定システムは、さまざまなソースから設定をプルするため、以下の順序で階層的に適用します (最後に適用された変更が最も一般的なものになります)。

  1. デフォルトの内部値
  2. 設定ファイルの値
  3. 環境変数からの値
  4. コマンドラインで指定されたフラグおよび引数
  5. テキストベースのユーザーインターフェース内で : コマンドを実行している間
何かが機能しませんでした。どうすればトラブルシューティングできますか。
自動化コンテンツナビゲーターには、適切なログメッセージがあります。--log-level debugを使用して、debug ログを有効にできます。バグを見つけたと思われる場合は、問題をログに記録し、ログファイルから詳細情報を追加してください。