Allow integration of externally deployed RadosGW

The variable ceph_rgws can be overridden by the deployer to supply
a list of externally provisioned RadosGW isntances. This will
trigger Keystone endpoint setup tasks and integrate the RadosGW
servers with HAProxy.

Change-Id: I46ffc0f8956d0ebc7fcd294ad9c2b376589e1e9b
This commit is contained in:
Jonathan Rosser 2018-05-14 12:55:14 +01:00 committed by Kevin Carter (cloudnull)
parent 6516b87f92
commit c7554019b3
4 changed files with 11 additions and 4 deletions

View File

@ -37,3 +37,10 @@ rbd_client_directories: false
ceph_mons: "{{ groups[mon_group_name]
| map('extract', hostvars, 'ansible_host')
| list }}"
# 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.
# The ip_addr should be accessible by the haproxy internal interface.
# - name: ceph-rgw-name
# ip_addr: x.x.x.x
ceph_rgws: []

View File

@ -355,7 +355,7 @@ haproxy_default_services:
haproxy_service_enabled: "{{ neutron_plugin_type == 'ml2.opendaylight' }}"
- service:
haproxy_service_name: ceph-rgw
haproxy_backend_nodes: "{{ groups['ceph-rgw'] | default([]) }}"
haproxy_backend_nodes: "{{ groups['ceph-rgw'] | default(ceph_rgws) }}"
haproxy_ssl: "{{ haproxy_ssl }}"
haproxy_balance_alg: source
haproxy_port: "{{ radosgw_service_port | default(7980) }}"
@ -364,4 +364,4 @@ haproxy_default_services:
- httpchk HEAD /
haproxy_backend_httpcheck_options:
- expect status 405
haproxy_service_enabled: "{{ groups['ceph-rgw'] is defined and groups['ceph-rgw'] | length > 0 }}"
haproxy_service_enabled: "{{ (groups['ceph-rgw'] is defined and groups['ceph-rgw'] | length > 0) or (ceph_rgws | length > 0) }}"

View File

@ -52,7 +52,7 @@ tempest_service_available_heat: "{{ groups['heat_all'] is defined and groups['he
tempest_service_available_horizon: "{{ groups['horizon_all'] is defined and groups['horizon_all'] | length > 0 }}"
tempest_service_available_neutron: "{{ groups['neutron_all'] is defined and groups['neutron_all'] | length > 0 }}"
tempest_service_available_nova: "{{ groups['nova_all'] is defined and groups['nova_all'] | length > 0 }}"
tempest_service_available_swift: "{{ (groups['swift_all'] is defined and groups['swift_all'] | length > 0) or (groups['ceph-rgw'] is defined and groups['ceph-rgw'] | length > 0) }}"
tempest_service_available_swift: "{{ (groups['swift_all'] is defined and groups['swift_all'] | length > 0) or (groups['ceph-rgw'] is defined and groups['ceph-rgw'] | length > 0) or (ceph_rgws | length > 0) }}"
tempest_service_available_congress: "{{ groups['congress_all'] is defined and groups['congress_all'] | length > 0 }}"
tempest_log_dir: /var/log/utility

View File

@ -14,7 +14,7 @@
# limitations under the License.
- include: ceph-rgw-keystone-setup.yml
when: groups['ceph-rgw'] is defined and groups['ceph-rgw'] | length > 0
when: (groups['ceph-rgw'] is defined and groups['ceph-rgw'] | length > 0) or (ceph_rgws | length > 0)
- name: Install ceph radosgw
hosts: ceph-rgw