0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GUI版のAnsible(AWX)使ってStorage(ONTAP)を管理する3【ONTAP向け Playbookの実行】

Last updated at Posted at 2025-08-14

はじめに

前回の記事ではONTAP管理用の実行環境(Execution Environment)の作成について記載しましたが、本記事では構築した実行環境を活用し、ONTAP管理用のPlaybookを利用する手順について記載致します。

033.png

何をしたい?できる?

  • AWX上でDockerにPushした実行環境をpullする
  • AWX上でPullした実行環境を使ってONTAP向けPlaybookの実行

記事における環境情報

本記事では、以下の環境で実施した内容となります。
分かり易くするために、構成図は単純化しています。

AlmaLinux: 10.0
K3s : k3s-selinux 1.6-1.el9
Kustomize Version: v5.5.0
AWX Operator: 2.19.1

qiita-square

AWXにおけるPlaybookの実行について

AWXでは前提としてAnsible Playbookを実行する際の設定をテンプレートとするJob Templateの概念を中心に展開されるような形をとっており、これによりPlaybookを実行する際のパラメータや環境を簡単に再利用できるようになります。

Job Templateの構成要素は以下の通りで、手順では構成要素の設定から実施する形になります。

  • Job実行するInventory
  • デバイスにログインするためのCredential(本記事の内容では不要)
  • Ansible Playbookを含むProject
  • Project内のPlaybookが実行される実行環境(Execution Environment)
qiita-square

設定手順

1. Inventory登録

AWXで操作する管理対象を登録します。
Playbook実行に関係する機器の登録を実施する事になりますが、ONTAP操作の場合は直接実行コードを配布しない為、操作対象がAWX自身となります。
グループの作成は必要に応じて実行します。

実際には作成したInventoryにAWXの外部IPをhostへ追加しなくても、Playbookのhosts記載をlocalhostとすることで動作させる事ができます。
(この手順例ではダミーのInventoryを登録するような形)

qiita-square

1-1. AWX上でInventory追加

AWXにログイン後、[リソース]の[インベントリー]を選択し、中央に表示された画面で[追加]から[インベントリーの追加]を選択します。

qiita-square

表示された画面で、インベントリー名を記載し、画面下方の[保存]をクリックします。
この記事の例では、AWX自体のhost登録はしない形で進めます。
(器としてのInventoryの作成のみ)

qiita-square

2. 実行環境の追加

前回の記事では、DockerHubにONTAP用の実行環境を登録したので、本記事のAWX上に於ける実行環境の追加でもDockerHubを指定します。

qiita-square

DockerHub上では以下のような形で実行環境はPush済です。

qiita-square

2-1. AWX上で実行環境追加

[管理]の[実行環境]を選択し、中央に表示された画面で[追加]を選択します。

qiita-square

表示された画面で、DockerHubに登録されたONTAP管理用の実行環境を指定します。
本記事例ではDockerHubのpublic(公開)レポジトリに実行環境を置いているので、認証は不要となり、以下のようにDockerHub上のイメージを指定します。

 docker.io/"Docker ID"/ansible-ee:stream9-custom-v2

また、イメージが無い場合のみpullするように指定しています。

qiita-square

3. Projectの追加

Ansible Playbook置き場を定義します。
ソースコントロール(Playbookのある場所)をGitリポジトリにあるPlaybookを指定することもできますが、本記事では手動(AWX上のローカル領域)を指定して進めます。

qiita-square

手動(ローカル領域)を利用するには、過去の記事にあるPersistentVolume設定が必要となります。
qiita-square

3-1. AWX上でProjectの追加

[リソース]の[プロジェクト]を選択し、中央に表示された画面で[追加]を選択します。
qiita-square

表示された画面で必要情報の記載・選択を実施します。
実行環境は上記でONTAP用に登録したものを指定し、ソースコントロールは手動を指定します。
qiita-square

ソースコントロールを手動指定した際のAlma Linux上では以下のようになってます。
(AWXの/var/lib/awx/projectsのmount先)

# AWXのmount元となるディレクトリの確認
$ pwd
/home/user100/awx_work/task01

$ ls
svm_vol_info.yaml


# 置いてあるPlaybookの確認
$ cat svm_vol_info.yaml
---
- name: ONTAP Info
  hosts: localhost
  collections: netapp.ontap
  gather_facts: no
  become: no
  vars:
    ansible_python_interpreter: /usr/bin/python3
  tasks:
    - name: run ONTAP gather facts for vserver info
      na_ontap_rest_info:
        username: "{{ svm_user }}"
        password: "{{ svm_password }}"
        hostname: "{{ svm_host }}"
        https: true
        validate_certs: false
        use_rest: Always
        fields:
         - '*'
        gather_subset:
        - storage/volumes
      register: volume_info

    - name: Display Volume Information
      debug:
        msg: "{{ volume_info.ontap_info['storage/volumes'].records | list }}"

4. Job Templateの追加

登録しておいたインベントリ、プロジェクトや実行環境を指定します。
併せて、指定したProjectにあるPlaybookの指定を行います。

qiita-square

4-1. AWX上テンプレートの追加

[リソース]の[テンプレート]を選択し、中央に表示された画面の[追加]から[新規ジョブテンプレートの追加]を選択します。
qiita-square

表示された画面で必要情報の記載・選択を実施します。
本記事では、Playbookで使用している変数に入力する値についてはここで指定します。
(SVMのIPやアカウント情報)
qiita-square

5. Job Templateの実行

登録したテンプレートを実行します。
[リソース]の[テンプレート]を選択し、作成したONTAP用のテンプレートの起動を選択します。

qiita-square

テンプレートの実行が成功することを確認します。
qiita-square

参考及びリンク

GUI版のAnsible(AWX)使ってStorage(ONTAP)を管理する1【AlmaLinuxへAWX Install編】

GUI版のAnsible(AWX)使ってStorage(ONTAP)を管理する2【Ansible Builderで実行環境の作成】

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?