Pass ceph_mons as a list of inventory hosts

Since change Idb9a178ca2165920804eee12a54419722aa64f51, we no longer
attempt to directly SSH to the ceph mons. Instead, we use the ansible
wait_for_connection module. One advantage to using this module is we
can pass it an ansible inventory host instead of an IP address, and
it will use the configured connection settings for that inventory
host, such as the container connection plugin.

This allows the ceph-client tasks requiring mon access to complete
without a hard dependency on an SSH connection to the mon. With this
change, we will simply pass the ceph-mon inventory hostnames to the
ceph_client role rather than a list of IP addresses.

Change-Id: Ia94ba882c2a8f568a2dcca92ee381f5833bd50af
This commit is contained in:
Logan V 2019-03-16 00:14:58 -05:00
parent 5186c25885
commit fb4df180e2

View File

@ -32,11 +32,10 @@ fetch_directory: /etc/openstack_deploy/ceph-fetch/
# ceph-common to prepare for us.
rbd_client_directories: false
# The OSA ceph_client role does not support loading IPs from an inventory group,
# so we have to feed it a list of IPs
ceph_mons: "{{ groups[mon_group_name]
| map('extract', hostvars, 'ansible_host')
| list }}"
# Configure the ceph-mons host list for the OSA ceph_client role
# The role will connect to one of these mons (first available) in order to
# download a copy of the cluster's ceph.conf.
ceph_mons: "{{ groups[mon_group_name] }}"
# Provide a variable which can be overidden by a deployer to specify a list of
# dicts describing RadosGW provisioned by means other than OpenStack-Ansible.