問題タブ [ansible-template]
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.
ansible - Ansible with_dict テンプレートの使用
次のタスクがあります。
また、group_vars にコンテナ ディクショナリを追加しました
最後に、server.xml からの関連するスニペットを次に示します。
私がしたいことは、関連する http_port がテンプレートモジュールで使用されることです。しかし、代わりにエラーが発生します:
fatal: [localhost] => {'msg': "AnsibleUndefinedVariable: 1 つ以上の未定義の変数: 'http_port' は未定義です", 'failed': True}
これは可能ですか?アイテムの値を変数置換に活用するにはどうすればよいですか?
ansible - 異なる変数セットでテンプレート モジュールを使用するには?
私のユースケースは次のとおりです。
テンプレート ファイルがあり、そのテンプレートから 2 つの異なるファイルを作成したいと考えています。変数は、ファイルごとに異なる変数セットで埋められます。
たとえば、次の行を含むファイルをテンプレート化するとします。
この変数を「File1」と「File2」で埋める適切な方法を見つけたいと思います。何かのようなもの :
ここで、最初のテンプレートでは使用する変数が a = "File1" であり、2 番目のテンプレートでは b = "File2" であると指定できます。
ansible - Ansible でホストのグループごとに異なる可能性のあるテンプレート ファイルを構成する方法は?
iptables.j2
いくつかのコア ルール (SSH 接続の許可など) を含むテンプレート ファイルがあります。ただし、ノードの役割によっては、そのテンプレートには、変数を使用して管理できない追加のルールが含まれます。たとえば、mongo ノードはポート 27000 を開く必要があり、nginx ノードはポート 80 & 443 などを開く必要があります。
問題を解決できる基本テンプレートへの追加コンテンツの条件付きインクルードの例はありますか?
ansible - テンプレートの Ansible 変数
このテンプレート ファイルには、3 つのボックス間で共有される基本的な行が含まれます。各ボックスに固有の行にいくつかの違いがあります。これは変数化したい値です。
546... ハッシュは{{ }}
、インスタンス間で異なるため、変数に含まれている必要があります。{{ item.hash}}
それを設定して構造化する方法、必要かinclude_vars
などについてのアプローチが必要です。
編集:私が持っているもの:
vars/vars.yml
playbook.yml
jenkins - ジェンキンスがその構成を書き換えているときに、このアンシブルジェンキンススクリプトを冪等にする方法は?
jenkins をデプロイするための ansible プレイブックがあります。jenkins config.xml
jinja2 テンプレート ファイルには、AD 認証用の次のスニペットが含まれています。
{{ ldap_password }}
ボールトからの平文パスワードです。
問題は、config.xml がデプロイされた後に jenkins が起動すると、クリア テキストのパスワードがパスワード ハッシュに置き換えられて書き換えられることです。(異なる仮想マシンでは異なるハッシュを取得するため、ハッシュはターゲット ホストに依存しているようです)。これは一般的には良いことですが、プレイブックを実行するたびに、テンプレート操作が変更されたとマークされます。
この再生スクリプトを冪等にするにはどうすればよいですか?
yaml - ansible を使用して YAML ファイルにインデントされた変数値を出力する
Ansible を使用して Behat 構成ファイルを生成しています。この構成ファイルは YAML ファイルです。次のような Jinja2 テンプレートを使用しています。
そして、次の定義された変数:
ご覧のとおり、変数の値はインデントされていますが、Jinja2 テンプレートに貼り付けると、インデントが失われます。
これは有効な YAML ではありません。Jinja2でインデント付きの変数を出力するにはどうすればよいですか?
jinja2 - テンプレート内の変数を比較して JSON を構築する - Ansible
Ansible から始めて、ReST API を使用して外部アプリケーションとやり取りしようとしています。
インベントリ ファイル内のすべてのホストを、jinja2 テンプレートを呼び出すロールによって使用される変数ファイルで指定された POD 名と比較しようとしています。
私の在庫ファイルは次のようになります。
変数ファイル:
ただし、if ステートメントは有効になりません。変数ファイルのポッド名と同じ inventory_hostname でのみテンプレートを生成したい
現在の JSON ファイルには次の両方が含まれています: { "pod": { "name": "POD-9" } "pod": {
"name": "POD-10" } }