26dee879c0
This patch refactors the puppet controller role so that it makes use of per service VIP settings for each service. Previously the VIP for the ctlplane was hard wired to many of the controller service. With this patch we have the ability to isolate traffic for services which made use of the ctlplane and public VIPs for their settings. The implementation includes: * stops the use of the VirtualIP and PublicVirtualIP within the controller role. These parameters have now been replaced with per service heat parameters for the controller nested stack which are determined via VipMap based on per service settings in the heat environment. * All VIP configuration is now moved into puppet/vip-config.yaml. This made sense so we could deprecate the use of the VirtualIP and PublicVirtualIP settings above. * The puppet manifests for the controller were cleaned up for several to use Hiera directly instead of constructing URLs based on the static controller and public network VIPs. This improvement was something we wanted to do anyways and made the implementation cleaner. Change-Id: I9b9a15be67f74bec97366408f7047acfd6ea0ec6
43 lines
1.9 KiB
YAML
43 lines
1.9 KiB
YAML
heat_template_version: 2015-04-30
|
|
|
|
description: >
|
|
Configure hieradata for service -> virtual IP mappings.
|
|
|
|
resources:
|
|
VipConfigImpl:
|
|
type: OS::Heat::StructuredConfig
|
|
properties:
|
|
group: os-apply-config
|
|
config:
|
|
hiera:
|
|
datafiles:
|
|
vip_data:
|
|
mapped_data:
|
|
keystone_admin_api_vip: {get_input: keystone_admin_api_vip}
|
|
keystone_public_api_vip: {get_input: keystone_public_api_vip}
|
|
neutron_api_vip: {get_input: neutron_api_vip}
|
|
cinder_api_vip: {get_input: cinder_api_vip}
|
|
glance_api_vip: {get_input: glance_api_vip}
|
|
glance_registry_vip: {get_input: glance_registry_vip}
|
|
swift_proxy_vip: {get_input: swift_proxy_vip}
|
|
nova_api_vip: {get_input: nova_api_vip}
|
|
nova_metadata_vip: {get_input: nova_metadata_vip}
|
|
ceilometer_api_vip: {get_input: ceilometer_api_vip}
|
|
heat_api_vip: {get_input: heat_api_vip}
|
|
horizon_vip: {get_input: horizon_vip}
|
|
redis_vip: {get_input: redis_vip}
|
|
mysql_vip: {get_input: mysql_vip}
|
|
mysql_vip: {get_input: mysql_vip}
|
|
tripleo::loadbalancer::public_virtual_ip: {get_input: public_virtual_ip}
|
|
tripleo::loadbalancer::controller_virtual_ip: {get_input: control_virtual_ip}
|
|
tripleo::loadbalancer::internal_api_virtual_ip: {get_input: internal_api_virtual_ip}
|
|
tripleo::loadbalancer::storage_virtual_ip: {get_input: storage_virtual_ip}
|
|
tripleo::loadbalancer::storage_mgmt_virtual_ip: {get_input: storage_mgmt_virtual_ip}
|
|
tripleo::redis_notification::haproxy_monitor_ip: {get_input: control_virtual_ip}
|
|
|
|
|
|
outputs:
|
|
OS::stack_id:
|
|
description: The VipConfigImpl resource.
|
|
value: {get_resource: VipConfigImpl}
|