diff --git a/inventory/group_vars/all/ceph.yml b/inventory/group_vars/all/ceph.yml index 9350ddb116..222fa74b0b 100644 --- a/inventory/group_vars/all/ceph.yml +++ b/inventory/group_vars/all/ceph.yml @@ -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: [] diff --git a/inventory/group_vars/haproxy/haproxy.yml b/inventory/group_vars/haproxy/haproxy.yml index 5dcc09e898..b8374432da 100644 --- a/inventory/group_vars/haproxy/haproxy.yml +++ b/inventory/group_vars/haproxy/haproxy.yml @@ -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) }}" diff --git a/inventory/group_vars/utility_all.yml b/inventory/group_vars/utility_all.yml index 910aba9b87..1a273d0a6a 100644 --- a/inventory/group_vars/utility_all.yml +++ b/inventory/group_vars/utility_all.yml @@ -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 diff --git a/playbooks/ceph-rgw-install.yml b/playbooks/ceph-rgw-install.yml index 20b4064dc5..fbb6d6a746 100644 --- a/playbooks/ceph-rgw-install.yml +++ b/playbooks/ceph-rgw-install.yml @@ -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