私はRackspaceロードバランサにホストを置く一連のネストされたプレイをデバッグしています。可能なファクトをリストとして使用
- include create_servers.yml
...
- include add_to_load_balancers.yml
最初の試合では、rax_clb
モジュールを使用してサーバーを作成しています。私たちは、変数rax
を登録し、create_servers.ymlにグループにこれらのホストを追加するために、その中にrax.success
リストを使用します。
- name: create instances on Rackspace
local_action:
module: rax
image: "{{ IMAGE }}"
flavor: "{{ FLAVOR }}"
wait: yes
count: "{{ COUNT }}"
...
register: rax
- name: some other play
local_action:
...
with_items: rax.success
- name: register rax.success as rax_servers for later use
set_fact:
rax_servers: rax.success
with_items
を使用して他の遊びの中にrax.successを使用して、それが動作します。しかし、その後、私はadd_to_load_balancers.ymlでrax_servers
を使用しようとすると、上:
- name: place new hosts in the load balancer
rax_clb_nodes:
address={{ item.rax_accessipv4 }}
state=present
...
with_items: rax_servers
私は項目にはrax_accessipv4
がないというエラーが発生します。しかし、これは私が以前の演劇でそれを使う方法ですから(それはうまくいきます)、私はすべきです。私は明らかに間違って何かをやっている
TASK: [debug var=rax_servers] *************************************************
ok: [127.0.0.1] => {
"var": {
"rax_servers": "rax.success"
}
}
を、私はどちらか保存するか、この変数を参照するときに私が間違っているのどのようなドキュメントから見つけ出すように見えることはできません。だから私はrax_servers
をプリントアウトします。両方の演劇はlocalhostとの間で実行されるので、私に同じリストを与えるべきでしょうか?この初心者でベアリング用
おかげでは、任意のヘルプは高く評価され:)
美しい - これは私の上司が私に警告した恐ろしい "ansible/jinja2引用符" gotchasの1つでなければなりません。もう少し読書をします。 意図したとおりに動作します。感謝万円! –