問題タブ [ansible-role]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
6971 参照

ansible - ansible で動的ロールを作成する

いくつかのドキュメントを調べた後、with_itemsforは使用できないと結論付けましたroles

そこで、filter_plugin役割の辞書のリストを生成する を作成しました。

これが私のものPlayです:

上記のロールを動的に生成したいのでfilter_plugin、辞書のリストを生成する を作成しましたが、それは正しく機能しています。

これが私のプラグインです:

私の計画は、次のような役割を生成することでした:

どこEC2_REGIONSですか['ap-southeast-2', 'us-east-1']

しかし、役割はそのようには機能しません。

次のエラーが表示されます:

ERROR! A malformed role declaration was encountered.

何か考え/アイデアはありますか?

0 投票する
1 に答える
251 参照

ansible - 別のロールから (ansible galaxy から) eddyhub.gnome_shell ロールを呼び出す

Ansible Playbook に gnome 拡張機能をインストールしたいのですが、これを見つけました: https://galaxy.ansible.com/eddyhub/gnome_shell/

プレイブックを整理する方法として、別のタスク内からロールを呼び出したいので、このようなタスクを作成しました (これは (roles/common/tasks/gnome.yaml) にある完全なタスク ファイルです):

しかし、プレイブックを実行すると、次のエラーが発生します。

私は何を間違っていますか?

0 投票する
1 に答える
144 参照

ansible - ロール内のすべてのインクルードを実行する Ansible

私は、同僚による古い役割に次のインクルードを持っています。

ただし、ロールをどのように含めるかに関係なく、Ansible は各インクルードを自動的に処理します。--list-tasksオプションを使用してこれを確認できます。

たとえば、私のプレイブックには次のものがあります

バージョン 2.1.1.0 (数週間前にアップグレード) で実行しています。この役割は、アップグレード前に正常に実行されていました。

したがって、このスタイルのロールへのインクルードが許可されなくなったのか、それとも別の構文を使用する必要があるのか​​ 疑問に思っています。

0 投票する
3 に答える
14660 参照

ansible - Ansible: 一部のホストに対してのみ役割を実行する

アプリサーバーをインストールするためのいくつかの役割を持つ単一の Playbook があり、同じ Playbook を実稼働サーバーとテスト サーバーの両方に適用したいとします。

実稼働サーバーとテスト サーバーの両方に、実稼働サーバーにのみ適用する必要がある 1 つの例外を除いて、同じロール リストがあります。

このロールが同じ Playbook を使用する本番サーバーにのみ適用されるように指定することはできますか?

たとえば、プレイブックが次の場合:

2 つのインベントリがあります。1 つは本番用、もう 1 つはテスト用です。

テスト インベントリを使用して Playbook を実行するときに、「ファイアウォール」ロールを実行したくありません。

私の考えは、「プロダクション」インベントリに変数を設定するようなことを行い、「<var> が設定されている場合は、ロール「ファイアウォール」を実行する」などを使用することです...これが可能かどうか、そしてそれが可能かどうかはわかりませんは、どうすれば?

0 投票する
1 に答える
871 参照

ansible - Ansible ロールのデフォルトを条件付きで設定する

擬似コード:

env が de の場合、変数名を hello に設定し、env が prod の場合、変数名を bye に設定します。

https://serverfault.com/questions/715769/ansible-change-default-value-according-to-a-conditionを試しました

エラー!ロール 'trial' の default/main.yml ファイルには、変数の辞書が含まれている必要があります

0 投票する
1 に答える
1728 参照

ansible - ansibleでロールを呼び出すときにbecomeをどのように使用しますか?

becomeansibleでロールを使用するとき、ユーザーはどのようにしますか?

たとえば、geerlingguy.nodejsansible galaxy のロールを使用して root として nodejs をインストールするにはどうすればよいでしょうか? ここに私が持っているものの関連部分があります:

しかし、それERROR! Syntax Error while loading YAMLは YAML ファイルで生成されます。

0 投票する
1 に答える
3277 参照

ansible - Ansible がハンドラーでロールのデフォルト変数を検出しない

ansible は Role Default 変数を同じ Role 内のハンドラーに渡しますか?

問題のあるプレイブックの最小限の抜粋を次に示します。

役割階層

ファイルの中身はこちら

ガンコーン/デフォルト/main.yml

ガンコーン/ハンドラー/main.yml

ファイナライズ/タスク/main.yml

playbook.yml

私の知る限り、すべてが良さそうです。ただし、プレイブックの実行中にこのエラーが発生します

失敗した!=> {"failed": true, "msg": "フィールド 'args' に無効な値があり、未定義の変数が含まれているようです。エラーは次のとおりです: 'gu_log' is undefined\n\nエラーは次のように表示されます「/roles/gunicorn/handlers/main.yml」: 行 3、列 3 にありますが、正確な構文の問題によっては\nファイルの別の場所にある可能性があります。\n\n問題のある行は次のようです:\n\ n\n- 名前: Gunicorn を再起動します\n ^ ここ\n"}

Ubuntu 12.04 LTS での Ansible 2.2 の使用

これは、すべてのディレクトリを作成し、私の問題を示すtechrafのスクリプトの修正版です

出力

遊ぶ [展開]


タスク [セットアップ] ************************************************** ******************** OK: [localhost]

TASK [テストハンドラ] ********************************************* ************** 致命的: [localhost]: 失敗しました! => {"failed": true, "msg": "フィールド 'args' に無効な値があり、未定義の変数が含まれているようです。エラーは次のとおりです: 'gu_log' is undefined\n\nエラーは次のように表示されます「/rtindru-test/roles/finalize/tasks/main.yml」: 行 2、列 3 にありますが、正確な構文の問題によっては、\nファイルの別の場所にある可能性があります。\n\n問題のある行は:\n\n---\n- name: Test Handlers\n ^ here\n"} 再試行するには、 --limit @/rtindru-test/playbook.retry を使用します

再生の要約 **************************************************** ********************* localhost : ok=1 変更済み=0 到達不能=0
失敗=1