Ansible Navigator Creator ガイド

Red Hat Ansible Automation Platform 2.2

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

Red Hat Customer Content Services

概要

フィードバックの提供:
このドキュメントを改善するための提案がある場合、またはエラーを見つけた場合は、テクニカルサポート (https://access.redhat.com) に連絡し、Docs コンポーネントを使用して Ansible Automation Platform Jira プロジェクトで issue を作成してください。

多様性を受け入れるオープンソースの強化

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

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

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 でシステムを登録している。
注記

現在の Red Hat Ansible Automation Platform 環境に一致するナビゲーターのみをインストールしてください。

手順

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

    $ subscription-manager attach --pool=<sku-pool-id>
  2. 次のコマンドを使用して、Automation コンテンツナビゲーターをインストールします。

    # dnf install --enablerepo=ansible-automation-platform-2.2-for-rhel-8-x86_64-rpms ansible-navigator

検証

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

    $ ansible-navigator --help

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

自動化コンテンツナビゲーターのインストール成功

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

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

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

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

前提条件

  • 自動化実行環境

手順

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

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

    自動化実行環境の詳細

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

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

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

検証

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

    自動化実行環境の出力

第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 フィールドに基づいて、自動化実行環境またはローカルファイルシステム内のコレクションの場所を反映します。
自動化コンテンツナビゲーターコレクションの表示

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

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

前提条件

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

手順

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

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

    $ :collections
    Automation コンテンツナビゲーターに表示される Ansible コレクションのリスト
  3. 確認するコレクションの数を入力します。

    :4
    Automation コンテンツナビゲーターに表示されるコレクション
  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
    編集ツールに表示されるドキュメンテーションの例

検証

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

    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
    エディターでのドキュメントの例

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

第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 キーを押します。実行中のタスクが表示されるはずです。

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

    タスク一覧

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

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

    失敗したタスクの結果
  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 の結果を確認します。

      Playbook の結果

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

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

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

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

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

前提条件

手順

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

    $ ansible-navigator

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

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

     :config
    Ansible の設定

    一部の値は、自動化実行環境が機能するために必要な自動化実行環境の設定を反映しています。これらは、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

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

検証

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

    設定出力

第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:

log-level

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

選択肢: 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-enableENV: 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 の結果を確認します。

      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
どの順番で設定が適用されますか。

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

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

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.