From 85501cbf263029cfd5be44b9274113e4e5e4b6f8 Mon Sep 17 00:00:00 2001 From: Logan V Date: Sun, 17 Sep 2017 17:44:59 -0500 Subject: [PATCH] Limit group_vars scoping Instead of defining almost all vars scoped to the 'all'group, we will limit our vars scoping to the group namespace they are consumed in. Vars that are used in 1 group are defined in the group they are used in. This covers most service role vars. Vars that are used in 2 groups (usually linking 2 roles communicating with each other) are now using localhost's host_vars as a proxy. The 2 service groups will then reference hostvars['localhost']['var']. Vars that are used in 3+ groups are left in the 'all' scoping. Change-Id: I09cb22d51985d5f50e98030a455251cc2ea1a205 --- group_vars/all/all.yml | 1 - group_vars/all/cinder.yml | 28 +----------- group_vars/all/glance.yml | 24 ---------- group_vars/all/heat.yml | 34 -------------- group_vars/all/infra.yml | 1 - group_vars/all/ironic.yml | 29 ------------ group_vars/all/keystone.yml | 31 ++----------- group_vars/all/magnum.yml | 23 ---------- group_vars/all/neutron.yml | 27 +---------- group_vars/all/nova.yml | 40 +---------------- group_vars/all/octavia.yml | 31 ------------- group_vars/all/sahara.yml | 34 -------------- group_vars/all/swift.yml | 29 ------------ group_vars/aodh_all.yml | 7 +++ group_vars/ceilometer_all.yml | 12 +++++ group_vars/cinder_all.yml | 28 ++++++++++++ group_vars/glance_all.yml | 25 +++++++++++ group_vars/haproxy_all.yml | 37 --------------- group_vars/{all => haproxy_all}/haproxy.yml | 28 +++++++++++- .../{all => haproxy_all}/keepalived.yml | 0 group_vars/heat_all.yml | 20 +++++++++ group_vars/ironic_all.yml | 15 +++++++ group_vars/keystone_all.yml | 28 ++++++++++++ group_vars/magnum_all.yml | 9 ++++ group_vars/neutron_all.yml | 25 +++++++++++ group_vars/nova_all.yml | 45 +++++++++++++++++++ group_vars/octavia_all.yml | 19 +++++++- group_vars/repo_all.yml | 4 ++ group_vars/sahara_all.yml | 20 +++++++++ group_vars/swift_all.yml | 15 +++++++ group_vars/tacker_all.yml | 10 +++++ group_vars/utility_all.yml | 3 ++ host_vars/.placeholder | 0 .../localhost/cinder.yml | 14 ++---- .../localhost/neutron.yml | 18 +++----- .../aodh.yml => host_vars/localhost/nova.yml | 10 ++--- playbooks/inventory/localhost | 2 + 37 files changed, 332 insertions(+), 394 deletions(-) delete mode 100644 group_vars/all/heat.yml delete mode 100644 group_vars/all/ironic.yml delete mode 100644 group_vars/all/magnum.yml delete mode 100644 group_vars/all/octavia.yml delete mode 100644 group_vars/all/sahara.yml delete mode 100644 group_vars/all/swift.yml delete mode 100644 group_vars/haproxy_all.yml rename group_vars/{all => haproxy_all}/haproxy.yml (90%) rename group_vars/{all => haproxy_all}/keepalived.yml (100%) delete mode 100644 host_vars/.placeholder rename group_vars/all/tacker.yml => host_vars/localhost/cinder.yml (60%) rename group_vars/all/ceilometer.yml => host_vars/localhost/neutron.yml (51%) rename group_vars/all/aodh.yml => host_vars/localhost/nova.yml (57%) create mode 100644 playbooks/inventory/localhost diff --git a/group_vars/all/all.yml b/group_vars/all/all.yml index 69cefa4004..bfea60f128 100644 --- a/group_vars/all/all.yml +++ b/group_vars/all/all.yml @@ -85,7 +85,6 @@ service_ldap_backend_enabled: "{{ keystone_ldap is defined and keystone_ldap.Def venv_tag: "{{ openstack_release }}" venv_base_download_url: "{{ openstack_repo_url }}/venvs/{{ openstack_release }}/{{ os_distro_version }}" - ## Gnocchi # Used in both Gnocchi and Swift roles. gnocchi_service_project_name: "{{ (gnocchi_storage_driver is defined and gnocchi_storage_driver == 'swift') | ternary('gnocchi_swift', 'service') }}" diff --git a/group_vars/all/cinder.yml b/group_vars/all/cinder.yml index fa1b0fed10..4dc16c5e92 100644 --- a/group_vars/all/cinder.yml +++ b/group_vars/all/cinder.yml @@ -13,31 +13,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -cinder_service_region: "{{ service_region }}" -cinder_service_port: 8776 -# If there are Swift hosts in the environment, then enable cinder backups to it -cinder_service_backup_program_enabled: "{{ groups['swift_all'] is defined and groups['swift_all'] | length > 0 }}" +# Consumed by the Nova role so it must remain in the 'all' scoped vars cinder_ceph_client: cinder - -# These are here rather than in cinder_all because -# both the os_ceilometer and os_cinder roles require them - -# RPC -cinder_rabbitmq_userid: cinder -cinder_rabbitmq_vhost: /cinder -cinder_rabbitmq_port: "{{ rabbitmq_port }}" -cinder_rabbitmq_servers: "{{ rabbitmq_servers }}" -cinder_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -cinder_rabbitmq_host_group: "{{ rabbitmq_host_group }}" - -# Telemetry notifications -cinder_rabbitmq_telemetry_userid: "{{ cinder_rabbitmq_userid }}" -cinder_rabbitmq_telemetry_password: "{{ cinder_rabbitmq_password }}" -cinder_rabbitmq_telemetry_vhost: "{{ cinder_rabbitmq_vhost }}" -cinder_rabbitmq_telemetry_port: "{{ cinder_rabbitmq_port }}" -cinder_rabbitmq_telemetry_servers: "{{ cinder_rabbitmq_servers }}" -cinder_rabbitmq_telemetry_use_ssl: "{{ cinder_rabbitmq_use_ssl }}" -cinder_rabbitmq_telemetry_host_group: "{{ cinder_rabbitmq_host_group }}" - -# If there are any Ceilometer hosts in the environment, then enable its usage -cinder_ceilometer_enabled: "{{ (groups['cinder_all'] is defined) and (groups['cinder_all'] | length > 0) and (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" diff --git a/group_vars/all/glance.yml b/group_vars/all/glance.yml index 521aaf4053..bd39c8fb55 100644 --- a/group_vars/all/glance.yml +++ b/group_vars/all/glance.yml @@ -25,27 +25,3 @@ glance_service_internalurl: "{{ glance_service_internaluri }}" glance_service_adminuri: "{{ glance_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ glance_service_port }}" glance_service_adminurl: "{{ glance_service_adminuri }}" glance_api_servers: "{{ glance_service_internaluri }}" -glance_service_user_name: glance - -# These are here rather than in glance_all because -# both the os_ceilometer and os_glance roles require them - -# RPC -glance_rabbitmq_userid: glance -glance_rabbitmq_vhost: /glance -glance_rabbitmq_port: "{{ rabbitmq_port }}" -glance_rabbitmq_servers: "{{ rabbitmq_servers }}" -glance_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -glance_rabbitmq_host_group: "{{ rabbitmq_host_group }}" - -# Telemetry notifications -glance_rabbitmq_telemetry_userid: "{{ glance_rabbitmq_userid }}" -glance_rabbitmq_telemetry_password: "{{ glance_rabbitmq_password }}" -glance_rabbitmq_telemetry_vhost: "{{ glance_rabbitmq_vhost }}" -glance_rabbitmq_telemetry_port: "{{ glance_rabbitmq_port }}" -glance_rabbitmq_telemetry_servers: "{{ glance_rabbitmq_servers }}" -glance_rabbitmq_telemetry_use_ssl: "{{ glance_rabbitmq_use_ssl }}" -glance_rabbitmq_telemetry_host_group: "{{ glance_rabbitmq_host_group }}" - -# If there are any Ceilometer hosts in the environment, then enable its usage -glance_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" diff --git a/group_vars/all/heat.yml b/group_vars/all/heat.yml deleted file mode 100644 index 3642b7e285..0000000000 --- a/group_vars/all/heat.yml +++ /dev/null @@ -1,34 +0,0 @@ ---- -# Copyright 2017, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# RPC -heat_rabbitmq_userid: heat -heat_rabbitmq_vhost: /heat -heat_rabbitmq_port: "{{ rabbitmq_port }}" -heat_rabbitmq_servers: "{{ rabbitmq_servers }}" -heat_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -heat_rabbitmq_host_group: "{{ rabbitmq_host_group }}" - -# Telemetry notifications -heat_rabbitmq_telemetry_userid: "{{ heat_rabbitmq_userid }}" -heat_rabbitmq_telemetry_password: "{{ heat_rabbitmq_password }}" -heat_rabbitmq_telemetry_vhost: "{{ heat_rabbitmq_vhost }}" -heat_rabbitmq_telemetry_port: "{{ heat_rabbitmq_port }}" -heat_rabbitmq_telemetry_servers: "{{ heat_rabbitmq_servers }}" -heat_rabbitmq_telemetry_use_ssl: "{{ heat_rabbitmq_use_ssl }}" -heat_rabbitmq_telemetry_host_group: "{{ heat_rabbitmq_host_group }}" - -# If there are any Ceilometer hosts in the environment, then enable its usage -heat_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" diff --git a/group_vars/all/infra.yml b/group_vars/all/infra.yml index 708d9a801c..ef06fa0da6 100644 --- a/group_vars/all/infra.yml +++ b/group_vars/all/infra.yml @@ -28,4 +28,3 @@ galera_root_user: "root" ## Memcached options memcached_port: 11211 memcached_servers: "{% for host in groups['memcached'] %}{{ hostvars[host]['ansible_host'] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}" - diff --git a/group_vars/all/ironic.yml b/group_vars/all/ironic.yml deleted file mode 100644 index 7fa55721b3..0000000000 --- a/group_vars/all/ironic.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Copyright 2017, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -ironic_keystone_auth_plugin: password -ironic_rabbitmq_userid: ironic -ironic_rabbitmq_vhost: /ironic -ironic_rabbitmq_port: "{{ rabbitmq_port }}" -ironic_rabbitmq_servers: "{{ rabbitmq_servers }}" -ironic_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -ironic_rabbitmq_host_group: "{{ rabbitmq_host_group }}" -ironic_service_name: ironic -ironic_service_user_name: ironic -ironic_service_proto: http -ironic_service_port: 6385 -ironic_service_project_name: service -ironic_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(ironic_service_proto) }}" -ironic_service_adminurl: "{{ ironic_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ ironic_service_port }}" diff --git a/group_vars/all/keystone.yml b/group_vars/all/keystone.yml index 9867514c43..db388114f7 100644 --- a/group_vars/all/keystone.yml +++ b/group_vars/all/keystone.yml @@ -13,6 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +# OpenRC and various OpenStack roles require the vars below so they are scoped +# to 'all' hosts. + keystone_admin_user_name: admin keystone_admin_tenant_name: admin keystone_admin_port: 35357 @@ -20,29 +23,6 @@ keystone_service_port: 5000 keystone_service_proto: http keystone_service_region: "{{ service_region }}" -# These are here rather than in keystone_all because -# both the os_ceilometer and os_keystone roles require them - -# RPC -keystone_rabbitmq_userid: keystone -keystone_rabbitmq_vhost: /keystone -keystone_rabbitmq_port: "{{ rabbitmq_port }}" -keystone_rabbitmq_servers: "{{ rabbitmq_servers }}" -keystone_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -keystone_rabbitmq_host_group: "{{ rabbitmq_host_group }}" - -# Telemetry notifications -keystone_rabbitmq_telemetry_userid: "{{ keystone_rabbitmq_userid }}" -keystone_rabbitmq_telemetry_password: "{{ keystone_rabbitmq_password }}" -keystone_rabbitmq_telemetry_vhost: "{{ keystone_rabbitmq_vhost }}" -keystone_rabbitmq_telemetry_port: "{{ keystone_rabbitmq_port }}" -keystone_rabbitmq_telemetry_servers: "{{ keystone_rabbitmq_servers }}" -keystone_rabbitmq_telemetry_use_ssl: "{{ keystone_rabbitmq_use_ssl }}" -keystone_rabbitmq_telemetry_host_group: "{{ keystone_rabbitmq_host_group }}" - -# If there are any Ceilometer hosts in the environment, then enable its usage -keystone_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" - keystone_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(keystone_service_proto) }}" keystone_service_adminuri_insecure: "{% if keystone_service_adminuri_proto == 'https' and (keystone_user_ssl_cert is not defined or haproxy_user_ssl_cert is not defined) | bool %}true{% else %}false{% endif %}" keystone_service_adminuri: "{{ keystone_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ keystone_admin_port }}" @@ -52,8 +32,3 @@ keystone_service_internaluri_proto: "{{ openstack_service_internaluri_proto | de keystone_service_internaluri_insecure: "{% if keystone_service_internaluri_proto == 'https' and (keystone_user_ssl_cert is not defined or haproxy_user_ssl_cert is not defined) | bool %}true{% else %}false{% endif %}" keystone_service_internaluri: "{{ keystone_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ keystone_service_port }}" keystone_service_internalurl: "{{ keystone_service_internaluri }}/v3" - -keystone_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(keystone_service_proto) }}" -keystone_service_publicuri_insecure: "{% if keystone_service_publicuri_proto == 'https' and (keystone_user_ssl_cert is not defined or haproxy_user_ssl_cert is not defined) | bool %}true{% else %}false{% endif %}" -keystone_service_publicuri: "{{ keystone_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ keystone_service_port }}" -keystone_service_publicurl: "{{ keystone_service_publicuri }}/v3" diff --git a/group_vars/all/magnum.yml b/group_vars/all/magnum.yml deleted file mode 100644 index 3c49645937..0000000000 --- a/group_vars/all/magnum.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -# Copyright 2017, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -magnum_bind_port: 9511 -magnum_service_proto: http -magnum_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(magnum_service_proto) }}" -magnum_service_publicurl: "{{ magnum_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ magnum_bind_port }}" -magnum_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(magnum_service_proto) }}" -magnum_service_internalurl: "{{ magnum_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ magnum_bind_port }}" -magnum_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(magnum_service_proto) }}" -magnum_service_adminurl: "{{ magnum_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ magnum_bind_port }}" diff --git a/group_vars/all/neutron.yml b/group_vars/all/neutron.yml index f75598cdb6..d85f257ae0 100644 --- a/group_vars/all/neutron.yml +++ b/group_vars/all/neutron.yml @@ -13,6 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Referenced by nova role and must remain in 'all' group scoping neutron_service_port: 9696 neutron_service_proto: http neutron_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(neutron_service_proto) }}" @@ -22,29 +23,5 @@ neutron_service_user_name: neutron neutron_service_project_name: service neutron_service_region: "{{ service_region }}" -# These are here rather than in neutron_all because -# both the os_ceilometer and os_neutron roles require them - -# RPC -neutron_rabbitmq_userid: neutron -neutron_rabbitmq_vhost: /neutron -neutron_rabbitmq_port: "{{ rabbitmq_port }}" -neutron_rabbitmq_servers: "{{ rabbitmq_servers }}" -neutron_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -neutron_rabbitmq_host_group: "{{ rabbitmq_host_group }}" - -# Telemetry notifications -neutron_rabbitmq_telemetry_userid: "{{ neutron_rabbitmq_userid }}" -neutron_rabbitmq_telemetry_password: "{{ neutron_rabbitmq_password }}" -neutron_rabbitmq_telemetry_vhost: "{{ neutron_rabbitmq_vhost }}" -neutron_rabbitmq_telemetry_port: "{{ neutron_rabbitmq_port }}" -neutron_rabbitmq_telemetry_servers: "{{ neutron_rabbitmq_servers }}" -neutron_rabbitmq_telemetry_use_ssl: "{{ neutron_rabbitmq_use_ssl }}" -neutron_rabbitmq_telemetry_host_group: "{{ neutron_rabbitmq_host_group }}" - -# If there are any Designate hosts in the environment, then enable its usage -neutron_designate_enabled: "{{ (groups['designate_all'] is defined) and (groups['designate_all'] | length > 0) }}" -# If there are any Ceilometer hosts in the environment, then enable its usage -neutron_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" - +# Horizon consumes this var so it must be in the global vars namespace neutron_plugin_type: ml2.lxb diff --git a/group_vars/all/nova.yml b/group_vars/all/nova.yml index 001b8d0bf1..0e115ac970 100644 --- a/group_vars/all/nova.yml +++ b/group_vars/all/nova.yml @@ -13,49 +13,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -nova_service_port: 8774 +# Consumed by Neutron role and must remained scoped to 'all' group nova_metadata_port: 8775 -nova_service_proto: http -nova_metadata_protocol: "{{ openstack_service_internaluri_proto | default(nova_service_proto) }}" -nova_metadata_insecure: False -nova_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(nova_service_proto) }}" -nova_service_adminuri: "{{ nova_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ nova_service_port }}" -nova_service_adminurl: "{{ nova_service_adminuri }}/v2.1" nova_service_region: "{{ service_region }}" nova_service_user_name: nova nova_service_project_name: service nova_service_project_domain_id: default nova_service_user_domain_id: default nova_keystone_auth_plugin: password -nova_console_type: spice -nova_novncproxy_port: 6080 -nova_spice_html5proxy_base_port: 6082 -nova_serialconsoleproxy_port: 6083 -nova_console_port: "{% if nova_console_type == 'spice' %}{{ nova_spice_html5proxy_base_port }}{% elif nova_console_type == 'novnc' %}{{ nova_novncproxy_port }}{% else %}{{ nova_serialconsoleproxy_port }} {% endif %}" - -# These are here rather than in nova_all because -# both the os_ceilometer and os_nova roles require them - -# RPC -nova_rabbitmq_userid: nova -nova_rabbitmq_vhost: /nova -nova_rabbitmq_port: "{{ rabbitmq_port }}" -nova_rabbitmq_servers: "{{ rabbitmq_servers }}" -nova_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -nova_rabbitmq_host_group: "{{ rabbitmq_host_group }}" - -# Telemetry notifications -nova_rabbitmq_telemetry_userid: "{{ nova_rabbitmq_userid }}" -nova_rabbitmq_telemetry_password: "{{ nova_rabbitmq_password }}" -nova_rabbitmq_telemetry_vhost: "{{ nova_rabbitmq_vhost }}" -nova_rabbitmq_telemetry_port: "{{ nova_rabbitmq_port }}" -nova_rabbitmq_telemetry_servers: "{{ nova_rabbitmq_servers }}" -nova_rabbitmq_telemetry_use_ssl: "{{ nova_rabbitmq_use_ssl }}" -nova_rabbitmq_telemetry_host_group: "{{ nova_rabbitmq_host_group }}" - -# If there are any Designate hosts in the environment, then enable its usage -nova_designate_enabled: "{{ (groups['designate_all'] is defined) and (groups['designate_all'] | length > 0) }}" -# If there are any Ceilometer hosts in the environment, then enable its usage -nova_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" -# If there are any Barbican hosts in the environment, then enable its usage -nova_barbican_enabled: "{{ (groups['barbican_all'] is defined) and (groups['barbican_all'] | length > 0) }}" diff --git a/group_vars/all/octavia.yml b/group_vars/all/octavia.yml deleted file mode 100644 index bd5787510c..0000000000 --- a/group_vars/all/octavia.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -# Copyright 2017, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -octavia_service_port: 9876 -octavia_service_proto: http -octavia_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(octavia_service_proto) }}" -octavia_service_internaluri: "{{ octavia_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ octavia_service_port }}" -octavia_service_internalurl: "{{ octavia_service_internaluri }}/v1/%(tenant_id)s" - -octavia_service_user_name: octavia -octavia_service_url: "{{ octavia_service_internaluri }}" - -# RPC -octavia_rabbitmq_userid: octavia -octavia_rabbitmq_vhost: /octavia -octavia_rabbitmq_port: "{{ rabbitmq_port }}" -octavia_rabbitmq_servers: "{{ rabbitmq_servers }}" -octavia_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -octavia_rabbitmq_host_group: "{{ rabbitmq_host_group }}" diff --git a/group_vars/all/sahara.yml b/group_vars/all/sahara.yml deleted file mode 100644 index d79d0c2694..0000000000 --- a/group_vars/all/sahara.yml +++ /dev/null @@ -1,34 +0,0 @@ ---- -# Copyright 2017, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -#RPC -sahara_rabbitmq_userid: sahara -sahara_rabbitmq_vhost: /sahara -sahara_rabbitmq_port: "{{ rabbitmq_port }}" -sahara_rabbitmq_servers: "{{ rabbitmq_servers }}" -sahara_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -sahara_rabbitmq_host_group: "{{ rabbitmq_host_group }}" - -# Telemetry notifications -sahara_rabbitmq_telemetry_userid: "{{ sahara_rabbitmq_userid }}" -sahara_rabbitmq_telemetry_password: "{{ sahara_rabbitmq_password }}" -sahara_rabbitmq_telemetry_vhost: "{{ sahara_rabbitmq_vhost }}" -sahara_rabbitmq_telemetry_port: "{{ sahara_rabbitmq_port }}" -sahara_rabbitmq_telemetry_servers: "{{ sahara_rabbitmq_servers }}" -sahara_rabbitmq_telemetry_use_ssl: "{{ sahara_rabbitmq_use_ssl }}" -sahara_rabbitmq_telemetry_host_group: "{{ sahara_rabbitmq_host_group }}" - -# If there are any Ceilometer and Sahara hosts in the environment, then enable its usage -sahara_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['sahara_all'] is defined) and (groups['ceilometer_all'] | length > 0) and (groups['sahara_all'] | length > 0) }}" diff --git a/group_vars/all/swift.yml b/group_vars/all/swift.yml deleted file mode 100644 index 658759ae3c..0000000000 --- a/group_vars/all/swift.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# Copyright 2017, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -swift_proxy_port: 8080 -swift_system_user_name: swift -swift_system_shell: /bin/bash -swift_system_comment: swift system user -swift_system_home_folder: "/var/lib/{{ swift_system_user_name }}" - -# Swift Telemetry notifications -swift_rabbitmq_telemetry_userid: "swift" -swift_rabbitmq_telemetry_vhost: "/swift" -swift_rabbitmq_telemetry_servers: "{{ rabbitmq_servers }}" -swift_rabbitmq_telemetry_host_group: "{{ rabbitmq_host_group }}" - -# If there are any Ceilometer and Swift hosts in the environment, then enable its usage -swift_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['swift_proxy'] is defined) and (groups['ceilometer_all'] | length > 0) and (groups['swift_proxy'] | length > 0) }}" diff --git a/group_vars/aodh_all.yml b/group_vars/aodh_all.yml index 4f50fbc537..9ce0ecd360 100644 --- a/group_vars/aodh_all.yml +++ b/group_vars/aodh_all.yml @@ -13,6 +13,13 @@ # See the License for the specific language governing permissions and # limitations under the License. +aodh_service_region: "{{ service_region }}" +aodh_galera_user: aodh +aodh_galera_database: aodh +aodh_galera_address: "{{ internal_lb_vip_address }}" +aodh_connection_string: "mysql+pymysql://{{ aodh_galera_user }}:{{ aodh_container_db_password }}@{{ aodh_galera_address }}/{{ aodh_galera_database }}?charset=utf8" +aodh_rabbitmq_host_group: "{{ rabbitmq_host_group }}" + aodh_service_in_ldap: "{{ service_ldap_backend_enabled }}" aodh_service_publicuri: "{{ openstack_service_publicuri_proto|default(aodh_service_proto) }}://{{ external_lb_vip_address }}:{{ aodh_service_port }}" diff --git a/group_vars/ceilometer_all.yml b/group_vars/ceilometer_all.yml index dc23fa862c..8a51b759e2 100644 --- a/group_vars/ceilometer_all.yml +++ b/group_vars/ceilometer_all.yml @@ -13,6 +13,18 @@ # See the License for the specific language governing permissions and # limitations under the License. +ceilometer_service_user_name: ceilometer +ceilometer_service_tenant_name: service + +# These are here rather than in ceilometer_all because +# both the os_ceilometer and os_swift roles require them +ceilometer_rabbitmq_userid: ceilometer +ceilometer_rabbitmq_vhost: /ceilometer +ceilometer_rabbitmq_port: "{{ rabbitmq_port }}" +ceilometer_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" +ceilometer_rabbitmq_servers: "{{ rabbitmq_servers }}" +ceilometer_rabbitmq_host_group: "{{ rabbitmq_host_group }}" + ceilometer_service_publicuri: "{{ openstack_service_publicuri_proto|default(ceilometer_service_proto) }}://{{ external_lb_vip_address }}:{{ ceilometer_service_port }}" ceilometer_service_adminurl: "{{ ceilometer_service_adminuri }}/" ceilometer_service_region: "{{ service_region }}" diff --git a/group_vars/cinder_all.yml b/group_vars/cinder_all.yml index 8b92b275f0..cce37e1127 100644 --- a/group_vars/cinder_all.yml +++ b/group_vars/cinder_all.yml @@ -13,6 +13,34 @@ # See the License for the specific language governing permissions and # limitations under the License. +cinder_service_region: "{{ service_region }}" +cinder_service_port: 8776 +# If there are Swift hosts in the environment, then enable cinder backups to it +cinder_service_backup_program_enabled: "{{ hostvars['localhost']['cinder_service_backup_program_enabled'] }}" + +# These are here rather than in cinder_all because +# both the os_ceilometer and os_cinder roles require them + +# RPC +cinder_rabbitmq_userid: cinder +cinder_rabbitmq_vhost: /cinder +cinder_rabbitmq_port: "{{ rabbitmq_port }}" +cinder_rabbitmq_servers: "{{ rabbitmq_servers }}" +cinder_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" +cinder_rabbitmq_host_group: "{{ rabbitmq_host_group }}" + +# Telemetry notifications +cinder_rabbitmq_telemetry_userid: "{{ cinder_rabbitmq_userid }}" +cinder_rabbitmq_telemetry_password: "{{ cinder_rabbitmq_password }}" +cinder_rabbitmq_telemetry_vhost: "{{ cinder_rabbitmq_vhost }}" +cinder_rabbitmq_telemetry_port: "{{ cinder_rabbitmq_port }}" +cinder_rabbitmq_telemetry_servers: "{{ cinder_rabbitmq_servers }}" +cinder_rabbitmq_telemetry_use_ssl: "{{ cinder_rabbitmq_use_ssl }}" +cinder_rabbitmq_telemetry_host_group: "{{ cinder_rabbitmq_host_group }}" + +# If there are any Ceilometer hosts in the environment, then enable its usage +cinder_ceilometer_enabled: "{{ (groups['cinder_all'] is defined) and (groups['cinder_all'] | length > 0) and (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" + # The MySQL details for the cinder service cinder_galera_user: cinder cinder_galera_database: cinder diff --git a/group_vars/glance_all.yml b/group_vars/glance_all.yml index 3a7eed9212..fca4ea42e9 100644 --- a/group_vars/glance_all.yml +++ b/group_vars/glance_all.yml @@ -13,6 +13,31 @@ # See the License for the specific language governing permissions and # limitations under the License. +glance_service_user_name: glance + +# These are here rather than in glance_all because +# both the os_ceilometer and os_glance roles require them + +# RPC +glance_rabbitmq_userid: glance +glance_rabbitmq_vhost: /glance +glance_rabbitmq_port: "{{ rabbitmq_port }}" +glance_rabbitmq_servers: "{{ rabbitmq_servers }}" +glance_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" +glance_rabbitmq_host_group: "{{ rabbitmq_host_group }}" + +# Telemetry notifications +glance_rabbitmq_telemetry_userid: "{{ glance_rabbitmq_userid }}" +glance_rabbitmq_telemetry_password: "{{ glance_rabbitmq_password }}" +glance_rabbitmq_telemetry_vhost: "{{ glance_rabbitmq_vhost }}" +glance_rabbitmq_telemetry_port: "{{ glance_rabbitmq_port }}" +glance_rabbitmq_telemetry_servers: "{{ glance_rabbitmq_servers }}" +glance_rabbitmq_telemetry_use_ssl: "{{ glance_rabbitmq_use_ssl }}" +glance_rabbitmq_telemetry_host_group: "{{ glance_rabbitmq_host_group }}" + +# If there are any Ceilometer hosts in the environment, then enable its usage +glance_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" + # MariaDB details for the glance service glance_galera_user: glance glance_galera_database: glance diff --git a/group_vars/haproxy_all.yml b/group_vars/haproxy_all.yml deleted file mode 100644 index bf74ea156d..0000000000 --- a/group_vars/haproxy_all.yml +++ /dev/null @@ -1,37 +0,0 @@ ---- -# Copyright 2016, Rackspace US, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -haproxy_bind_on_non_local: "{% if groups.haproxy|length > 1 %}True{% else %}False{% endif %}" -haproxy_use_keepalived: "{% if groups.haproxy|length > 1 %}True{% else %}False{% endif %}" -keepalived_selinux_compile_rules: - - keepalived_ping - - keepalived_haproxy_pid_file - -# Ensure that the package state matches the global setting -haproxy_package_state: "{{ package_state }}" - -haproxy_whitelist_networks: - - 192.168.0.0/16 - - 172.16.0.0/12 - - 10.0.0.0/8 - -haproxy_galera_whitelist_networks: "{{ haproxy_whitelist_networks }}" -haproxy_glance_registry_whitelist_networks: "{{ haproxy_whitelist_networks }}" -haproxy_keystone_admin_whitelist_networks: "{{ haproxy_whitelist_networks }}" -haproxy_nova_metadata_whitelist_networks: "{{ haproxy_whitelist_networks }}" -haproxy_rabbitmq_management_whitelist_networks: "{{ haproxy_whitelist_networks }}" -haproxy_repo_git_whitelist_networks: "{{ haproxy_whitelist_networks }}" -haproxy_repo_cache_whitelist_networks: "{{ haproxy_whitelist_networks }}" -haproxy_octavia_whitelist_networks: "{{ haproxy_whitelist_networks }}" diff --git a/group_vars/all/haproxy.yml b/group_vars/haproxy_all/haproxy.yml similarity index 90% rename from group_vars/all/haproxy.yml rename to group_vars/haproxy_all/haproxy.yml index 9efc05ea3c..13fbeac21e 100644 --- a/group_vars/all/haproxy.yml +++ b/group_vars/haproxy_all/haproxy.yml @@ -1,4 +1,5 @@ -# Copyright 2014, Rackspace US, Inc. +--- +# Copyright 2016, Rackspace US, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -10,7 +11,30 @@ # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and -# limitations under the License +# limitations under the License. + +haproxy_bind_on_non_local: "{% if groups.haproxy|length > 1 %}True{% else %}False{% endif %}" +haproxy_use_keepalived: "{% if groups.haproxy|length > 1 %}True{% else %}False{% endif %}" +keepalived_selinux_compile_rules: + - keepalived_ping + - keepalived_haproxy_pid_file + +# Ensure that the package state matches the global setting +haproxy_package_state: "{{ package_state }}" + +haproxy_whitelist_networks: + - 192.168.0.0/16 + - 172.16.0.0/12 + - 10.0.0.0/8 + +haproxy_galera_whitelist_networks: "{{ haproxy_whitelist_networks }}" +haproxy_glance_registry_whitelist_networks: "{{ haproxy_whitelist_networks }}" +haproxy_keystone_admin_whitelist_networks: "{{ haproxy_whitelist_networks }}" +haproxy_nova_metadata_whitelist_networks: "{{ haproxy_whitelist_networks }}" +haproxy_rabbitmq_management_whitelist_networks: "{{ haproxy_whitelist_networks }}" +haproxy_repo_git_whitelist_networks: "{{ haproxy_whitelist_networks }}" +haproxy_repo_cache_whitelist_networks: "{{ haproxy_whitelist_networks }}" +haproxy_octavia_whitelist_networks: "{{ haproxy_whitelist_networks }}" haproxy_default_services: - service: diff --git a/group_vars/all/keepalived.yml b/group_vars/haproxy_all/keepalived.yml similarity index 100% rename from group_vars/all/keepalived.yml rename to group_vars/haproxy_all/keepalived.yml diff --git a/group_vars/heat_all.yml b/group_vars/heat_all.yml index b8def43fc6..cdf29e98a6 100644 --- a/group_vars/heat_all.yml +++ b/group_vars/heat_all.yml @@ -13,6 +13,26 @@ # See the License for the specific language governing permissions and # limitations under the License. +# RPC +heat_rabbitmq_userid: heat +heat_rabbitmq_vhost: /heat +heat_rabbitmq_port: "{{ rabbitmq_port }}" +heat_rabbitmq_servers: "{{ rabbitmq_servers }}" +heat_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" +heat_rabbitmq_host_group: "{{ rabbitmq_host_group }}" + +# Telemetry notifications +heat_rabbitmq_telemetry_userid: "{{ heat_rabbitmq_userid }}" +heat_rabbitmq_telemetry_password: "{{ heat_rabbitmq_password }}" +heat_rabbitmq_telemetry_vhost: "{{ heat_rabbitmq_vhost }}" +heat_rabbitmq_telemetry_port: "{{ heat_rabbitmq_port }}" +heat_rabbitmq_telemetry_servers: "{{ heat_rabbitmq_servers }}" +heat_rabbitmq_telemetry_use_ssl: "{{ heat_rabbitmq_use_ssl }}" +heat_rabbitmq_telemetry_host_group: "{{ heat_rabbitmq_host_group }}" + +# If there are any Ceilometer hosts in the environment, then enable its usage +heat_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" + heat_service_region: "{{ service_region }}" heat_service_in_ldap: "{{ service_ldap_backend_enabled }}" diff --git a/group_vars/ironic_all.yml b/group_vars/ironic_all.yml index e76b77c094..c8edd51f9e 100644 --- a/group_vars/ironic_all.yml +++ b/group_vars/ironic_all.yml @@ -13,6 +13,21 @@ # See the License for the specific language governing permissions and # limitations under the License. +ironic_keystone_auth_plugin: password +ironic_rabbitmq_userid: ironic +ironic_rabbitmq_vhost: /ironic +ironic_rabbitmq_port: "{{ rabbitmq_port }}" +ironic_rabbitmq_servers: "{{ rabbitmq_servers }}" +ironic_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" +ironic_rabbitmq_host_group: "{{ rabbitmq_host_group }}" +ironic_service_name: ironic +ironic_service_user_name: ironic +ironic_service_proto: http +ironic_service_port: 6385 +ironic_service_project_name: service +ironic_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(ironic_service_proto) }}" +ironic_service_adminurl: "{{ ironic_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ ironic_service_port }}" + ironic_galera_database: ironic ironic_galera_user: ironic ironic_service_adminurl: "{{ ironic_service_adminuri }}/v1" diff --git a/group_vars/keystone_all.yml b/group_vars/keystone_all.yml index 97bdec9296..e7be3a9e63 100644 --- a/group_vars/keystone_all.yml +++ b/group_vars/keystone_all.yml @@ -13,6 +13,34 @@ # See the License for the specific language governing permissions and # limitations under the License. +keystone_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(keystone_service_proto) }}" +keystone_service_publicuri_insecure: "{% if keystone_service_publicuri_proto == 'https' and (keystone_user_ssl_cert is not defined or haproxy_user_ssl_cert is not defined) | bool %}true{% else %}false{% endif %}" +keystone_service_publicuri: "{{ keystone_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ keystone_service_port }}" +keystone_service_publicurl: "{{ keystone_service_publicuri }}/v3" + +# These are here rather than in keystone_all because +# both the os_ceilometer and os_keystone roles require them + +# RPC +keystone_rabbitmq_userid: keystone +keystone_rabbitmq_vhost: /keystone +keystone_rabbitmq_port: "{{ rabbitmq_port }}" +keystone_rabbitmq_servers: "{{ rabbitmq_servers }}" +keystone_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" +keystone_rabbitmq_host_group: "{{ rabbitmq_host_group }}" + +# Telemetry notifications +keystone_rabbitmq_telemetry_userid: "{{ keystone_rabbitmq_userid }}" +keystone_rabbitmq_telemetry_password: "{{ keystone_rabbitmq_password }}" +keystone_rabbitmq_telemetry_vhost: "{{ keystone_rabbitmq_vhost }}" +keystone_rabbitmq_telemetry_port: "{{ keystone_rabbitmq_port }}" +keystone_rabbitmq_telemetry_servers: "{{ keystone_rabbitmq_servers }}" +keystone_rabbitmq_telemetry_use_ssl: "{{ keystone_rabbitmq_use_ssl }}" +keystone_rabbitmq_telemetry_host_group: "{{ keystone_rabbitmq_host_group }}" + +# If there are any Ceilometer hosts in the environment, then enable its usage +keystone_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" + # The MySQL details for the keystone service keystone_galera_user: keystone keystone_galera_database: keystone diff --git a/group_vars/magnum_all.yml b/group_vars/magnum_all.yml index 0269ad1489..717ffd1599 100644 --- a/group_vars/magnum_all.yml +++ b/group_vars/magnum_all.yml @@ -13,6 +13,15 @@ # See the License for the specific language governing permissions and # limitations under the License. +magnum_bind_port: 9511 +magnum_service_proto: http +magnum_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(magnum_service_proto) }}" +magnum_service_publicurl: "{{ magnum_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ magnum_bind_port }}" +magnum_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(magnum_service_proto) }}" +magnum_service_internalurl: "{{ magnum_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ magnum_bind_port }}" +magnum_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(magnum_service_proto) }}" +magnum_service_adminurl: "{{ magnum_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ magnum_bind_port }}" + magnum_galera_user: magnum magnum_galera_database_name: magnum_service magnum_galera_address: "{{ galera_address }}" diff --git a/group_vars/neutron_all.yml b/group_vars/neutron_all.yml index b16e7bdc64..ee275c02d0 100644 --- a/group_vars/neutron_all.yml +++ b/group_vars/neutron_all.yml @@ -13,6 +13,31 @@ # See the License for the specific language governing permissions and # limitations under the License. +# These are here rather than in neutron_all because +# both the os_ceilometer and os_neutron roles require them + +# RPC +neutron_rabbitmq_userid: neutron +neutron_rabbitmq_vhost: /neutron +neutron_rabbitmq_port: "{{ rabbitmq_port }}" +neutron_rabbitmq_servers: "{{ rabbitmq_servers }}" +neutron_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" +neutron_rabbitmq_host_group: "{{ rabbitmq_host_group }}" + +# Telemetry notifications +neutron_rabbitmq_telemetry_userid: "{{ neutron_rabbitmq_userid }}" +neutron_rabbitmq_telemetry_password: "{{ neutron_rabbitmq_password }}" +neutron_rabbitmq_telemetry_vhost: "{{ neutron_rabbitmq_vhost }}" +neutron_rabbitmq_telemetry_port: "{{ neutron_rabbitmq_port }}" +neutron_rabbitmq_telemetry_servers: "{{ neutron_rabbitmq_servers }}" +neutron_rabbitmq_telemetry_use_ssl: "{{ neutron_rabbitmq_use_ssl }}" +neutron_rabbitmq_telemetry_host_group: "{{ neutron_rabbitmq_host_group }}" + +# If there are any Designate hosts in the environment, then enable its usage +neutron_designate_enabled: "{{ hostvars['localhost']['neutron_designate_enabled'] }}" +# If there are any Ceilometer hosts in the environment, then enable its usage +neutron_ceilometer_enabled: "{{ hostvars['localhost']['neutron_ceilometer_enabled'] }}" + neutron_dns_domain: "{{ dhcp_domain }}" neutron_service_in_ldap: "{{ service_ldap_backend_enabled }}" diff --git a/group_vars/nova_all.yml b/group_vars/nova_all.yml index 636f64226b..37fc0a2127 100644 --- a/group_vars/nova_all.yml +++ b/group_vars/nova_all.yml @@ -13,6 +13,46 @@ # See the License for the specific language governing permissions and # limitations under the License. +nova_service_port: 8774 +nova_service_proto: http +nova_metadata_protocol: "{{ openstack_service_internaluri_proto | default(nova_service_proto) }}" +nova_metadata_insecure: False +nova_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(nova_service_proto) }}" +nova_service_adminuri: "{{ nova_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ nova_service_port }}" +nova_service_adminurl: "{{ nova_service_adminuri }}/v2.1" +nova_console_type: spice +nova_novncproxy_port: 6080 +nova_spice_html5proxy_base_port: 6082 +nova_serialconsoleproxy_port: 6083 +nova_console_port: "{% if nova_console_type == 'spice' %}{{ nova_spice_html5proxy_base_port }}{% elif nova_console_type == 'novnc' %}{{ nova_novncproxy_port }}{% else %}{{ nova_serialconsoleproxy_port }} {% endif %}" + +# These are here rather than in nova_all because +# both the os_ceilometer and os_nova roles require them + +# RPC +nova_rabbitmq_userid: nova +nova_rabbitmq_vhost: /nova +nova_rabbitmq_port: "{{ rabbitmq_port }}" +nova_rabbitmq_servers: "{{ rabbitmq_servers }}" +nova_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" +nova_rabbitmq_host_group: "{{ rabbitmq_host_group }}" + +# Telemetry notifications +nova_rabbitmq_telemetry_userid: "{{ nova_rabbitmq_userid }}" +nova_rabbitmq_telemetry_password: "{{ nova_rabbitmq_password }}" +nova_rabbitmq_telemetry_vhost: "{{ nova_rabbitmq_vhost }}" +nova_rabbitmq_telemetry_port: "{{ nova_rabbitmq_port }}" +nova_rabbitmq_telemetry_servers: "{{ nova_rabbitmq_servers }}" +nova_rabbitmq_telemetry_use_ssl: "{{ nova_rabbitmq_use_ssl }}" +nova_rabbitmq_telemetry_host_group: "{{ nova_rabbitmq_host_group }}" + +# If there are any Designate hosts in the environment, then enable its usage +nova_designate_enabled: "{{ (groups['designate_all'] is defined) and (groups['designate_all'] | length > 0) }}" +# If there are any Ceilometer hosts in the environment, then enable its usage +nova_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" +# If there are any Barbican hosts in the environment, then enable its usage +nova_barbican_enabled: "{{ hostvars['localhost']['nova_barbican_enabled'] }}" + # The MySQL details for the nova service nova_galera_user: nova nova_galera_database: nova @@ -44,3 +84,8 @@ nova_venv_download_url: "{{ venv_base_download_url }}/nova-{{ openstack_release # TODO: (andymccr) remove this once https://review.openstack.org/#/c/428120/ merges nova_reserved_host_disk_mb: 0 + +# If there are any Designate hosts in the environment, then enable its usage +neutron_designate_enabled: "{{ hostvars['localhost']['neutron_designate_enabled'] }}" +# If there are any Ceilometer hosts in the environment, then enable its usage +neutron_ceilometer_enabled: "{{ hostvars['localhost']['neutron_ceilometer_enabled'] }}" diff --git a/group_vars/octavia_all.yml b/group_vars/octavia_all.yml index 35300e2ff6..47994df4b6 100644 --- a/group_vars/octavia_all.yml +++ b/group_vars/octavia_all.yml @@ -13,7 +13,24 @@ # See the License for the specific language governing permissions and # limitations under the License. +octavia_service_port: 9876 +octavia_service_proto: http +octavia_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(octavia_service_proto) }}" +octavia_service_internaluri: "{{ octavia_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ octavia_service_port }}" +octavia_service_internalurl: "{{ octavia_service_internaluri }}/v1/%(tenant_id)s" + +octavia_service_user_name: octavia +octavia_service_url: "{{ octavia_service_internaluri }}" + +# RPC +octavia_rabbitmq_userid: octavia +octavia_rabbitmq_vhost: /octavia +octavia_rabbitmq_port: "{{ rabbitmq_port }}" +octavia_rabbitmq_servers: "{{ rabbitmq_servers }}" +octavia_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" +octavia_rabbitmq_host_group: "{{ rabbitmq_host_group }}" + # venv fetch configuration octavia_venv_tag: "{{ venv_tag }}" octavia_bin: "/openstack/venvs/octavia-{{ octavia_venv_tag }}/bin" -octavia_venv_download_url: "{{ venv_base_download_url }}/octavia-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" \ No newline at end of file +octavia_venv_download_url: "{{ venv_base_download_url }}/octavia-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" diff --git a/group_vars/repo_all.yml b/group_vars/repo_all.yml index e75a2c7f90..25defddda1 100644 --- a/group_vars/repo_all.yml +++ b/group_vars/repo_all.yml @@ -67,6 +67,10 @@ repo_build_pip_no_binary: repo_build_release_tag: "{{ openstack_release }}" repo_build_os_distro_version: "{{ os_distro_version }}" +# This is required because the nova package list has a conditional package +# based on this var. +nova_barbican_enabled: "{{ hostvars['localhost']['nova_barbican_enabled'] }}" + pkg_locations: - "{{ playbook_dir }}/../" - /etc/ansible/roles diff --git a/group_vars/sahara_all.yml b/group_vars/sahara_all.yml index f49fc0a932..06b35738ad 100644 --- a/group_vars/sahara_all.yml +++ b/group_vars/sahara_all.yml @@ -11,6 +11,26 @@ # See the License for the specific language governing permissions and # limitations under the License. +#RPC +sahara_rabbitmq_userid: sahara +sahara_rabbitmq_vhost: /sahara +sahara_rabbitmq_port: "{{ rabbitmq_port }}" +sahara_rabbitmq_servers: "{{ rabbitmq_servers }}" +sahara_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" +sahara_rabbitmq_host_group: "{{ rabbitmq_host_group }}" + +# Telemetry notifications +sahara_rabbitmq_telemetry_userid: "{{ sahara_rabbitmq_userid }}" +sahara_rabbitmq_telemetry_password: "{{ sahara_rabbitmq_password }}" +sahara_rabbitmq_telemetry_vhost: "{{ sahara_rabbitmq_vhost }}" +sahara_rabbitmq_telemetry_port: "{{ sahara_rabbitmq_port }}" +sahara_rabbitmq_telemetry_servers: "{{ sahara_rabbitmq_servers }}" +sahara_rabbitmq_telemetry_use_ssl: "{{ sahara_rabbitmq_use_ssl }}" +sahara_rabbitmq_telemetry_host_group: "{{ sahara_rabbitmq_host_group }}" + +# If there are any Ceilometer and Sahara hosts in the environment, then enable its usage +sahara_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['sahara_all'] is defined) and (groups['ceilometer_all'] | length > 0) and (groups['sahara_all'] | length > 0) }}" + sahara_service_region: "{{ service_region }}" sahara_service_in_ldap: "{{ service_ldap_backend_enabled }}" diff --git a/group_vars/swift_all.yml b/group_vars/swift_all.yml index 9a13878894..adc8b129d9 100644 --- a/group_vars/swift_all.yml +++ b/group_vars/swift_all.yml @@ -13,6 +13,21 @@ # See the License for the specific language governing permissions and # limitations under the License. +swift_proxy_port: 8080 +swift_system_user_name: swift +swift_system_shell: /bin/bash +swift_system_comment: swift system user +swift_system_home_folder: "/var/lib/{{ swift_system_user_name }}" + +# Swift Telemetry notifications +swift_rabbitmq_telemetry_userid: "swift" +swift_rabbitmq_telemetry_vhost: "/swift" +swift_rabbitmq_telemetry_servers: "{{ rabbitmq_servers }}" +swift_rabbitmq_telemetry_host_group: "{{ rabbitmq_host_group }}" + +# If there are any Ceilometer and Swift hosts in the environment, then enable its usage +swift_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['swift_proxy'] is defined) and (groups['ceilometer_all'] | length > 0) and (groups['swift_proxy'] | length > 0) }}" + swift_service_region: "{{ service_region }}" swift_service_in_ldap: "{{ service_ldap_backend_enabled }}" diff --git a/group_vars/tacker_all.yml b/group_vars/tacker_all.yml index 4016aa11f8..95d5b838d1 100644 --- a/group_vars/tacker_all.yml +++ b/group_vars/tacker_all.yml @@ -13,6 +13,16 @@ # See the License for the specific language governing permissions and # limitations under the License. +tacker_service_user_name: tacker +tacker_service_tenant_name: service + +tacker_rabbitmq_userid: tacker +tacker_rabbitmq_vhost: /tacker +tacker_rabbitmq_port: "{{ rabbitmq_port }}" +tacker_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" +tacker_rabbitmq_servers: "{{ rabbitmq_servers }}" +tacker_rabbitmq_host_group: "{{ rabbitmq_host_group }}" + tacker_service_publicuri: "{{ openstack_service_publicuri_proto|default(tacker_service_proto) }}://{{ external_lb_vip_address }}:{{ tacker_service_port }}" tacker_service_adminurl: "{{ tacker_service_adminuri }}/" tacker_service_region: "{{ service_region }}" diff --git a/group_vars/utility_all.yml b/group_vars/utility_all.yml index 6f24f78297..53fb715dfd 100644 --- a/group_vars/utility_all.yml +++ b/group_vars/utility_all.yml @@ -33,6 +33,9 @@ utility_pip_packages: - cryptography - python-memcached +# Determines whether Cinder backup should be tested +cinder_service_backup_program_enabled: "{{ hostvars['localhost']['cinder_service_backup_program_enabled'] }}" + # # Tempest settings # diff --git a/host_vars/.placeholder b/host_vars/.placeholder deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/group_vars/all/tacker.yml b/host_vars/localhost/cinder.yml similarity index 60% rename from group_vars/all/tacker.yml rename to host_vars/localhost/cinder.yml index e2ae3cd272..c3921fba2e 100644 --- a/group_vars/all/tacker.yml +++ b/host_vars/localhost/cinder.yml @@ -1,5 +1,5 @@ --- -# Copyright 2017, SUSE LINUX GmbH +# Copyright 2017, Logan Vig # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,12 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -tacker_service_user_name: tacker -tacker_service_tenant_name: service - -tacker_rabbitmq_userid: tacker -tacker_rabbitmq_vhost: /tacker -tacker_rabbitmq_port: "{{ rabbitmq_port }}" -tacker_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -tacker_rabbitmq_servers: "{{ rabbitmq_servers }}" -tacker_rabbitmq_host_group: "{{ rabbitmq_host_group }}" +# If there are Swift hosts in the environment, then enable cinder backups to it +# cinder and tempest groups consume this +cinder_service_backup_program_enabled: "{{ groups['swift_all'] is defined and groups['swift_all'] | length > 0 }}" diff --git a/group_vars/all/ceilometer.yml b/host_vars/localhost/neutron.yml similarity index 51% rename from group_vars/all/ceilometer.yml rename to host_vars/localhost/neutron.yml index c40338740e..255407fba2 100644 --- a/group_vars/all/ceilometer.yml +++ b/host_vars/localhost/neutron.yml @@ -1,5 +1,5 @@ --- -# Copyright 2017, Rackspace US, Inc. +# Copyright 2017, Logan Vig # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,14 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -ceilometer_service_user_name: ceilometer -ceilometer_service_tenant_name: service - -# These are here rather than in ceilometer_all because -# both the os_ceilometer and os_swift roles require them -ceilometer_rabbitmq_userid: ceilometer -ceilometer_rabbitmq_vhost: /ceilometer -ceilometer_rabbitmq_port: "{{ rabbitmq_port }}" -ceilometer_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}" -ceilometer_rabbitmq_servers: "{{ rabbitmq_servers }}" -ceilometer_rabbitmq_host_group: "{{ rabbitmq_host_group }}" +# Nova and Neutron roles both consume these +# If there are any Designate hosts in the environment, then enable its usage +neutron_designate_enabled: "{{ (groups['designate_all'] is defined) and (groups['designate_all'] | length > 0) }}" +# If there are any Ceilometer hosts in the environment, then enable its usage +neutron_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}" diff --git a/group_vars/all/aodh.yml b/host_vars/localhost/nova.yml similarity index 57% rename from group_vars/all/aodh.yml rename to host_vars/localhost/nova.yml index b7363263ec..6fbef3b31f 100644 --- a/group_vars/all/aodh.yml +++ b/host_vars/localhost/nova.yml @@ -1,5 +1,5 @@ --- -# Copyright 2017, Rackspace US, Inc. +# Copyright 2017, Logan Vig # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,9 +13,5 @@ # See the License for the specific language governing permissions and # limitations under the License. -aodh_service_region: "{{ service_region }}" -aodh_galera_user: aodh -aodh_galera_database: aodh -aodh_galera_address: "{{ internal_lb_vip_address }}" -aodh_connection_string: "mysql+pymysql://{{ aodh_galera_user }}:{{ aodh_container_db_password }}@{{ aodh_galera_address }}/{{ aodh_galera_database }}?charset=utf8" -aodh_rabbitmq_host_group: "{{ rabbitmq_host_group }}" +# Enable barbican if the group is populated. repo and nova use this. +nova_barbican_enabled: "{{ (groups['barbican_all'] is defined) and (groups['barbican_all'] | length > 0) }}" diff --git a/playbooks/inventory/localhost b/playbooks/inventory/localhost new file mode 100644 index 0000000000..68b2dac3be --- /dev/null +++ b/playbooks/inventory/localhost @@ -0,0 +1,2 @@ +[all] +localhost