mirror of https://github.com/ceph/ceph-ansible.git
ba6c3a8e6b
`monitor_address_block` should be read from hostvars[host] instead of
current node being played.
eg:
Let's assume we have:
```
[mons]
ceph-mon0 monitor_address=192.168.1.10
ceph-mon1 monitor_interface=eth1
ceph-mon2 monitor_address_block=192.168.1.0/24
```
the ceph.conf generation task will end up with:
```
fatal: [ceph-mon0]: FAILED! => {}
MSG:
'ansible.vars.hostvars.HostVarsVars object' has no attribute u'ansible_interface'
```
the reason is that it will assume `monitor_address_block` isn't defined even on
ceph-mon2 because looking for `monitor_address_block` instead of
`hostvars[host]['monitor_address_block']`, therefore it enters in the condition as default value:
```
{%- else -%}
{% set interface = 'ansible_' + (monitor_interface | replace('-', '_')) %}
{% if ip_version == 'ipv4' -%}
{{ hostvars[host][interface][ip_version]['address'] }}
{%- elif ip_version == 'ipv6' -%}
[{{ hostvars[host][interface][ip_version][0]['address'] }}]
{%- endif %}
{%- endif %}
```
`monitor_interface` is set with default value `'interface'` so the `interface`
variable is built with 'ansible_' + 'interface'. It makes ansible throwing a
confusing message about `'ansible_interface'`.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1635303
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit
|
||
---|---|---|
contrib | ||
docker | ||
docs | ||
group_vars | ||
infrastructure-playbooks | ||
library | ||
plugins | ||
profiles | ||
roles | ||
tests | ||
.gitignore | ||
LICENSE | ||
Makefile | ||
README-MULTISITE.md | ||
README.rst | ||
RELEASE-NOTE.md | ||
Vagrantfile | ||
ansible.cfg | ||
ceph-aio-no-vagrant.sh | ||
ceph-ansible.spec.in | ||
dummy-ansible-hosts | ||
example-ansible-role-requirements.yml | ||
generate_group_vars_sample.sh | ||
monitor_keys_example | ||
rhcs_edits.txt | ||
rundep.sample | ||
rundep_installer.sh | ||
site-docker.yml.sample | ||
site.yml.sample | ||
test.yml | ||
tox.ini | ||
vagrant_variables.yml.atomic | ||
vagrant_variables.yml.linode | ||
vagrant_variables.yml.openstack | ||
vagrant_variables.yml.sample |
README.rst
ceph-ansible ============ Ansible playbooks for Ceph, the distributed filesystem. Please refer to our hosted documentation here: http://docs.ceph.com/ceph-ansible/master/ You can view documentation for our ``stable-*`` branches by substituting ``master`` in the link above for the name of the branch. For example: http://docs.ceph.com/ceph-ansible/stable-3.0/