workshops

Training Course for Ansible Automation Platform

This project is maintained by ericzji

演習 2.4 - Survey 機能

Read this in other languages: uk English, japan 日本語.

テンプレート構成ビューの SURVEYの追加 ボタンに気付いたかもしれません。Survey は、テンプレートジョブとして起動した時に利用する変数の値を入力する簡単なフォームです。

先ほどの演習で、全てのホストに Apache をインストールしました。次にこれを拡張します。

さらに、このロールでは、他の演習で失敗していることも想定し、Apache 構成が適切にセットアップされていることも確認します。

ヒント

Survey は入力するデータの単純なクエリのみを提供します。動的なデータに基づくクエリやネストされたメニューには対応していません。

プロジェクトを作成する

Playbook と Jinja2 テンプレートを持つ Roles は Github リポジトリ

https://github.com/ansible/workshop-examplesrhel/apache にあります。

Github UIに移動して、 apache_role_install.yml の中身を見てみてください。単に Role を参照しているだけです。 Role は roles/role_apache サブディレクトリに存在します。Role 内の jinja2 テンプレート templates/index.html.j2 内に定義された二つの変数を確認します。変数は `` で定義されるんでしたね。また、メインのタスクを担う、 tasks/main.yml の中で、template からファイルをコピーするタスクをチェックします。この Playbook は何をやっているのでしょう、分かりますか? テンプレート (src) から、対象ホスト上にファイル (dest) としてコピーしています。この際、コピー先のファイルには変数に値が入力されます。値を入力するのは、そう、 Survey インターフェースです。

Role は、Apache の設定内容もデプロイします。前の章で行われた全ての変更が上書きされ、今回の演習が問題なく実行できることを保証するためのものです。

Survey を作成

Survey を含むジョブテンプレートを作成します。

テンプレートの作成

設定方法は分かりますか?答えは以下の通りです。ここまで演習を積まれた皆さんならそんなに難しくないと思います。♪

回答

注意

まだジョブテンプレートを実行しないでください!! そう、まだ変数の値が定義されてません!!

Survey を追加する

テンプレートを起動します

作成したジョブテンプレート Create index.html を起動してみます。

実際の起動の際に、Survey は 2つの変数について入力を要求します。お好きなテキストを入力して、「次へ」をクリックします。次のウィンドウに入力した値が表示されます。問題なければ、「起動」をクリックしてジョブを実行します。

ヒント

入力した 2つの値がジョブ実行画面の左下の 追加変数に表示されていることを確認します。

ジョブが完了したら、Apache ホームページを確認してください。確認するのは、そう、node1 です。 Tower Server の SSH コンソールの curl コマンドで確認したもよいですし、ブラウザで直接 node1 に接続してみてもOKです。

$ curl http://<node1>
<body>
<h1>Apache is running fine</h1>
<h1>This is survey field "First Line": line one</h1>
<h1>This is survey field "Second Line": line two</h1>
</body>

この index.html ファイルが Playbook と Survey によってどのように作成されたのか、よく理解しておいて下さい。

さらに次のタスクを実行ください

タスクのリストは次のとおりです。

注意

次の章で利用しますので、以下の手順は必ず完了してください!


Ansible Tower ワークショップ表紙に戻る