Я использую Ansible для настройки кластера AWS Cassandra и пытаюсь передать динамические IP-адреса в файл шаблона YML.Мне назначены IP-адреса для групповой переменной Ansible, и я хочу использовать это при заполнении моей конфигурации Cassandra YML.В Play 1
я изначально назначаю группу следующим образом:
file : roles/gather_cassandra_hosts/tasks/main.yml
- name: Setup hosts for Cassandra nodes
add_host: hostname={{ node.public_dns_name }} groups=cassandraNodes
Затем в Play 2
я пытаюсь использовать эту переменную для установки следующей стандартной конфигурации Cassandra:
file : roles/install_cassandra/tasks/main.yml
- name: Override cassandra.yaml file
template:
src: cassandra.yaml
dest: apache-cassandra-3.11.3/conf/
with_items:
- cassandraNodes
.
file : roles/install_cassandra/templates/cassandra.yaml
listen_address: {{ cassandraNodes }}
Но я получаю следующую ошибку:
failed: [ec2-xx-xx-xx-xx.region-1.compute.amazonaws.com] (item=cassandraNodes) => {
"changed": false,
"item": "cassandraNodes",
"msg": "AnsibleUndefinedVariable: 'cassandraNodes' is undefined"
}
Вначале я могу использовать cassandraNodes
очень хорошо, чтобы определить мои узлы ...
- name: Play 2. Install Cassandra
hosts: cassandraNodes
... но именно эта замена в шаблоне, похоже, не может его найти.