diff options
46 files changed, 1591 insertions, 549 deletions
diff --git a/environments/inject-trust-anchor-hiera.yaml b/environments/inject-trust-anchor-hiera.yaml new file mode 100644 index 00000000..b4908c1b --- /dev/null +++ b/environments/inject-trust-anchor-hiera.yaml @@ -0,0 +1,8 @@ +parameter_defaults: + CAMap: + first-ca-name: + content: | + The content of the CA cert goes here + second-ca-name: + content: | + The content of the CA cert goes here diff --git a/environments/puppet-ceph-external.yaml b/environments/puppet-ceph-external.yaml index 19cca657..06e4f7aa 100644 --- a/environments/puppet-ceph-external.yaml +++ b/environments/puppet-ceph-external.yaml @@ -2,9 +2,12 @@ # use of an externally managed Ceph cluster. resource_registry: OS::TripleO::Services::CephExternal: ../puppet/services/ceph-external.yaml + OS::TripleO::Services::CephMon: OS::Heat::None + OS::TripleO::Services::CephClient: OS::Heat::None + OS::TripleO::Services::CephOSD: OS::Heat::None parameter_defaults: - # NOTE: These example parameters are required when using Ceph External + # NOTE: These example parameters are required when using CephExternal #CephClusterFSID: '4b5c8c0a-ff60-454b-a1b4-9747aa737d19' #CephClientKey: 'AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ==' #CephExternalMonHost: '172.16.1.7, 172.16.1.8' @@ -26,3 +29,6 @@ parameter_defaults: # finally we disable the Cinder LVM backend CinderEnableIscsiBackend: false + + # Backward compatibility setting, will be removed in the future + CephAdminKey: '' diff --git a/extraconfig/tasks/pacemaker_resource_restart.sh b/extraconfig/tasks/pacemaker_resource_restart.sh index b2e5be16..1637cee2 100755 --- a/extraconfig/tasks/pacemaker_resource_restart.sh +++ b/extraconfig/tasks/pacemaker_resource_restart.sh @@ -10,29 +10,12 @@ if [ "$pacemaker_status" = "active" -a \ "$(hiera bootstrap_nodeid)" = "$(facter hostname)" -a \ "$(hiera stack_action)" = "UPDATE" ]; then - #ensure neutron constraints like - #https://review.openstack.org/#/c/245093/ - if pcs constraint order show | grep "start neutron-server-clone then start neutron-ovs-cleanup-clone"; then - pcs constraint remove order-neutron-server-clone-neutron-ovs-cleanup-clone-mandatory - fi - - pcs resource disable httpd - check_resource httpd stopped 300 - pcs resource disable openstack-core - check_resource openstack-core stopped 1800 - - if pcs status | grep haproxy-clone; then - pcs resource restart haproxy-clone - fi - pcs resource restart redis-master - pcs resource restart mongod-clone - pcs resource restart rabbitmq-clone - pcs resource restart memcached-clone - pcs resource restart galera-master - - pcs resource enable openstack-core - check_resource openstack-core started 1800 - pcs resource enable httpd - check_resource httpd started 800 - + PCMK_RESOURCES="haproxy-clone redis-master rabbitmq-clone galera-master openstack-cinder-volume openstack-cinder-backup" + # Ten minutes of timeout to restart each resource, given there are no constraints should be enough + TIMEOUT=600 + for resource in $PCMK_RESOURCES; do + if pcs status | grep $resource; then + pcs resource restart --wait=$TIMEOUT $resource + fi + done fi diff --git a/network/endpoints/build_endpoint_map.py b/network/endpoints/build_endpoint_map.py index 3110f3f7..964f58f7 100755 --- a/network/endpoints/build_endpoint_map.py +++ b/network/endpoints/build_endpoint_map.py @@ -30,9 +30,9 @@ import yaml (IN_FILE, OUT_FILE) = ('endpoint_data.yaml', 'endpoint_map.yaml') SUBST = (SUBST_IP_ADDRESS, SUBST_CLOUDNAME) = ('IP_ADDRESS', 'CLOUDNAME') -PARAMS = (PARAM_CLOUDNAME, PARAM_ENDPOINTMAP, PARAM_NETIPMAP, +PARAMS = (PARAM_CLOUD_ENDPOINTS, PARAM_ENDPOINTMAP, PARAM_NETIPMAP, PARAM_SERVICENETMAP) = ( - 'CloudName', 'EndpointMap', 'NetIpMap', 'ServiceNetMap') + 'CloudEndpoints', 'EndpointMap', 'NetIpMap', 'ServiceNetMap') FIELDS = (F_PORT, F_PROTOCOL, F_HOST) = ('port', 'protocol', 'host') ENDPOINT_TYPES = frozenset(['Internal', 'Public', 'Admin']) @@ -95,10 +95,11 @@ def template_parameters(config): 'via parameter_defaults in the ' 'resource registry.') - params[PARAM_CLOUDNAME] = make_parameter('string', - 'overcloud', - 'The DNS name of this cloud. ' - 'e.g. ci-overcloud.tripleo.org') + params[PARAM_CLOUD_ENDPOINTS] = make_parameter( + 'json', + {}, + ('A map containing the DNS names for the different endpoints ' + '(external, internal_api, etc.)')) return params @@ -124,7 +125,10 @@ def template_output_definition(endpoint_name, ['NetIpMap', {'get_param': ['ServiceNetMap', net_param]}]}, - SUBST_CLOUDNAME: {'get_param': PARAM_CLOUDNAME}, + SUBST_CLOUDNAME: {'get_param': + [PARAM_CLOUD_ENDPOINTS, + {'get_param': ['ServiceNetMap', + net_param]}]}, }) ]) } @@ -139,7 +143,10 @@ def template_output_definition(endpoint_name, 'params': {'NETWORK': {'get_param': ['ServiceNetMap', net_param]}}}}]}, - SUBST_CLOUDNAME: {'get_param': PARAM_CLOUDNAME}, + SUBST_CLOUDNAME: {'get_param': + [PARAM_CLOUD_ENDPOINTS, + {'get_param': ['ServiceNetMap', + net_param]}]}, }) ]) } diff --git a/network/endpoints/endpoint_map.yaml b/network/endpoints/endpoint_map.yaml index d0553117..dd29bcde 100644 --- a/network/endpoints/endpoint_map.yaml +++ b/network/endpoints/endpoint_map.yaml @@ -69,8 +69,11 @@ parameters: SwiftPublic: {protocol: http, port: '8080', host: IP_ADDRESS} description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. - CloudName: {type: string, default: overcloud, description: The DNS name - of this cloud. e.g. ci-overcloud.tripleo.org} + CloudEndpoints: + type: json + default: {} + description: A map containing the DNS names for the different endpoints + (external, internal_api, etc.) outputs: endpoint_map: value: @@ -80,7 +83,10 @@ outputs: template: get_param: [EndpointMap, AodhAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, AodhApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -94,7 +100,10 @@ outputs: template: get_param: [EndpointMap, AodhAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, AodhApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -112,7 +121,10 @@ outputs: template: get_param: [EndpointMap, AodhAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, AodhApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -132,7 +144,10 @@ outputs: template: get_param: [EndpointMap, AodhAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, AodhApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -149,7 +164,10 @@ outputs: template: get_param: [EndpointMap, AodhInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, AodhApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -163,7 +181,10 @@ outputs: template: get_param: [EndpointMap, AodhInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, AodhApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -181,7 +202,10 @@ outputs: template: get_param: [EndpointMap, AodhInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, AodhApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -201,7 +225,10 @@ outputs: template: get_param: [EndpointMap, AodhInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, AodhApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -218,7 +245,10 @@ outputs: template: get_param: [EndpointMap, AodhPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -232,7 +262,10 @@ outputs: template: get_param: [EndpointMap, AodhPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -250,7 +283,10 @@ outputs: template: get_param: [EndpointMap, AodhPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -270,7 +306,10 @@ outputs: template: get_param: [EndpointMap, AodhPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -287,7 +326,10 @@ outputs: template: get_param: [EndpointMap, CeilometerAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CeilometerApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -301,7 +343,10 @@ outputs: template: get_param: [EndpointMap, CeilometerAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CeilometerApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -319,7 +364,10 @@ outputs: template: get_param: [EndpointMap, CeilometerAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CeilometerApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -339,7 +387,10 @@ outputs: template: get_param: [EndpointMap, CeilometerAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CeilometerApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -356,7 +407,10 @@ outputs: template: get_param: [EndpointMap, CeilometerInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CeilometerApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -370,7 +424,10 @@ outputs: template: get_param: [EndpointMap, CeilometerInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CeilometerApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -388,7 +445,10 @@ outputs: template: get_param: [EndpointMap, CeilometerInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CeilometerApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -408,7 +468,10 @@ outputs: template: get_param: [EndpointMap, CeilometerInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CeilometerApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -425,7 +488,10 @@ outputs: template: get_param: [EndpointMap, CeilometerPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -439,7 +505,10 @@ outputs: template: get_param: [EndpointMap, CeilometerPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -457,7 +526,10 @@ outputs: template: get_param: [EndpointMap, CeilometerPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -477,7 +549,10 @@ outputs: template: get_param: [EndpointMap, CeilometerPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -494,7 +569,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -508,7 +586,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -526,7 +607,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -547,7 +631,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -564,7 +651,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -578,7 +668,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -596,7 +689,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -617,7 +713,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -634,7 +733,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -648,7 +750,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -666,7 +771,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -687,7 +795,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -704,7 +815,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -718,7 +832,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -736,7 +853,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -757,7 +877,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -774,7 +897,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -788,7 +914,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -806,7 +935,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -827,7 +959,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -844,7 +979,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -858,7 +996,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -876,7 +1017,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -897,7 +1041,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -914,7 +1061,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -928,7 +1078,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -946,7 +1099,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -967,7 +1123,10 @@ outputs: template: get_param: [EndpointMap, CinderAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -984,7 +1143,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -998,7 +1160,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1016,7 +1181,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1037,7 +1205,10 @@ outputs: template: get_param: [EndpointMap, CinderInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, CinderApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1054,7 +1225,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1068,7 +1242,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1086,7 +1263,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1107,7 +1287,10 @@ outputs: template: get_param: [EndpointMap, CinderPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1124,7 +1307,10 @@ outputs: template: get_param: [EndpointMap, GlanceAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1138,7 +1324,10 @@ outputs: template: get_param: [EndpointMap, GlanceAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1156,7 +1345,10 @@ outputs: template: get_param: [EndpointMap, GlanceAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1176,7 +1368,10 @@ outputs: template: get_param: [EndpointMap, GlanceAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1193,7 +1388,10 @@ outputs: template: get_param: [EndpointMap, GlanceInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1207,7 +1405,10 @@ outputs: template: get_param: [EndpointMap, GlanceInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1225,7 +1426,10 @@ outputs: template: get_param: [EndpointMap, GlanceInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1245,7 +1449,10 @@ outputs: template: get_param: [EndpointMap, GlanceInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1262,7 +1469,10 @@ outputs: template: get_param: [EndpointMap, GlancePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1276,7 +1486,10 @@ outputs: template: get_param: [EndpointMap, GlancePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1294,7 +1507,10 @@ outputs: template: get_param: [EndpointMap, GlancePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1314,7 +1530,10 @@ outputs: template: get_param: [EndpointMap, GlancePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1331,7 +1550,10 @@ outputs: template: get_param: [EndpointMap, GlanceRegistryInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceRegistryNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1345,7 +1567,10 @@ outputs: template: get_param: [EndpointMap, GlanceRegistryInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceRegistryNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1363,7 +1588,10 @@ outputs: template: get_param: [EndpointMap, GlanceRegistryInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceRegistryNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1383,7 +1611,10 @@ outputs: template: get_param: [EndpointMap, GlanceRegistryInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GlanceRegistryNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1400,7 +1631,10 @@ outputs: template: get_param: [EndpointMap, GnocchiAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GnocchiApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1414,7 +1648,10 @@ outputs: template: get_param: [EndpointMap, GnocchiAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GnocchiApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1432,7 +1669,10 @@ outputs: template: get_param: [EndpointMap, GnocchiAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GnocchiApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1452,7 +1692,10 @@ outputs: template: get_param: [EndpointMap, GnocchiAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GnocchiApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1469,7 +1712,10 @@ outputs: template: get_param: [EndpointMap, GnocchiInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GnocchiApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1483,7 +1729,10 @@ outputs: template: get_param: [EndpointMap, GnocchiInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GnocchiApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1501,7 +1750,10 @@ outputs: template: get_param: [EndpointMap, GnocchiInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GnocchiApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1521,7 +1773,10 @@ outputs: template: get_param: [EndpointMap, GnocchiInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, GnocchiApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1538,7 +1793,10 @@ outputs: template: get_param: [EndpointMap, GnocchiPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1552,7 +1810,10 @@ outputs: template: get_param: [EndpointMap, GnocchiPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1570,7 +1831,10 @@ outputs: template: get_param: [EndpointMap, GnocchiPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1590,7 +1854,10 @@ outputs: template: get_param: [EndpointMap, GnocchiPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1607,7 +1874,10 @@ outputs: template: get_param: [EndpointMap, HeatAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1621,7 +1891,10 @@ outputs: template: get_param: [EndpointMap, HeatAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1639,7 +1912,10 @@ outputs: template: get_param: [EndpointMap, HeatAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1660,7 +1936,10 @@ outputs: template: get_param: [EndpointMap, HeatAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1677,7 +1956,10 @@ outputs: template: get_param: [EndpointMap, HeatInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1691,7 +1973,10 @@ outputs: template: get_param: [EndpointMap, HeatInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1709,7 +1994,10 @@ outputs: template: get_param: [EndpointMap, HeatInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1730,7 +2018,10 @@ outputs: template: get_param: [EndpointMap, HeatInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1747,7 +2038,10 @@ outputs: template: get_param: [EndpointMap, HeatPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1761,7 +2055,10 @@ outputs: template: get_param: [EndpointMap, HeatPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1779,7 +2076,10 @@ outputs: template: get_param: [EndpointMap, HeatPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1800,7 +2100,10 @@ outputs: template: get_param: [EndpointMap, HeatPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1817,7 +2120,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1831,7 +2137,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1849,7 +2158,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1870,7 +2182,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1887,7 +2202,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1901,7 +2219,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1919,7 +2240,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1940,7 +2264,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, HeatApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1957,7 +2284,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1971,7 +2301,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -1989,7 +2322,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2010,7 +2346,10 @@ outputs: template: get_param: [EndpointMap, HeatCfnPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2027,7 +2366,10 @@ outputs: template: get_param: [EndpointMap, HorizonPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2041,7 +2383,10 @@ outputs: template: get_param: [EndpointMap, HorizonPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2059,7 +2404,10 @@ outputs: template: get_param: [EndpointMap, HorizonPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2080,7 +2428,10 @@ outputs: template: get_param: [EndpointMap, HorizonPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2097,7 +2448,10 @@ outputs: template: get_param: [EndpointMap, IronicAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, IronicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2111,7 +2465,10 @@ outputs: template: get_param: [EndpointMap, IronicAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, IronicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2129,7 +2486,10 @@ outputs: template: get_param: [EndpointMap, IronicAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, IronicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2150,7 +2510,10 @@ outputs: template: get_param: [EndpointMap, IronicAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, IronicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2167,7 +2530,10 @@ outputs: template: get_param: [EndpointMap, IronicInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, IronicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2181,7 +2547,10 @@ outputs: template: get_param: [EndpointMap, IronicInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, IronicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2199,7 +2568,10 @@ outputs: template: get_param: [EndpointMap, IronicInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, IronicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2220,7 +2592,10 @@ outputs: template: get_param: [EndpointMap, IronicInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, IronicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2237,7 +2612,10 @@ outputs: template: get_param: [EndpointMap, IronicPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2251,7 +2629,10 @@ outputs: template: get_param: [EndpointMap, IronicPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2269,7 +2650,10 @@ outputs: template: get_param: [EndpointMap, IronicPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2290,7 +2674,10 @@ outputs: template: get_param: [EndpointMap, IronicPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2307,7 +2694,10 @@ outputs: template: get_param: [EndpointMap, KeystoneAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystoneAdminApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2321,7 +2711,10 @@ outputs: template: get_param: [EndpointMap, KeystoneAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystoneAdminApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2339,7 +2732,10 @@ outputs: template: get_param: [EndpointMap, KeystoneAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystoneAdminApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2360,7 +2756,10 @@ outputs: template: get_param: [EndpointMap, KeystoneAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystoneAdminApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2377,7 +2776,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2391,7 +2793,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2409,7 +2814,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2430,7 +2838,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2447,7 +2858,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2461,7 +2875,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2479,7 +2896,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2500,7 +2920,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2517,7 +2940,10 @@ outputs: template: get_param: [EndpointMap, KeystonePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2531,7 +2957,10 @@ outputs: template: get_param: [EndpointMap, KeystonePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2549,7 +2978,10 @@ outputs: template: get_param: [EndpointMap, KeystonePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2570,7 +3002,10 @@ outputs: template: get_param: [EndpointMap, KeystonePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2587,7 +3022,10 @@ outputs: template: get_param: [EndpointMap, KeystoneAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystoneAdminApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2601,7 +3039,10 @@ outputs: template: get_param: [EndpointMap, KeystoneAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystoneAdminApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2619,7 +3060,10 @@ outputs: template: get_param: [EndpointMap, KeystoneAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystoneAdminApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2640,7 +3084,10 @@ outputs: template: get_param: [EndpointMap, KeystoneAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystoneAdminApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2657,7 +3104,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2671,7 +3121,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2689,7 +3142,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2710,7 +3166,10 @@ outputs: template: get_param: [EndpointMap, KeystoneInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2727,7 +3186,10 @@ outputs: template: get_param: [EndpointMap, KeystonePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2741,7 +3203,10 @@ outputs: template: get_param: [EndpointMap, KeystonePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2759,7 +3224,10 @@ outputs: template: get_param: [EndpointMap, KeystonePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2780,7 +3248,10 @@ outputs: template: get_param: [EndpointMap, KeystonePublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2797,7 +3268,10 @@ outputs: template: get_param: [EndpointMap, ManilaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2811,7 +3285,10 @@ outputs: template: get_param: [EndpointMap, ManilaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2829,7 +3306,10 @@ outputs: template: get_param: [EndpointMap, ManilaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2850,7 +3330,10 @@ outputs: template: get_param: [EndpointMap, ManilaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2867,7 +3350,10 @@ outputs: template: get_param: [EndpointMap, ManilaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2881,7 +3367,10 @@ outputs: template: get_param: [EndpointMap, ManilaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2899,7 +3388,10 @@ outputs: template: get_param: [EndpointMap, ManilaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2920,7 +3412,10 @@ outputs: template: get_param: [EndpointMap, ManilaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2937,7 +3432,10 @@ outputs: template: get_param: [EndpointMap, ManilaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2951,7 +3449,10 @@ outputs: template: get_param: [EndpointMap, ManilaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2969,7 +3470,10 @@ outputs: template: get_param: [EndpointMap, ManilaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -2990,7 +3494,10 @@ outputs: template: get_param: [EndpointMap, ManilaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3007,7 +3514,10 @@ outputs: template: get_param: [EndpointMap, ManilaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3021,7 +3531,10 @@ outputs: template: get_param: [EndpointMap, ManilaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3039,7 +3552,10 @@ outputs: template: get_param: [EndpointMap, ManilaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3060,7 +3576,10 @@ outputs: template: get_param: [EndpointMap, ManilaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3077,7 +3596,10 @@ outputs: template: get_param: [EndpointMap, ManilaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3091,7 +3613,10 @@ outputs: template: get_param: [EndpointMap, ManilaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3109,7 +3634,10 @@ outputs: template: get_param: [EndpointMap, ManilaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3130,7 +3658,10 @@ outputs: template: get_param: [EndpointMap, ManilaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, ManilaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3147,7 +3678,10 @@ outputs: template: get_param: [EndpointMap, ManilaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3161,7 +3695,10 @@ outputs: template: get_param: [EndpointMap, ManilaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3179,7 +3716,10 @@ outputs: template: get_param: [EndpointMap, ManilaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3200,7 +3740,10 @@ outputs: template: get_param: [EndpointMap, ManilaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3217,7 +3760,10 @@ outputs: template: get_param: [EndpointMap, MysqlInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, MysqlNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3231,7 +3777,10 @@ outputs: template: get_param: [EndpointMap, MysqlInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, MysqlNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3249,7 +3798,10 @@ outputs: template: get_param: [EndpointMap, MysqlInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, MysqlNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3269,7 +3821,10 @@ outputs: template: get_param: [EndpointMap, MysqlInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, MysqlNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3286,7 +3841,10 @@ outputs: template: get_param: [EndpointMap, NeutronAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NeutronApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3300,7 +3858,10 @@ outputs: template: get_param: [EndpointMap, NeutronAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NeutronApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3318,7 +3879,10 @@ outputs: template: get_param: [EndpointMap, NeutronAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NeutronApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3338,7 +3902,10 @@ outputs: template: get_param: [EndpointMap, NeutronAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NeutronApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3355,7 +3922,10 @@ outputs: template: get_param: [EndpointMap, NeutronInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NeutronApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3369,7 +3939,10 @@ outputs: template: get_param: [EndpointMap, NeutronInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NeutronApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3387,7 +3960,10 @@ outputs: template: get_param: [EndpointMap, NeutronInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NeutronApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3407,7 +3983,10 @@ outputs: template: get_param: [EndpointMap, NeutronInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NeutronApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3424,7 +4003,10 @@ outputs: template: get_param: [EndpointMap, NeutronPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3438,7 +4020,10 @@ outputs: template: get_param: [EndpointMap, NeutronPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3456,7 +4041,10 @@ outputs: template: get_param: [EndpointMap, NeutronPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3476,7 +4064,10 @@ outputs: template: get_param: [EndpointMap, NeutronPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3493,7 +4084,10 @@ outputs: template: get_param: [EndpointMap, NovaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3507,7 +4101,10 @@ outputs: template: get_param: [EndpointMap, NovaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3525,7 +4122,10 @@ outputs: template: get_param: [EndpointMap, NovaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3546,7 +4146,10 @@ outputs: template: get_param: [EndpointMap, NovaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3563,7 +4166,10 @@ outputs: template: get_param: [EndpointMap, NovaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3577,7 +4183,10 @@ outputs: template: get_param: [EndpointMap, NovaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3595,7 +4204,10 @@ outputs: template: get_param: [EndpointMap, NovaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3616,7 +4228,10 @@ outputs: template: get_param: [EndpointMap, NovaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3633,7 +4248,10 @@ outputs: template: get_param: [EndpointMap, NovaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3647,7 +4265,10 @@ outputs: template: get_param: [EndpointMap, NovaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3665,7 +4286,10 @@ outputs: template: get_param: [EndpointMap, NovaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3686,7 +4310,10 @@ outputs: template: get_param: [EndpointMap, NovaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3703,7 +4330,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3717,7 +4347,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3735,7 +4368,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3755,7 +4391,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3772,7 +4411,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3786,7 +4428,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3804,7 +4449,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3824,7 +4472,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, NovaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3841,7 +4492,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3855,7 +4509,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3873,7 +4530,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3893,7 +4553,10 @@ outputs: template: get_param: [EndpointMap, NovaVNCProxyPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3910,7 +4573,10 @@ outputs: template: get_param: [EndpointMap, SaharaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SaharaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3924,7 +4590,10 @@ outputs: template: get_param: [EndpointMap, SaharaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SaharaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3942,7 +4611,10 @@ outputs: template: get_param: [EndpointMap, SaharaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SaharaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3963,7 +4635,10 @@ outputs: template: get_param: [EndpointMap, SaharaAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SaharaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3980,7 +4655,10 @@ outputs: template: get_param: [EndpointMap, SaharaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SaharaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -3994,7 +4672,10 @@ outputs: template: get_param: [EndpointMap, SaharaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SaharaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4012,7 +4693,10 @@ outputs: template: get_param: [EndpointMap, SaharaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SaharaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4033,7 +4717,10 @@ outputs: template: get_param: [EndpointMap, SaharaInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SaharaApiNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4050,7 +4737,10 @@ outputs: template: get_param: [EndpointMap, SaharaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4064,7 +4754,10 @@ outputs: template: get_param: [EndpointMap, SaharaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4082,7 +4775,10 @@ outputs: template: get_param: [EndpointMap, SaharaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4103,7 +4799,10 @@ outputs: template: get_param: [EndpointMap, SaharaPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4120,7 +4819,10 @@ outputs: template: get_param: [EndpointMap, SwiftAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4134,7 +4836,10 @@ outputs: template: get_param: [EndpointMap, SwiftAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4152,7 +4857,10 @@ outputs: template: get_param: [EndpointMap, SwiftAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4172,7 +4880,10 @@ outputs: template: get_param: [EndpointMap, SwiftAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4189,7 +4900,10 @@ outputs: template: get_param: [EndpointMap, SwiftInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4203,7 +4917,10 @@ outputs: template: get_param: [EndpointMap, SwiftInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4221,7 +4938,10 @@ outputs: template: get_param: [EndpointMap, SwiftInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4242,7 +4962,10 @@ outputs: template: get_param: [EndpointMap, SwiftInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4259,7 +4982,10 @@ outputs: template: get_param: [EndpointMap, SwiftPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4273,7 +4999,10 @@ outputs: template: get_param: [EndpointMap, SwiftPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4291,7 +5020,10 @@ outputs: template: get_param: [EndpointMap, SwiftPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4312,7 +5044,10 @@ outputs: template: get_param: [EndpointMap, SwiftPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4329,7 +5064,10 @@ outputs: template: get_param: [EndpointMap, SwiftAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4343,7 +5081,10 @@ outputs: template: get_param: [EndpointMap, SwiftAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4361,7 +5102,10 @@ outputs: template: get_param: [EndpointMap, SwiftAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4381,7 +5125,10 @@ outputs: template: get_param: [EndpointMap, SwiftAdmin, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4398,7 +5145,10 @@ outputs: template: get_param: [EndpointMap, SwiftInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4412,7 +5162,10 @@ outputs: template: get_param: [EndpointMap, SwiftInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4430,7 +5183,10 @@ outputs: template: get_param: [EndpointMap, SwiftInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4450,7 +5206,10 @@ outputs: template: get_param: [EndpointMap, SwiftInternal, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, SwiftProxyNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4467,7 +5226,10 @@ outputs: template: get_param: [EndpointMap, SwiftPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4481,7 +5243,10 @@ outputs: template: get_param: [EndpointMap, SwiftPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4499,7 +5264,10 @@ outputs: template: get_param: [EndpointMap, SwiftPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap @@ -4519,7 +5287,10 @@ outputs: template: get_param: [EndpointMap, SwiftPublic, host] params: - CLOUDNAME: {get_param: CloudName} + CLOUDNAME: + get_param: + - CloudEndpoints + - get_param: [ServiceNetMap, PublicNetwork] IP_ADDRESS: get_param: - NetIpMap diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml index 817ff2c8..008f42f7 100644 --- a/overcloud-resource-registry-puppet.yaml +++ b/overcloud-resource-registry-puppet.yaml @@ -130,6 +130,7 @@ resource_registry: # services OS::TripleO::Services: puppet/services/services.yaml + OS::TripleO::Services::CACerts: puppet/services/ca-certs.yaml OS::TripleO::Services::CephMon: OS::Heat::None OS::TripleO::Services::CephOSD: OS::Heat::None OS::TripleO::Services::CephClient: OS::Heat::None @@ -165,8 +166,10 @@ resource_registry: OS::TripleO::Services::NeutronCorePluginOpencontrail: puppet/services/neutron-plugin-opencontrail.yaml OS::TripleO::Services::NeutronCorePluginMidonet: puppet/services/neutron-midonet.yaml OS::TripleO::Services::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml + # ComputeNeutronOvsAgent can be overriden to puppet/services/neutron-ovs-dpdk-agent.yaml also to enable DPDK OS::TripleO::Services::ComputeNeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml OS::TripleO::Services::Pacemaker: OS::Heat::None + OS::TripleO::Services::NeutronSriovAgent: OS::Heat::None OS::TripleO::Services::RabbitMQ: puppet/services/rabbitmq.yaml OS::TripleO::Services::HAproxy: puppet/services/haproxy.yaml OS::TripleO::Services::Keepalived: puppet/services/keepalived.yaml diff --git a/overcloud.yaml b/overcloud.yaml index b37426f8..b534deb9 100644 --- a/overcloud.yaml +++ b/overcloud.yaml @@ -16,6 +16,30 @@ parameters: default: overcloud description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org type: string + CloudNameInternal: + default: overcloud.internalapi.localdomain + description: > + The DNS name of this cloud's internal API endpoint. E.g. + 'ci-overcloud.internalapi.tripleo.org'. + type: string + CloudNameStorage: + default: overcloud.storage.localdomain + description: > + The DNS name of this cloud's storage endpoint. E.g. + 'ci-overcloud.storage.tripleo.org'. + type: string + CloudNameStorageManagement: + default: overcloud.storagemgmt.localdomain + description: > + The DNS name of this cloud's storage management endpoint. E.g. + 'ci-overcloud.storagemgmt.tripleo.org'. + type: string + CloudNameManagement: + default: overcloud.management.localdomain + description: > + The DNS name of this cloud's storage management endpoint. E.g. + 'ci-overcloud.management.tripleo.org'. + type: string ControlFixedIPs: default: [] description: Should be used for arbitrary ips. @@ -91,11 +115,6 @@ parameters: may be implementation specific, e.g puppet hieradata. Any role specific ExtraConfig, e.g controllerExtraConfig takes precedence over ExtraConfig. type: json - SwiftHashSuffix: - description: A random string to be used as a salt when hashing to determine mappings in the ring. - type: string - hidden: true - # Compute-specific params ComputeCount: @@ -115,6 +134,7 @@ parameters: ControllerServices: default: + - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephMon - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CinderApi @@ -185,6 +205,7 @@ parameters: ComputeServices: default: + - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephClient - OS::TripleO::Services::CephExternal - OS::TripleO::Services::Timezone @@ -200,6 +221,7 @@ parameters: - OS::TripleO::Services::ComputeNeutronMetadataAgent - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall + - OS::TripleO::Services::NeutronSriovAgent description: A list of service resources (configured in the Heat resource_registry) which represent nested stacks for each service that should get installed on the Compute Nodes. @@ -217,6 +239,7 @@ parameters: type: json BlockStorageServices: default: + - OS::TripleO::Services::CACerts - OS::TripleO::Services::CinderVolume - OS::TripleO::Services::Kernel - OS::TripleO::Services::Ntp @@ -241,6 +264,7 @@ parameters: type: json ObjectStorageServices: default: + - OS::TripleO::Services::CACerts - OS::TripleO::Services::Kernel - OS::TripleO::Services::Ntp - OS::TripleO::Services::SwiftStorage @@ -268,6 +292,7 @@ parameters: type: json CephStorageServices: default: + - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephOSD - OS::TripleO::Services::Kernel - OS::TripleO::Services::Ntp @@ -380,7 +405,12 @@ resources: EndpointMap: type: OS::TripleO::EndpointMap properties: - CloudName: {get_param: CloudName} + CloudEndpoints: + external: {get_param: CloudName} + internal_api: {get_param: CloudNameInternal} + storage: {get_param: CloudNameStorage} + storage_mgmt: {get_param: CloudNameStorageManagement} + management: {get_param: CloudNameManagement} NetIpMap: {get_attr: [VipMap, net_ip_map]} ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]} @@ -403,7 +433,6 @@ resources: properties: CloudDomain: {get_param: CloudDomain} controllerExtraConfig: {get_param: controllerExtraConfig} - HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey} HorizonSecret: {get_resource: HorizonSecret} PcsdPassword: {get_resource: PcsdPassword} RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]} @@ -439,9 +468,6 @@ resources: CloudDomain: {get_param: CloudDomain} NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge} NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface} - # L3 HA and Failover is not relevant for Computes, should be removed - NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, NovaApiNetwork]}]} - NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]} ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]} EndpointMap: {get_attr: [EndpointMap, endpoint_map]} Hostname: @@ -502,7 +528,6 @@ resources: resource_def: type: OS::TripleO::ObjectStorage properties: - HashSuffix: {get_param: SwiftHashSuffix} UpdateIdentifier: {get_param: UpdateIdentifier} ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]} Hostname: diff --git a/puppet/ceph-storage-post.yaml b/puppet/ceph-storage-post.yaml index 70baeb6e..a83e0cfe 100644 --- a/puppet/ceph-storage-post.yaml +++ b/puppet/ceph-storage-post.yaml @@ -38,6 +38,7 @@ resources: enable_debug: {get_param: ConfigDebug} enable_hiera: True enable_facter: False + modulepath: /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules inputs: - name: step outputs: diff --git a/puppet/ceph-storage.yaml b/puppet/ceph-storage.yaml index de5a9c39..829456b5 100644 --- a/puppet/ceph-storage.yaml +++ b/puppet/ceph-storage.yaml @@ -231,22 +231,6 @@ resources: server: {get_resource: CephStorage} input_values: enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} - ceph_cluster_network: - get_attr: - - NetIpMap - - net_ip_map - - str_replace: - template: "NETWORK_subnet" - params: - NETWORK: {get_param: [ServiceNetMap, CephClusterNetwork]} - ceph_public_network: - get_attr: - - NetIpMap - - net_ip_map - - str_replace: - template: "NETWORK_subnet" - params: - NETWORK: {get_param: [ServiceNetMap, CephPublicNetwork]} CephStorageConfig: type: OS::Heat::StructuredConfig @@ -261,8 +245,6 @@ resources: - extraconfig - service_names - service_configs - - ceph_cluster # provided by CephClusterConfig - - ceph - all_nodes # provided by allNodesConfig - '"%{::osfamily}"' merge_behavior: deeper @@ -282,8 +264,6 @@ resources: ceph: mapped_data: tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade} - ceph::profile::params::cluster_network: {get_input: ceph_cluster_network} - ceph::profile::params::public_network: {get_input: ceph_public_network} # Resource for site-specific injection of root certificate NodeTLSCAData: diff --git a/puppet/cinder-storage-post.yaml b/puppet/cinder-storage-post.yaml index c3dd403e..6416c43e 100644 --- a/puppet/cinder-storage-post.yaml +++ b/puppet/cinder-storage-post.yaml @@ -37,6 +37,7 @@ resources: enable_debug: {get_param: ConfigDebug} enable_hiera: True enable_facter: False + modulepath: /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules inputs: - name: step outputs: diff --git a/puppet/compute-post.yaml b/puppet/compute-post.yaml index c1b37772..d0c6082c 100644 --- a/puppet/compute-post.yaml +++ b/puppet/compute-post.yaml @@ -38,6 +38,7 @@ resources: enable_debug: {get_param: ConfigDebug} enable_hiera: True enable_facter: False + modulepath: /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules inputs: - name: step outputs: diff --git a/puppet/compute.yaml b/puppet/compute.yaml index c6dc94d6..1790aa0d 100644 --- a/puppet/compute.yaml +++ b/puppet/compute.yaml @@ -42,9 +42,6 @@ parameters: NodeIndex: type: number default: 0 - NovaApiHost: - type: string - default: '' # Has to be here because of the ignored empty value bug NovaComputeExtraConfig: default: {} description: | @@ -54,9 +51,6 @@ parameters: NovaComputeIPs: default: {} type: json - NovaPublicIP: - type: string - default: '' # Has to be here because of the ignored empty value bug ServiceNetMap: default: {} description: Mapping of service_name -> network name. Typically set @@ -264,7 +258,6 @@ resources: - service_names - service_configs - compute - - ceph_cluster # provided by CephClusterConfig - all_nodes # provided by allNodesConfig - '"%{::osfamily}"' - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre @@ -272,6 +265,7 @@ resources: - nova_nuage_data # Optionally provided by ComputeExtraConfigPre - midonet_data # Optionally provided by AllNodesExtraConfig - neutron_opencontrail_data # Optionally provided by ComputeExtraConfigPre + - cisco_aci_data # Optionally provided by ComputeExtraConfigPre merge_behavior: deeper datafiles: service_names: @@ -288,11 +282,6 @@ resources: mapped_data: {get_param: ExtraConfig} compute: mapped_data: - nova_api_host: {get_input: nova_api_host} - nova::compute::vncproxy_host: {get_input: nova_public_ip} - nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address} - neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip} - tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade} NovaComputeDeployment: @@ -303,10 +292,6 @@ resources: config: {get_resource: NovaComputeConfig} server: {get_resource: NovaCompute} input_values: - nova_public_ip: {get_param: NovaPublicIP} - nova_api_host: {get_param: NovaApiHost} - nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]} - neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]} enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} # Resource for site-specific injection of root certificate diff --git a/puppet/controller-config-pacemaker.yaml b/puppet/controller-config-pacemaker.yaml index 5116cac7..b313f5de 100644 --- a/puppet/controller-config-pacemaker.yaml +++ b/puppet/controller-config-pacemaker.yaml @@ -23,6 +23,7 @@ resources: enable_debug: {get_param: ConfigDebug} enable_hiera: True enable_facter: False + modulepath: /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules outputs: - name: result config: diff --git a/puppet/controller-config.yaml b/puppet/controller-config.yaml index cadba703..811c544d 100644 --- a/puppet/controller-config.yaml +++ b/puppet/controller-config.yaml @@ -23,6 +23,7 @@ resources: enable_debug: {get_param: ConfigDebug} enable_hiera: True enable_facter: False + modulepath: /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules outputs: - name: result config: diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 1b2706ea..28fd08da 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -4,10 +4,6 @@ description: > OpenStack controller node configured by Puppet. parameters: - AodhPassword: - description: The password for the aodh services. - type: string - hidden: true controllerExtraConfig: default: {} description: | @@ -87,10 +83,6 @@ parameters: type: string constraints: - custom_constraint: nova.flavor - HeatAuthEncryptionKey: - description: Auth encryption key for heat-engine - type: string - hidden: true HorizonSecret: description: Secret key for Django type: string @@ -166,11 +158,6 @@ parameters: type: string default: '' # Has to be here because of the ignored empty value bug description: An IP address which is wrapped in brackets in case of IPv6 - SwiftHashSuffix: - description: A random string to be used as a salt when hashing to determine mappings - in the ring. - hidden: true - type: string SwiftRawDisks: default: {} description: 'A hash of additional raw devices to use as Swift backend (eg. {sdb: {}})' @@ -405,7 +392,6 @@ resources: server: {get_resource: Controller} input_values: bootstack_nodeid: {get_attr: [Controller, name]} - heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey} horizon_secret: {get_param: HorizonSecret} debug: {get_param: Debug} keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] } @@ -416,17 +402,6 @@ resources: manage_firewall: {get_param: ManageFirewall} purge_firewall_rules: {get_param: PurgeFirewallRules} neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret} - aodh_internal_url: { get_param: [ EndpointMap, AodhInternal, uri ] } - aodh_public_url: { get_param: [ EndpointMap, AodhPublic, uri ] } - aodh_admin_url: { get_param: [ EndpointMap, AodhAdmin, uri ] } - ceilometer_coordination_url: - list_join: - - '' - - - 'redis://:' - - {get_param: RedisPassword} - - '@' - - {get_param: RedisVirtualIPUri} - - ':6379/' nova_enable_db_purge: {get_param: NovaEnableDBPurge} nova_ipv6: {get_param: NovaIPv6} corosync_ipv6: {get_param: CorosyncIPv6} @@ -436,23 +411,9 @@ resources: instance_name_template: {get_param: InstanceNameTemplate} fencing_config: {get_param: FencingConfig} pcsd_password: {get_param: PcsdPassword} - swift_hash_suffix: {get_param: SwiftHashSuffix} enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} - swift_proxy_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]} - swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]} - glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]} - glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]} glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]} - heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]} - keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]} - keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]} - manila_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]} - mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongodbNetwork]}]} neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]} - neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]} - ceilometer_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]} - aodh_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]} - gnocchi_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]} nova_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]} nova_metadata_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]} horizon_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]} @@ -468,27 +429,7 @@ resources: template: "NETWORK_subnet" params: NETWORK: {get_param: [ServiceNetMap, HorizonNetwork]} - redis_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]} redis_vip: {get_param: RedisVirtualIP} - sahara_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]} - memcached_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]} - ceph_cluster_network: - get_attr: - - NetIpMap - - net_ip_map - - str_replace: - template: "NETWORK_subnet" - params: - NETWORK: {get_param: [ServiceNetMap, CephClusterNetwork]} - ceph_public_network: - get_attr: - - NetIpMap - - net_ip_map - - str_replace: - template: "NETWORK_subnet" - params: - NETWORK: {get_param: [ServiceNetMap, CephPublicNetwork]} - ceph_public_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]} ironic_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]} # Map heat metadata into hiera datafiles @@ -507,8 +448,6 @@ resources: - service_names - controller - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig - - ceph_cluster # provided by CephClusterConfig - - ceph - bootstrap_node # provided by BootstrapNodeConfig - all_nodes # provided by allNodesConfig - vip_data # provided by vip-config @@ -520,6 +459,7 @@ resources: - neutron_cisco_data # Optionally provided by ControllerExtraConfigPre - cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre - midonet_data #Optionally provided by AllNodesExtraConfig + - cisco_aci_data # Optionally provided by ControllerExtraConfigPre merge_behavior: deeper datafiles: service_names: @@ -537,11 +477,6 @@ resources: - {get_param: ControllerExtraConfig} extraconfig: mapped_data: {get_param: ExtraConfig} - ceph: - mapped_data: - ceph::profile::params::cluster_network: {get_input: ceph_cluster_network} - ceph::profile::params::public_network: {get_input: ceph_public_network} - ceph::profile::params::public_addr: {get_input: ceph_public_ip} controller: mapped_data: # data supplied directly to this deployment configuration, etc bootstack_nodeid: {get_input: bootstack_nodeid} @@ -553,55 +488,12 @@ resources: corosync_ipv6: {get_input: corosync_ipv6} tripleo::fencing::config: {get_input: fencing_config} - # Swift - # FIXME: need to move proxy_local_net_ip into swift-proxy.yaml - swift::proxy::proxy_local_net_ip: {get_input: swift_proxy_network} - swift::storage::all::storage_local_net_ip: {get_input: swift_management_network} - swift::swift_hash_path_suffix: {get_input: swift_hash_suffix} - - # Glance - glance::api::bind_host: {get_input: glance_api_network} - glance::registry::bind_host: {get_input: glance_registry_network} - - # Heat - heat::api::bind_host: {get_input: heat_api_network} - heat::api_cloudwatch::bind_host: {get_input: heat_api_network} - heat::api_cfn::bind_host: {get_input: heat_api_network} - heat::engine::auth_encryption_key: {get_input: heat_auth_encryption_key} - - # Keystone - keystone::admin_bind_host: {get_input: keystone_admin_api_network} - keystone::public_bind_host: {get_input: keystone_public_api_network} - keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network} - keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network} - - # Manila - manila::api::bind_host: {get_input: manila_api_network} - - # MongoDB - mongodb::server::bind_ip: {get_input: mongo_db_network} - # Neutron neutron::bind_host: {get_input: neutron_api_network} - neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip} neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network} - - # Aodh - aodh::api::host: {get_input: aodh_api_network} - aodh::wsgi::apache::bind_host: {get_input: aodh_api_network} - - # Ceilometer - ceilometer::api::host: {get_input: ceilometer_api_network} snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name} snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password} - # Gnocchi - gnocchi::wsgi::apache::bind_host: {get_input: gnocchi_api_network} - gnocchi::api::host: {get_input: gnocchi_api_network} - gnocchi::api::keystone_auth_uri: {get_input: keystone_auth_uri} - gnocchi::api::keystone_identity_uri: {get_input: keystone_identity_uri} - gnocchi::storage::swift::swift_authurl: {get_input: keystone_auth_uri} - # Nova nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute} nova::use_ipv6: {get_input: nova_ipv6} @@ -621,18 +513,13 @@ resources: horizon::bind_address: {get_input: horizon_network} horizon::keystone_url: {get_input: keystone_auth_uri} - # Sahara - sahara::host: {get_input: sahara_api_network} - # Redis - redis::bind: {get_input: redis_network} redis_vip: {get_input: redis_vip} # Firewall tripleo::firewall::manage_firewall: {get_input: manage_firewall} tripleo::firewall::purge_firewall_rules: {get_input: purge_firewall_rules} # Misc memcached_ipv6: {get_input: memcached_ipv6} - memcached::listen_ip: {get_input: memcached_network} tripleo::haproxy::service_certificate: {get_attr: [NodeTLSData, deployed_ssl_certificate_path]} tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade} diff --git a/puppet/services/aodh-api.yaml b/puppet/services/aodh-api.yaml index ae0f0c2d..4308052b 100644 --- a/puppet/services/aodh-api.yaml +++ b/puppet/services/aodh-api.yaml @@ -37,11 +37,18 @@ outputs: - get_attr: [AodhBase, role_data, config_settings] - aodh::wsgi::apache::ssl: false aodh::api::service_name: 'httpd' - - tripleo.aodh_api.firewall_rules: + tripleo.aodh_api.firewall_rules: '128 aodh-api': dport: - 8042 - 13042 - + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + aodh::api::host: {get_param: [ServiceNetMap, AodhApiNetwork]} + aodh::wsgi::apache::bind_host: {get_param: [ServiceNetMap, AodhApiNetwork]} step_config: | include tripleo::profile::base::aodh::api diff --git a/puppet/services/ca-certs.yaml b/puppet/services/ca-certs.yaml new file mode 100644 index 00000000..1a534156 --- /dev/null +++ b/puppet/services/ca-certs.yaml @@ -0,0 +1,35 @@ +heat_template_version: 2016-04-08 + +description: > + HAproxy service configured with Puppet + +parameters: + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + type: json + DefaultPasswords: + default: {} + type: json + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + CAMap: + description: > + Map containing the CA certs and information needed for deploying them. + default: {} + type: json + +outputs: + role_data: + description: Role data for injecting CA certificates. + value: + service_name: ca_certs + config_settings: + tripleo::trusted_cas::ca_map: {get_param: CAMap} + step_config: | + include ::tripleo::trusted_cas diff --git a/puppet/services/ceilometer-api.yaml b/puppet/services/ceilometer-api.yaml index 3a01a1f9..85b9aacc 100644 --- a/puppet/services/ceilometer-api.yaml +++ b/puppet/services/ceilometer-api.yaml @@ -41,5 +41,12 @@ outputs: dport: - 8777 - 13777 + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + ceilometer::api::host: {get_param: [ServiceNetMap, CeilometerApiNetwork]} step_config: | include ::tripleo::profile::base::ceilometer::api diff --git a/puppet/services/ceph-base.yaml b/puppet/services/ceph-base.yaml index 415b77b6..4d98546d 100644 --- a/puppet/services/ceph-base.yaml +++ b/puppet/services/ceph-base.yaml @@ -4,7 +4,9 @@ description: > Ceph base service. Shared by all Ceph services. parameters: + # NOTE(gfidente): needs a default to cope with external Ceph deployments were we don't pass (and need) an Admin key CephAdminKey: + default: '' description: The Ceph admin client key. Can be created with ceph-authtool --gen-print-key. type: string hidden: true @@ -77,6 +79,22 @@ outputs: ceph::profile::params::manage_repo: false ceph::profile::params::authentication_type: cephx ceph::profile::params::fsid: {get_param: CephClusterFSID} + # NOTE: bind IP is found in Heat replacing the network name with the local node IP + # for the given network; replacement examples (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + ceph::profile::params::cluster_network: + str_replace: + template: "NETWORK_subnet" + params: + NETWORK: {get_param: [ServiceNetMap, CephClusterNetwork]} + ceph::profile::params::public_network: + str_replace: + template: "NETWORK_subnet" + params: + NETWORK: {get_param: [ServiceNetMap, CephPublicNetwork]} + ceph::profile::params::public_addr: {get_param: [ServiceNetMap, CephPublicNetwork]} ceph::profile::params::client_keys: str_replace: template: "{ diff --git a/puppet/services/database/mongodb.yaml b/puppet/services/database/mongodb.yaml index b6eb4803..36962a34 100644 --- a/puppet/services/database/mongodb.yaml +++ b/puppet/services/database/mongodb.yaml @@ -45,5 +45,12 @@ outputs: dport: 27018 '103 mongod': dport: 27017 + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + mongodb::server::bind_ip: {get_param: [ServiceNetMap, MongodbNetwork]} step_config: | include ::tripleo::profile::base::database::mongodb diff --git a/puppet/services/database/redis-base.yaml b/puppet/services/database/redis-base.yaml index 40711432..4ed3c007 100644 --- a/puppet/services/database/redis-base.yaml +++ b/puppet/services/database/redis-base.yaml @@ -32,6 +32,12 @@ outputs: redis::requirepass: {get_param: RedisPassword} redis::masterauth: {get_param: RedisPassword} redis::sentinel_auth_pass: {get_param: RedisPassword} + # NOTE: bind IP is found in Heat replacing the network name with the local node IP + # for the given network; replacement examples (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + redis::bind: {get_param: [ServiceNetMap, RedisNetwork]} redis::port: 6379 redis::sentinel::master_name: '"%{hiera(\"bootstrap_nodeid\")}"' redis::sentinel::redis_host: '"%{hiera(\"bootstrap_nodeid_ip\")}"' diff --git a/puppet/services/glance-api.yaml b/puppet/services/glance-api.yaml index 4954119f..d2376af3 100644 --- a/puppet/services/glance-api.yaml +++ b/puppet/services/glance-api.yaml @@ -131,6 +131,12 @@ outputs: glance::api::keystone_tenant: 'service' glance::api::pipeline: 'keystone' glance::api::show_image_direct_url: true - + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + glance::api::bind_host: {get_param: [ServiceNetMap, GlanceApiNetwork]} step_config: | include ::tripleo::profile::base::glance::api diff --git a/puppet/services/glance-registry.yaml b/puppet/services/glance-registry.yaml index d8861f70..06ef9379 100644 --- a/puppet/services/glance-registry.yaml +++ b/puppet/services/glance-registry.yaml @@ -66,5 +66,12 @@ outputs: '112 glance_registry': dport: - 9191 + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + glance::registry::bind_host: {get_param: [ServiceNetMap, GlanceRegistryNetwork]} step_config: | include ::tripleo::profile::base::glance::registry diff --git a/puppet/services/gnocchi-api.yaml b/puppet/services/gnocchi-api.yaml index cbf7e218..d21e5b2b 100644 --- a/puppet/services/gnocchi-api.yaml +++ b/puppet/services/gnocchi-api.yaml @@ -69,5 +69,17 @@ outputs: gnocchi::keystone::authtoken::project_name: 'service' gnocchi::wsgi::apache::ssl: false tripleo::profile::base::gnocchi::api::gnocchi_backend: {get_param: GnocchiBackend} + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + gnocchi::wsgi::apache::bind_host: {get_param: [ServiceNetMap, GnocchiApiNetwork]} + gnocchi::api::host: {get_param: [ServiceNetMap, GnocchiApiNetwork]} + + gnocchi::api::keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]} + gnocchi::api::keystone_identity_uri: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]} + gnocchi::storage::swift::swift_authurl: {get_param: [EndpointMap, KeystoneInternal, uri]} step_config: | include ::tripleo::profile::base::gnocchi::api diff --git a/puppet/services/haproxy.yaml b/puppet/services/haproxy.yaml index 8ac669a9..c0e1c113 100644 --- a/puppet/services/haproxy.yaml +++ b/puppet/services/haproxy.yaml @@ -75,6 +75,7 @@ outputs: tripleo::haproxy::heat_cloudwatch: true tripleo::haproxy::heat_cfn: true tripleo::haproxy::horizon: true + tripleo::haproxy::ironic: true tripleo::haproxy::haproxy_log_address: {get_param: HAProxySyslogAddress} tripleo::haproxy::haproxy_stats_user: {get_param: HAProxyStatsUser} tripleo::haproxy::haproxy_stats_password: {get_param: HAProxyStatsPassword} diff --git a/puppet/services/heat-api-cfn.yaml b/puppet/services/heat-api-cfn.yaml index 4f8900aa..a15ea32d 100644 --- a/puppet/services/heat-api-cfn.yaml +++ b/puppet/services/heat-api-cfn.yaml @@ -59,5 +59,12 @@ outputs: dport: - 8000 - 13800 + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + heat::api_cfn::bind_host: {get_param: [ServiceNetMap, HeatApiNetwork]} step_config: | include ::tripleo::profile::base::heat::api_cfn diff --git a/puppet/services/heat-api-cloudwatch.yaml b/puppet/services/heat-api-cloudwatch.yaml index 7a09aad0..6d645ee7 100644 --- a/puppet/services/heat-api-cloudwatch.yaml +++ b/puppet/services/heat-api-cloudwatch.yaml @@ -45,5 +45,12 @@ outputs: dport: - 8003 - 13003 + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + heat::api_cloudwatch::bind_host: {get_param: [ServiceNetMap, HeatApiNetwork]} step_config: | include ::tripleo::profile::base::heat::api_cloudwatch diff --git a/puppet/services/heat-api.yaml b/puppet/services/heat-api.yaml index 3a5d2a13..ec3b0e37 100644 --- a/puppet/services/heat-api.yaml +++ b/puppet/services/heat-api.yaml @@ -59,5 +59,12 @@ outputs: dport: - 8004 - 13004 + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + heat::api::bind_host: {get_param: [ServiceNetMap, HeatApiNetwork]} step_config: | include ::tripleo::profile::base::heat::api diff --git a/puppet/services/heat-engine.yaml b/puppet/services/heat-engine.yaml index fba80c5d..b230ec1d 100644 --- a/puppet/services/heat-engine.yaml +++ b/puppet/services/heat-engine.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2016-04-08 +heat_template_version: 2016-10-14 description: > Openstack Heat Engine service configured with Puppet @@ -35,6 +35,11 @@ parameters: description: Password for heat_stack_domain_admin user. type: string hidden: true + HeatAuthEncryptionKey: + description: Auth encryption key for heat-engine + type: string + hidden: true + default: '' resources: HeatBase: @@ -76,5 +81,12 @@ outputs: heat::db::mysql::allowed_hosts: - '%' - "%{hiera('mysql_bind_host')}" + heat::engine::auth_encryption_key: + yaql: + expression: $.data.passwords.where($ != '').first() + data: + passwords: + - {get_param: HeatAuthEncryptionKey} + - {get_param: [DefaultPasswords, heat_auth_encryption_key]} step_config: | include ::tripleo::profile::base::heat::engine diff --git a/puppet/services/ironic-api.yaml b/puppet/services/ironic-api.yaml index 6b494256..d0516e1b 100644 --- a/puppet/services/ironic-api.yaml +++ b/puppet/services/ironic-api.yaml @@ -50,6 +50,7 @@ outputs: ironic::api::authtoken::username: 'ironic' ironic::api::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] } ironic::api::authtoken::auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]} + ironic::api::host_ip: {get_input: ironic_api_network} ironic::api::port: {get_param: [EndpointMap, IronicInternal, port]} # This is used to build links in responses ironic::api::public_endpoint: {get_param: [EndpointMap, IronicPublic, uri_no_suffix]} @@ -59,5 +60,10 @@ outputs: ironic::keystone::auth::auth_name: 'ironic' ironic::keystone::auth::password: {get_param: IronicPassword } ironic::keystone::auth::tenant: 'service' + tripleo.ironic_api.firewall_rules: + '133 ironic api': + dport: + - 6385 + - 13385 step_config: | include ::tripleo::profile::base::ironic::api diff --git a/puppet/services/ironic-conductor.yaml b/puppet/services/ironic-conductor.yaml index 9bc86a2c..27479f79 100644 --- a/puppet/services/ironic-conductor.yaml +++ b/puppet/services/ironic-conductor.yaml @@ -41,10 +41,15 @@ outputs: - get_attr: [IronicBase, role_data, config_settings] # FIXME: I have no idea why neutron_url is in "api" manifest - ironic::api::neutron_url: {get_param: [EndpointMap, NeutronInternal, uri]} + ironic::conductor::api_url: {get_param: [EndpointMap, IronicInternal, uri_no_suffix]} ironic::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]} ironic::enabled_drivers: {get_param: IronicEnabledDrivers} # Prevent tftp_server from defaulting to my_ip setting, which is # controller VIP, not a real IP. ironic::drivers::pxe::tftp_server: {get_input: ironic_api_network} + tripleo.ironic_conductor.firewall_rules: + '134 ironic conductor TFTP': + dport: 69 + proto: udp step_config: | include ::tripleo::profile::base::ironic::conductor diff --git a/puppet/services/keystone.yaml b/puppet/services/keystone.yaml index 0a5193df..c763c391 100644 --- a/puppet/services/keystone.yaml +++ b/puppet/services/keystone.yaml @@ -149,5 +149,16 @@ outputs: - 13000 - 35357 - 13357 + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + # NOTE: this applies to all 4 bind IP settings below... + keystone::admin_bind_host: {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]} + keystone::public_bind_host: {get_param: [ServiceNetMap, KeystonePublicApiNetwork]} + keystone::wsgi::apache::bind_host: {get_param: [ServiceNetMap, KeystonePublicApiNetwork]} + keystone::wsgi::apache::admin_bind_host: {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]} step_config: | include ::tripleo::profile::base::keystone diff --git a/puppet/services/manila-api.yaml b/puppet/services/manila-api.yaml index 633e75ba..b3987747 100644 --- a/puppet/services/manila-api.yaml +++ b/puppet/services/manila-api.yaml @@ -55,6 +55,13 @@ outputs: manila::keystone::auth::admin_url_v2: {get_param: [EndpointMap, ManilaAdmin, uri]} manila::keystone::auth::password: {get_param: ManilaPassword } manila::keystone::auth::region: {get_param: KeystoneRegion } + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + manila::api::bind_host: {get_param: [ServiceNetMap, ManilaApiNetwork]} step_config: | include ::tripleo::profile::base::manila::api diff --git a/puppet/services/memcached.yaml b/puppet/services/memcached.yaml index 59c639e8..3b47261e 100644 --- a/puppet/services/memcached.yaml +++ b/puppet/services/memcached.yaml @@ -25,6 +25,12 @@ outputs: value: service_name: memcached config_settings: + # NOTE: bind IP is found in Heat replacing the network name with the local node IP + # for the given network; replacement examples (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + memcached::listen_ip: {get_param: [ServiceNetMap, MemcachedNetwork]} tripleo.memcached.firewall_rules: '121 memcached': dport: 11211 diff --git a/puppet/services/neutron-ovs-agent.yaml b/puppet/services/neutron-ovs-agent.yaml index 5a0ad23c..1b19f90f 100644 --- a/puppet/services/neutron-ovs-agent.yaml +++ b/puppet/services/neutron-ovs-agent.yaml @@ -89,5 +89,12 @@ outputs: template: AGENT_EXTENSIONS params: AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions} + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + neutron::agents::ml2::ovs::local_ip: {get_param: [ServiceNetMap, NeutronTenantNetwork]} step_config: | include ::tripleo::profile::base::neutron::ovs diff --git a/puppet/services/neutron-ovs-dpdk-agent.yaml b/puppet/services/neutron-ovs-dpdk-agent.yaml new file mode 100644 index 00000000..1f1e14ab --- /dev/null +++ b/puppet/services/neutron-ovs-dpdk-agent.yaml @@ -0,0 +1,73 @@ +heat_template_version: 2016-04-08 + +description: > + OpenStack Neutron OVS DPDK configured with Puppet for Compute Role + +parameters: + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + type: json + DefaultPasswords: + default: {} + type: json + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + NeutronDpdkCoreList: + default: "" + description: List of cores to be used for DPDK Poll Mode Driver + type: string + NeutronDpdkMemoryChannels: + default: "" + description: Number of memory channels to be used for DPDK + type: string + NeutronDpdkSocketMemory: + default: "" + description: Memory allocated for each socket + type: string + NeutronDpdkDriverType: + default: "vfio-pci" + description: DPDK Driver type + type: string + # below parameters has to be set in neutron agent only for compute nodes. + # as of now there is no other usecase for these parameters except dpdk. + # should be moved to compute only ovs agent in case of any other usecases. + NeutronDatapathType: + default: "" + description: Datapath type for ovs bridges + type: string + NeutronVhostuserSocketDir: + default: "" + description: The vhost-user socket directory for OVS + type: string + +resources: + + NeutronOvsAgent: + type: ./neutron-ovs-agent.yaml + properties: + ServiceNetMap: {get_param: ServiceNetMap} + DefaultPasswords: {get_param: DefaultPasswords} + EndpointMap: {get_param: EndpointMap} + +outputs: + role_data: + description: Role data for the Neutron OVS DPDK Agent service. + value: + service_name: neutron_ovs_dpdk_agent + config_settings: + map_merge: + - get_attr: [NeutronOvsAgent, role_data, config_settings] + neutron::agents::ml2::ovs::enable_dpdk: true + neutron::agents::ml2::ovs::datapath_type: {get_param: NeutronDatapathType} + neutron::agents::ml2::ovs::vhostuser_socket_dir: {get_param: NeutronVhostuserSocketDir} + vswitch::dpdk::core_list: {get_param: NeutronDpdkCoreList} + vswitch::dpdk::memory_channels: {get_param: NeutronDpdkMemoryChannels} + vswitch::dpdk::socket_mem: {get_param: NeutronDpdkSocketMemory} + vswitch::dpdk::driver_type: {get_param: NeutronDpdkDriverType} + step_config: {get_attr: [NeutronOvsAgent, role_data, step_config]} diff --git a/puppet/services/neutron-plugin-ml2.yaml b/puppet/services/neutron-plugin-ml2.yaml index 165b9687..5dbae3dc 100644 --- a/puppet/services/neutron-plugin-ml2.yaml +++ b/puppet/services/neutron-plugin-ml2.yaml @@ -60,7 +60,12 @@ parameters: default: 'vxlan' description: The tenant network type for Neutron. type: comma_delimited_list - + NeutronSupportedPCIVendorDevs: + description: | + List of supported pci vendor devices in the format VendorID:ProductID. + By default Intel & Mellanox SR-IOV capable NICs are supported. + type: comma_delimited_list + default: ['15b3:1004','8086:10ca'] resources: NeutronBase: @@ -118,6 +123,7 @@ outputs: template: TYPES params: TYPES: {get_param: NeutronNetworkType} + neutron::plugins::ml2::supported_pci_vendor_devs: {get_param: NeutronSupportedPCIVendorDevs} step_config: | include ::tripleo::profile::base::neutron::plugins::ml2 diff --git a/puppet/services/neutron-sriov-agent.yaml b/puppet/services/neutron-sriov-agent.yaml new file mode 100644 index 00000000..559500df --- /dev/null +++ b/puppet/services/neutron-sriov-agent.yaml @@ -0,0 +1,58 @@ +heat_template_version: 2016-04-08 + +description: > + OpenStack Neutron SR-IOV nic agent configured with Puppet + +parameters: + ServiceNetMap: + default: {} + description: > + Mapping of service_name -> network name. Typically set via + parameter_defaults in the resource registry. This mapping overrides those + in ServiceNetMapDefaults. + type: json + DefaultPasswords: + default: {} + type: json + NeutronPhysicalDevMappings: + description: > + List of <physical_network>:<physical device> + All physical networks listed in network_vlan_ranges + on the server should have mappings to appropriate + interfaces on each agent. + type: comma_delimited_list + default: "" + NeutronExcludeDevices: + description: > + List of <network_device>:<excluded_devices> mapping + network_device to the agent's node-specific list of virtual functions + that should not be used for virtual networking. excluded_devices is a + semicolon separated list of virtual functions to exclude from + network_device. The network_device in the mapping should appear in the + physical_device_mappings list. + type: comma_delimited_list + default: "" + NeutronSriovNumVFs: + description: > + Provide the list of VFs to be reserved for each SR-IOV interface. + Format "<interface_name1>:<numvfs1>","<interface_name2>:<numvfs2>" + Example "eth1:4096","eth2:128" + type: comma_delimited_list + default: "" + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + +outputs: + role_data: + description: Role data for the Neutron SR-IOV nic agent service. + value: + service_name: neutron_sriov_agent + config_settings: + neutron::agents::ml2::sriov::physical_device_mappings: {get_param: NeutronPhysicalDevMappings} + neutron::agents::ml2::sriov::exclude_devices: {get_param: NeutronExcludeDevices} + neutron::agents::ml2::sriov::number_of_vfs: {get_param: NeutronSriovNumVFs} + step_config: | + include ::tripleo::profile::base::neutron::sriov diff --git a/puppet/services/nova-compute.yaml b/puppet/services/nova-compute.yaml index 1a473a4e..dc962297 100644 --- a/puppet/services/nova-compute.yaml +++ b/puppet/services/nova-compute.yaml @@ -88,7 +88,14 @@ outputs: # example openvswitch. nova::compute::reserved_host_memory: 2048 nova::compute::neutron::libvirt_vif_driver: {get_param: NovaComputeLibvirtVifDriver} - + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + nova::compute::vncserver_proxyclient_address: {get_param: [ServiceNetMap, NovaVncProxyNetwork]} + nova::compute::vncproxy_host: {get_param: [EndpointMap, NovaPublic, host]} step_config: | # TODO(emilien): figure how to deal with libvirt profile. # We'll probably treat it like we do with Neutron plugins. diff --git a/puppet/services/nova-scheduler.yaml b/puppet/services/nova-scheduler.yaml index 78ff008b..c8f2591d 100644 --- a/puppet/services/nova-scheduler.yaml +++ b/puppet/services/nova-scheduler.yaml @@ -18,6 +18,17 @@ parameters: description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + NovaSchedulerAvailableFilters: + default: [] + description: List of scheduler available filters + type: comma_delimited_list + NovaSchedulerDefaultFilters: + type: comma_delimited_list + default: [] + description: > + An array of filters used by Nova to filter a node.These filters will be + applied in the order they are listed, so place your most restrictive + filters first to make the filtering process more efficient. resources: NovaBase: @@ -36,5 +47,7 @@ outputs: map_merge: - get_attr: [NovaBase, role_data, config_settings] - nova::scheduler::filter::ram_allocation_ratio: '1.0' + nova::scheduler::filter::scheduler_available_filters: {get_param: NovaSchedulerAvailableFilters} + nova::scheduler::filter::scheduler_default_filters: {get_param: NovaSchedulerDefaultFilters} step_config: | include tripleo::profile::base::nova::scheduler diff --git a/puppet/services/sahara-api.yaml b/puppet/services/sahara-api.yaml index 5715a8c3..fae9c434 100644 --- a/puppet/services/sahara-api.yaml +++ b/puppet/services/sahara-api.yaml @@ -54,6 +54,12 @@ outputs: sahara::keystone::auth::admin_url: {get_param: [EndpointMap, SaharaAdmin, uri]} sahara::keystone::auth::password: {get_param: SaharaPassword } sahara::keystone::auth::region: {get_param: KeystoneRegion} + # NOTE: bind IP is found in Heat replacing the network name with the local node IP + # for the given network; replacement examples (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + sahara::host: {get_param: [ServiceNetMap, SaharaApiNetwork]} tripleo.sahara_api.firewall_rules: '132 sahara': dport: diff --git a/puppet/services/swift-base.yaml b/puppet/services/swift-base.yaml new file mode 100644 index 00000000..741adb4d --- /dev/null +++ b/puppet/services/swift-base.yaml @@ -0,0 +1,33 @@ +heat_template_version: 2016-04-08 + +description: > + OpenStack Swift Proxy service configured with Puppet + +parameters: + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + type: json + DefaultPasswords: + default: {} + type: json + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + SwiftHashSuffix: + description: A random string to be used as a salt when hashing to determine mappings + in the ring. + hidden: true + type: string + +outputs: + role_data: + description: Role data for the Swift common swift settings. + value: + service_name: swift_base + config_settings: + swift::swift_hash_path_suffix: {get_param: SwiftHashSuffix} diff --git a/puppet/services/swift-proxy.yaml b/puppet/services/swift-proxy.yaml index 6c2bb44b..cba08090 100644 --- a/puppet/services/swift-proxy.yaml +++ b/puppet/services/swift-proxy.yaml @@ -39,6 +39,13 @@ parameters: default: 'regionOne' description: Keystone region for endpoint +resources: + SwiftBase: + type: ./swift-base.yaml + properties: + ServiceNetMap: {get_param: ServiceNetMap} + DefaultPasswords: {get_param: DefaultPasswords} + EndpointMap: {get_param: EndpointMap} outputs: role_data: @@ -46,50 +53,59 @@ outputs: value: service_name: swift_proxy config_settings: - # Swift - swift::proxy::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]} - swift::proxy::authtoken::identity_uri: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]} - swift::proxy::authtoken::admin_password: {get_param: SwiftPassword} - swift::proxy::authtoken::admin_tenant_name: 'service' - swift::proxy::node_timeout: {get_param: SwiftProxyNodeTimeout} - swift::proxy::workers: {get_param: SwiftWorkers} - swift::keystone::auth::public_url: {get_param: [EndpointMap, SwiftPublic, uri]} - swift::keystone::auth::internal_url: {get_param: [EndpointMap, SwiftInternal, uri]} - swift::keystone::auth::admin_url: {get_param: [EndpointMap, SwiftAdmin, uri]} - swift::keystone::auth::public_url_s3: {get_param: [EndpointMap, SwiftS3Public, uri]} - swift::keystone::auth::internal_url_s3: {get_param: [EndpointMap, SwiftS3Internal, uri]} - swift::keystone::auth::admin_url_s3: {get_param: [EndpointMap, SwiftS3Admin, uri]} - swift::keystone::auth::password: {get_param: SwiftPassword} - swift::keystone::auth::region: {get_param: KeystoneRegion} - tripleo.swift_proxy.firewall_rules: - '122 swift proxy': - dport: - - 8080 - - 13808 - swift::keystone::auth::tenant: 'service' - swift::keystone::auth::configure_s3_endpoint: false - swift::keystone::auth::operator_roles: - - admin - - swiftoperator - - ResellerAdmin - swift::proxy::keystone::operator_roles: - - admin - - swiftoperator - - ResellerAdmin - swift::proxy::pipeline: - - 'catch_errors' - - 'healthcheck' - - 'proxy-logging' - - 'cache' - - 'ratelimit' - - 'bulk' - - 'tempurl' - - 'formpost' - - 'authtoken' - - 'keystone' - - 'staticweb' - - 'proxy-logging' - - 'proxy-server' - swift::proxy::account_autocreate: true + map_merge: + - get_attr: [SwiftBase, role_data, config_settings] + + - swift::proxy::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]} + swift::proxy::authtoken::identity_uri: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]} + swift::proxy::authtoken::admin_password: {get_param: SwiftPassword} + swift::proxy::authtoken::admin_tenant_name: 'service' + swift::proxy::node_timeout: {get_param: SwiftProxyNodeTimeout} + swift::proxy::workers: {get_param: SwiftWorkers} + swift::keystone::auth::public_url: {get_param: [EndpointMap, SwiftPublic, uri]} + swift::keystone::auth::internal_url: {get_param: [EndpointMap, SwiftInternal, uri]} + swift::keystone::auth::admin_url: {get_param: [EndpointMap, SwiftAdmin, uri]} + swift::keystone::auth::public_url_s3: {get_param: [EndpointMap, SwiftS3Public, uri]} + swift::keystone::auth::internal_url_s3: {get_param: [EndpointMap, SwiftS3Internal, uri]} + swift::keystone::auth::admin_url_s3: {get_param: [EndpointMap, SwiftS3Admin, uri]} + swift::keystone::auth::password: {get_param: SwiftPassword} + swift::keystone::auth::region: {get_param: KeystoneRegion} + tripleo.swift_proxy.firewall_rules: + '122 swift proxy': + dport: + - 8080 + - 13808 + swift::keystone::auth::tenant: 'service' + swift::keystone::auth::configure_s3_endpoint: false + swift::keystone::auth::operator_roles: + - admin + - swiftoperator + - ResellerAdmin + swift::proxy::keystone::operator_roles: + - admin + - swiftoperator + - ResellerAdmin + swift::proxy::pipeline: + - 'catch_errors' + - 'healthcheck' + - 'proxy-logging' + - 'cache' + - 'ratelimit' + - 'bulk' + - 'tempurl' + - 'formpost' + - 'authtoken' + - 'keystone' + - 'staticweb' + - 'proxy-logging' + - 'proxy-server' + swift::proxy::account_autocreate: true + # NOTE: bind IP is found in Heat replacing the network name with the + # local node IP for the given network; replacement examples + # (eg. for internal_api): + # internal_api -> IP + # internal_api_uri -> [IP] + # internal_api_subnet - > IP/CIDR + swift::proxy::proxy_local_net_ip: {get_param: [ServiceNetMap, SwiftProxyNetwork]} step_config: | include ::tripleo::profile::base::swift::proxy diff --git a/puppet/services/swift-storage.yaml b/puppet/services/swift-storage.yaml index 664a701f..6c7c3c7a 100644 --- a/puppet/services/swift-storage.yaml +++ b/puppet/services/swift-storage.yaml @@ -45,34 +45,44 @@ parameter_groups: parameters: - ControllerEnableSwiftStorage +resources: + SwiftBase: + type: ./swift-base.yaml + properties: + ServiceNetMap: {get_param: ServiceNetMap} + DefaultPasswords: {get_param: DefaultPasswords} + EndpointMap: {get_param: EndpointMap} + outputs: role_data: description: Role data for the Swift Proxy role. value: service_name: swift_storage config_settings: - # Swift - swift::storage::all::mount_check: {get_param: SwiftMountCheck} - tripleo::profile::base::swift::storage::enable_swift_storage: {get_param: ControllerEnableSwiftStorage} - tripleo.swift_storage.firewall_rules: - '123 swift storage': - dport: - - 873 - - 6000 - - 6001 - - 6002 - swift::storage::all::incoming_chmod: 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r' - swift::storage::all::outgoing_chmod: 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r' - swift::storage::all::object_pipeline: - - healthcheck - - recon - - object-server - swift::storage::all::container_pipeline: - - healthcheck - - container-server - swift::storage::all::account_pipeline: - - healthcheck - - account-server - swift::storage::disks: {get_param: SwiftRawDisks} + map_merge: + - get_attr: [SwiftBase, role_data, config_settings] + - swift::storage::all::mount_check: {get_param: SwiftMountCheck} + tripleo::profile::base::swift::storage::enable_swift_storage: {get_param: ControllerEnableSwiftStorage} + tripleo.swift_storage.firewall_rules: + '123 swift storage': + dport: + - 873 + - 6000 + - 6001 + - 6002 + swift::storage::all::incoming_chmod: 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r' + swift::storage::all::outgoing_chmod: 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r' + swift::storage::all::object_pipeline: + - healthcheck + - recon + - object-server + swift::storage::all::container_pipeline: + - healthcheck + - container-server + swift::storage::all::account_pipeline: + - healthcheck + - account-server + swift::storage::disks: {get_param: SwiftRawDisks} + swift::storage::all::storage_local_net_ip: {get_param: [ServiceNetMap, SwiftMgmtNetwork]} step_config: | include ::tripleo::profile::base::swift::storage diff --git a/puppet/swift-storage-post.yaml b/puppet/swift-storage-post.yaml index 306a4d6e..859fad2c 100644 --- a/puppet/swift-storage-post.yaml +++ b/puppet/swift-storage-post.yaml @@ -36,6 +36,7 @@ resources: enable_debug: {get_param: ConfigDebug} enable_hiera: True enable_facter: False + modulepath: /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules inputs: - name: step outputs: diff --git a/puppet/swift-storage.yaml b/puppet/swift-storage.yaml index 1f3022b8..b933c542 100644 --- a/puppet/swift-storage.yaml +++ b/puppet/swift-storage.yaml @@ -7,11 +7,6 @@ parameters: type: string constraints: - custom_constraint: nova.flavor - HashSuffix: - description: A random string to be used as a salt when hashing to determine mappings - in the ring. - hidden: true - type: string SwiftStorageImage: default: overcloud-full type: string @@ -21,14 +16,6 @@ parameters: default: default description: Name of an existing Nova key pair to enable SSH access to the instances type: string - SnmpdReadonlyUserName: - default: ro_snmp_user - description: The user name for SNMPd with readonly rights running on all Overcloud nodes - type: string - SnmpdReadonlyUserPassword: - description: The user password for SNMPd with readonly rights running on all Overcloud nodes - type: string - hidden: true UpdateIdentifier: default: '' type: string @@ -266,10 +253,6 @@ resources: mapped_data: {get_param: ExtraConfig} object: mapped_data: # data supplied directly to this deployment configuration, etc - swift::swift_hash_path_suffix: { get_input: swift_hash_suffix } - swift::storage::all::storage_local_net_ip: {get_input: swift_management_network} - snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name} - snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password} tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade} @@ -281,12 +264,7 @@ resources: server: {get_resource: SwiftStorage} config: {get_resource: SwiftStorageHieraConfig} input_values: - local_ip: {get_attr: [SwiftStorage, networks, ctlplane, 0]} - snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName} - snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} - swift_hash_suffix: {get_param: HashSuffix} enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} - swift_management_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]} # Resource for site-specific injection of root certificate NodeTLSCAData: |