私は何をしようとしているのかをよく理解できません。 だから、僕はまっすぐにジャンプします を私はhostsファイルがあります。可能な配列からすべての名前付き値を抽出する
[jvbservers]
jvb0 ansible_host=serverA
jvb1 ansible_host=serverB
等...
をそして、私はjvbserversグループ内のサーバーのリストが欲しいです。私が今までに思いついたのは、少しOTTだと感じています。私がしたいように
set_fact:
jvb_names: "{{ jvb_names|default([]) + [ hostvars[groups.jvbservers[item|int]].ansible_host ] }}"
with_sequence: start=0 end="{{groups.jvbservers|length-1}}"
は私に結果を与える:
ok: [localhost] => {
"jvb_names": [
"serverA",
"serverB"
]
}
はこの賢明ですか?
hostvars[groups.jvbservers[*]].ansible_host
インベントリ名と 'ansible_host'は2つの異なるものです。 –
私はあなたが何を言っているのか見ています。 –
これはまさにこの問題です。インベントリ名またはansible_hostは必ずしも実際のホスト名である必要はありません。スプリットホライゾンDNSとローカルホストファイルなどでは、 "正しい"値を見つけるのは難しいです。 この例はちょっと工夫されていますが、実際には、セットアップボックスからFQDNを取得する必要があります。 –