diff options
45 files changed, 2786 insertions, 781 deletions
diff --git a/environments/enable-tls.yaml b/environments/enable-tls.yaml index ee1f5387..290d2011 100644 --- a/environments/enable-tls.yaml +++ b/environments/enable-tls.yaml @@ -38,7 +38,6 @@ parameter_defaults: ManilaInternal: {protocol: 'http', port: '8786', host: 'IP_ADDRESS'} ManilaPublic: {protocol: 'https', port: '13786', host: 'CLOUDNAME'} MysqlInternal: {protocol: 'mysql+pymysql', port: '3306', host: 'IP_ADDRESS'} - MysqlNoBracketsInternal: {protocol: 'mysql+pymysql', port: '3306', host: 'IP_ADDRESS'} NeutronAdmin: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'} NeutronInternal: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'} NeutronPublic: {protocol: 'https', port: '13696', host: 'CLOUDNAME'} diff --git a/environments/network-environment.yaml b/environments/network-environment.yaml index 062c7bee..cf94d7fc 100644 --- a/environments/network-environment.yaml +++ b/environments/network-environment.yaml @@ -46,5 +46,7 @@ parameter_defaults: ExternalNetworkVlanID: 50 # Set to empty string to enable multiple external networks or VLANs NeutronExternalNetworkBridge: "''" + # The tunnel type for the tenant network (vxlan or gre). Set to '' to disable tunneling. + NeutronTunnelTypes: 'vxlan' # Customize bonding options, e.g. "mode=4 lacp_rate=1 updelay=1000 miimon=100" BondInterfaceOvsOptions: "bond_mode=active-backup" diff --git a/environments/neutron-opencontrail.yaml b/environments/neutron-opencontrail.yaml index 4895287e..f2209ce2 100644 --- a/environments/neutron-opencontrail.yaml +++ b/environments/neutron-opencontrail.yaml @@ -14,7 +14,7 @@ resource_registry: parameter_defaults: NeutronCorePlugin: neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2 NeutronServicePlugins: neutron_plugin_contrail.plugins.opencontrail.loadbalancer.plugin.LoadBalancerPlugin - NeutronEnableTunnelling: false + NeutronTunnelTypes: '' # required params: #ContrailApiServerIp: diff --git a/environments/puppet-ceph-devel.yaml b/environments/puppet-ceph-devel.yaml index a9e459df..9c8abbb4 100644 --- a/environments/puppet-ceph-devel.yaml +++ b/environments/puppet-ceph-devel.yaml @@ -16,6 +16,7 @@ parameter_defaults: CephClientKey: 'AQC+vYNXgDAgAhAAc8UoYt+OTz5uhV7ItLdwUw==' NovaEnableRbdBackend: true CinderEnableRbdBackend: true + CinderBackupBackend: ceph GlanceBackend: rbd GnocchiBackend: rbd CinderEnableIscsiBackend: false diff --git a/environments/puppet-ceph-external.yaml b/environments/puppet-ceph-external.yaml index d5e0b1b5..19cca657 100644 --- a/environments/puppet-ceph-external.yaml +++ b/environments/puppet-ceph-external.yaml @@ -12,6 +12,7 @@ parameter_defaults: # the following parameters enable Ceph backends for Cinder, Glance, Gnocchi and Nova NovaEnableRbdBackend: true CinderEnableRbdBackend: true + CinderBackupBackend: ceph GlanceBackend: rbd GnocchiBackend: rbd # If the Ceph pools which host VMs, Volumes and Images do not match these diff --git a/environments/puppet-pacemaker.yaml b/environments/puppet-pacemaker.yaml index 74b91106..54f37a48 100644 --- a/environments/puppet-pacemaker.yaml +++ b/environments/puppet-pacemaker.yaml @@ -10,6 +10,7 @@ resource_registry: # NOTE: For now we will need to specify overrides to all services # which use pacemaker. In the future (with upcoming HA light work) this # list will hopefully be much smaller however. + OS::TripleO::Services::CinderBackup: ../puppet/services/pacemaker/cinder-backup.yaml OS::TripleO::Services::CinderVolume: ../puppet/services/pacemaker/cinder-volume.yaml OS::TripleO::Services::RabbitMQ: ../puppet/services/pacemaker/rabbitmq.yaml OS::TripleO::Services::HAproxy: ../puppet/services/pacemaker/haproxy.yaml diff --git a/environments/puppet-tenant-vlan.yaml b/environments/puppet-tenant-vlan.yaml index ed948bc5..45d2117a 100644 --- a/environments/puppet-tenant-vlan.yaml +++ b/environments/puppet-tenant-vlan.yaml @@ -1,4 +1,4 @@ parameter_defaults: NeutronNetworkType: vlan - NeutronEnableTunnelling: false + NeutronTunnelTypes: '' NeutronNetworkVLANRanges: datacentre:1:1000 diff --git a/environments/storage-environment.yaml b/environments/storage-environment.yaml index 0128cabd..8cf34622 100644 --- a/environments/storage-environment.yaml +++ b/environments/storage-environment.yaml @@ -14,6 +14,8 @@ parameter_defaults: CinderEnableIscsiBackend: false ## Whether to enable rbd (Ceph) backend for Cinder. CinderEnableRbdBackend: true + ## Cinder Backup backend can be either 'ceph' or 'swift'. + CinderBackupBackend: ceph ## Whether to enable NFS backend for Cinder. # CinderEnableNfsBackend: false ## Whether to enable rbd (Ceph) backend for Nova ephemeral storage. diff --git a/environments/updates/update-from-keystone-admin-internal-api.yaml b/environments/updates/update-from-keystone-admin-internal-api.yaml index a9fa2bea..a5075300 100644 --- a/environments/updates/update-from-keystone-admin-internal-api.yaml +++ b/environments/updates/update-from-keystone-admin-internal-api.yaml @@ -2,10 +2,10 @@ # Keystone Admin API service is running on the Internal API network parameter_defaults: - ServiceNetMap: + ServiceNetMapDefaults: NeutronTenantNetwork: tenant CeilometerApiNetwork: internal_api - MongoDbNetwork: internal_api + MongodbNetwork: internal_api CinderApiNetwork: internal_api CinderIscsiNetwork: storage GlanceApiNetwork: storage @@ -21,7 +21,7 @@ parameter_defaults: SwiftProxyNetwork: storage HorizonNetwork: internal_api MemcachedNetwork: internal_api - RabbitMqNetwork: internal_api + RabbitmqNetwork: internal_api RedisNetwork: internal_api MysqlNetwork: internal_api CephClusterNetwork: storage_mgmt diff --git a/network/endpoints/build_endpoint_map.py b/network/endpoints/build_endpoint_map.py index d8cdee3d..3110f3f7 100755 --- a/network/endpoints/build_endpoint_map.py +++ b/network/endpoints/build_endpoint_map.py @@ -30,7 +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) = ('CloudName', 'EndpointMap') +PARAMS = (PARAM_CLOUDNAME, PARAM_ENDPOINTMAP, PARAM_NETIPMAP, + PARAM_SERVICENETMAP) = ( + 'CloudName', 'EndpointMap', 'NetIpMap', 'ServiceNetMap') FIELDS = (F_PORT, F_PROTOCOL, F_HOST) = ('port', 'protocol', 'host') ENDPOINT_TYPES = frozenset(['Internal', 'Public', 'Admin']) @@ -56,16 +58,8 @@ def load_endpoint_data(infile=None): return yaml.safe_load(f) -def vip_param_name(endpoint_type_defn): - return endpoint_type_defn['vip_param'] + 'VirtualIP' - - -def vip_param_names(config): - def ep_types(svc): - return (v for k, v in svc.items() if k in ENDPOINT_TYPES or not k) - - return set(vip_param_name(defn) - for svc in config.values() for defn in ep_types(svc)) +def net_param_name(endpoint_type_defn): + return endpoint_type_defn['net_param'] + 'Network' def endpoint_map_default(config): @@ -91,9 +85,9 @@ def make_parameter(ptype, default, description=None): def template_parameters(config): - params = collections.OrderedDict((n, make_parameter('string', '')) - for n in sorted(vip_param_names(config))) - + params = collections.OrderedDict() + params[PARAM_NETIPMAP] = make_parameter('json', {}, 'The Net IP map') + params[PARAM_SERVICENETMAP] = make_parameter('json', {}, 'The Service Net map') params[PARAM_ENDPOINTMAP] = make_parameter('json', endpoint_map_default(config), 'Mapping of service endpoint ' @@ -111,7 +105,7 @@ def template_parameters(config): def template_output_definition(endpoint_name, endpoint_variant, endpoint_type, - vip_param, + net_param, uri_suffix=None, name_override=None): def extract_field(field): @@ -122,11 +116,29 @@ def template_output_definition(endpoint_name, port = extract_field(F_PORT) protocol = extract_field(F_PROTOCOL) + host_nobrackets = { + 'str_replace': collections.OrderedDict([ + ('template', extract_field(F_HOST)), + ('params', { + SUBST_IP_ADDRESS: {'get_param': + ['NetIpMap', + {'get_param': ['ServiceNetMap', + net_param]}]}, + SUBST_CLOUDNAME: {'get_param': PARAM_CLOUDNAME}, + }) + ]) + } host = { 'str_replace': collections.OrderedDict([ ('template', extract_field(F_HOST)), ('params', { - SUBST_IP_ADDRESS: {'get_param': vip_param}, + SUBST_IP_ADDRESS: {'get_param': + ['NetIpMap', + {'str_replace': + {'template': 'NETWORK_uri', + 'params': {'NETWORK': + {'get_param': ['ServiceNetMap', + net_param]}}}}]}, SUBST_CLOUDNAME: {'get_param': PARAM_CLOUDNAME}, }) ]) @@ -140,6 +152,7 @@ def template_output_definition(endpoint_name, endpoint_type) return name, { + 'host_nobrackets': host_nobrackets, 'host': host, 'port': extract_field('port'), 'protocol': extract_field('protocol'), @@ -160,10 +173,9 @@ def template_endpoint_items(config): {'': None}).items(): name_override = defn.get('names', {}).get(variant) yield template_output_definition(ep_name, variant, ep_type, - vip_param_name(defn), + net_param_name(defn), suffix, name_override) - return itertools.chain.from_iterable(sorted(get_svc_endpoints(ep_name, svc)) for (ep_name, diff --git a/network/endpoints/endpoint_data.yaml b/network/endpoints/endpoint_data.yaml index ef3437f4..84b03c7e 100644 --- a/network/endpoints/endpoint_data.yaml +++ b/network/endpoints/endpoint_data.yaml @@ -3,46 +3,46 @@ Aodh: Internal: - vip_param: AodhApi + net_param: AodhApi Public: - vip_param: Public + net_param: Public Admin: - vip_param: AodhApi + net_param: AodhApi port: 8042 Ceilometer: Internal: - vip_param: CeilometerApi + net_param: CeilometerApi Public: - vip_param: Public + net_param: Public Admin: - vip_param: CeilometerApi + net_param: CeilometerApi port: 8777 Gnocchi: Internal: - vip_param: GnocchiApi + net_param: GnocchiApi Public: - vip_param: Public + net_param: Public Admin: - vip_param: GnocchiApi + net_param: GnocchiApi port: 8041 Cinder: Internal: - vip_param: CinderApi + net_param: CinderApi uri_suffixes: '': /v1/%(tenant_id)s V2: /v2/%(tenant_id)s V3: /v3/%(tenant_id)s Public: - vip_param: Public + net_param: Public uri_suffixes: '': /v1/%(tenant_id)s V2: /v2/%(tenant_id)s V3: /v3/%(tenant_id)s Admin: - vip_param: CinderApi + net_param: CinderApi uri_suffixes: '': /v1/%(tenant_id)s V2: /v2/%(tenant_id)s @@ -51,63 +51,57 @@ Cinder: Glance: Internal: - vip_param: GlanceApi + net_param: GlanceApi Public: - vip_param: Public + net_param: Public Admin: - vip_param: GlanceApi + net_param: GlanceApi port: 9292 GlanceRegistry: Internal: - vip_param: GlanceRegistry + net_param: GlanceRegistry port: 9191 Mysql: Internal: - vip_param: Mysql - protocol: mysql+pymysql - port: 3306 - -MysqlNoBrackets: - Internal: - vip_param: MysqlNoBrackets + net_param: Mysql protocol: mysql+pymysql port: 3306 Heat: Internal: - vip_param: HeatApi + net_param: HeatApi uri_suffixes: '': /v1/%(tenant_id)s Public: - vip_param: Public + net_param: Public uri_suffixes: '': /v1/%(tenant_id)s Admin: - vip_param: HeatApi + net_param: HeatApi uri_suffixes: '': /v1/%(tenant_id)s port: 8004 HeatCfn: Internal: - vip_param: HeatApi + net_param: HeatApi uri_suffixes: '': /v1 Public: - vip_param: Public + net_param: Public uri_suffixes: '': /v1 Admin: - vip_param: HeatApi + net_param: HeatApi uri_suffixes: '': /v1 port: 8000 Horizon: Public: - vip_param: Public + net_param: Public uri_suffixes: '': /dashboard port: 80 @@ -116,7 +110,7 @@ Horizon: # Required for https://bugs.launchpad.net/puppet-nova/+bug/1542486 Keystone: Internal: - vip_param: KeystonePublicApi + net_param: KeystonePublicApi uri_suffixes: '': /v2.0 EC2: /v2.0/ec2tokens @@ -124,12 +118,12 @@ Keystone: names: EC2: KeystoneEC2 Public: - vip_param: Public + net_param: Public uri_suffixes: '': /v2.0 V3: /v3 Admin: - vip_param: KeystoneAdminApi + net_param: KeystoneAdminApi uri_suffixes: '': /v2.0 V3: /v3 @@ -138,17 +132,17 @@ Keystone: Manila: Internal: - vip_param: ManilaApi + net_param: ManilaApi uri_suffixes: '': /v2/%(tenant_id)s V1: /v1/%(tenant_id)s Public: - vip_param: Public + net_param: Public uri_suffixes: '': /v2/%(tenant_id)s V1: /v1/%(tenant_id)s Admin: - vip_param: ManilaApi + net_param: ManilaApi uri_suffixes: '': /v2/%(tenant_id)s V1: /v1/%(tenant_id)s @@ -156,50 +150,50 @@ Manila: Neutron: Internal: - vip_param: NeutronApi + net_param: NeutronApi Public: - vip_param: Public + net_param: Public Admin: - vip_param: NeutronApi + net_param: NeutronApi port: 9696 Nova: Internal: - vip_param: NovaApi + net_param: NovaApi uri_suffixes: '': /v2.1 Public: - vip_param: Public + net_param: Public uri_suffixes: '': /v2.1 Admin: - vip_param: NovaApi + net_param: NovaApi uri_suffixes: '': /v2.1 port: 8774 NovaVNCProxy: Internal: - vip_param: NovaApi + net_param: NovaApi Public: - vip_param: Public + net_param: Public Admin: - vip_param: NovaApi + net_param: NovaApi port: 6080 Swift: Internal: - vip_param: SwiftProxy + net_param: SwiftProxy uri_suffixes: '': /v1/AUTH_%(tenant_id)s S3: Public: - vip_param: Public + net_param: Public uri_suffixes: '': /v1/AUTH_%(tenant_id)s S3: Admin: - vip_param: SwiftProxy + net_param: SwiftProxy uri_suffixes: '': S3: @@ -207,30 +201,30 @@ Swift: Sahara: Internal: - vip_param: SaharaApi + net_param: SaharaApi uri_suffixes: '': /v1.1/%(tenant_id)s Public: - vip_param: Public + net_param: Public uri_suffixes: '': /v1.1/%(tenant_id)s Admin: - vip_param: SaharaApi + net_param: SaharaApi uri_suffixes: '': /v1.1/%(tenant_id)s port: 8386 Ironic: Internal: - vip_param: IronicApi + net_param: IronicApi uri_suffixes: '': /v1 Public: - vip_param: Public + net_param: Public uri_suffixes: '': /v1 Admin: - vip_param: IronicApi + net_param: IronicApi uri_suffixes: '': /v1 port: 6385 diff --git a/network/endpoints/endpoint_map.yaml b/network/endpoints/endpoint_map.yaml index 0b5a13b2..d0553117 100644 --- a/network/endpoints/endpoint_map.yaml +++ b/network/endpoints/endpoint_map.yaml @@ -8,24 +8,14 @@ description: A map of OpenStack endpoints. Since the endpoints are URLs, parameters come from net_ip_uri_map, which will include these brackets in IPv6 addresses. parameters: - AodhApiVirtualIP: {type: string, default: ''} - CeilometerApiVirtualIP: {type: string, default: ''} - CinderApiVirtualIP: {type: string, default: ''} - GlanceApiVirtualIP: {type: string, default: ''} - GlanceRegistryVirtualIP: {type: string, default: ''} - GnocchiApiVirtualIP: {type: string, default: ''} - HeatApiVirtualIP: {type: string, default: ''} - IronicApiVirtualIP: {type: string, default: ''} - KeystoneAdminApiVirtualIP: {type: string, default: ''} - KeystonePublicApiVirtualIP: {type: string, default: ''} - ManilaApiVirtualIP: {type: string, default: ''} - MysqlNoBracketsVirtualIP: {type: string, default: ''} - MysqlVirtualIP: {type: string, default: ''} - NeutronApiVirtualIP: {type: string, default: ''} - NovaApiVirtualIP: {type: string, default: ''} - PublicVirtualIP: {type: string, default: ''} - SaharaApiVirtualIP: {type: string, default: ''} - SwiftProxyVirtualIP: {type: string, default: ''} + NetIpMap: + type: json + default: {} + description: The Net IP map + ServiceNetMap: + type: json + default: {} + description: The Service Net map EndpointMap: type: json default: @@ -62,8 +52,6 @@ parameters: ManilaInternal: {protocol: http, port: '8786', host: IP_ADDRESS} ManilaPublic: {protocol: http, port: '8786', host: IP_ADDRESS} MysqlInternal: {protocol: mysql+pymysql, port: '3306', host: IP_ADDRESS} - MysqlNoBracketsInternal: {protocol: mysql+pymysql, port: '3306', - host: IP_ADDRESS} NeutronAdmin: {protocol: http, port: '9696', host: IP_ADDRESS} NeutronInternal: {protocol: http, port: '9696', host: IP_ADDRESS} NeutronPublic: {protocol: http, port: '9696', host: IP_ADDRESS} @@ -93,7 +81,24 @@ outputs: get_param: [EndpointMap, AodhAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: AodhApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, AodhApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, AodhAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, AodhApiNetwork] port: get_param: [EndpointMap, AodhAdmin, port] protocol: @@ -108,7 +113,14 @@ outputs: get_param: [EndpointMap, AodhAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: AodhApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, AodhApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, AodhAdmin, port] uri_no_suffix: @@ -121,7 +133,14 @@ outputs: get_param: [EndpointMap, AodhAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: AodhApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, AodhApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, AodhAdmin, port] AodhInternal: @@ -131,7 +150,24 @@ outputs: get_param: [EndpointMap, AodhInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: AodhApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, AodhApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, AodhInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, AodhApiNetwork] port: get_param: [EndpointMap, AodhInternal, port] protocol: @@ -146,7 +182,14 @@ outputs: get_param: [EndpointMap, AodhInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: AodhApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, AodhApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, AodhInternal, port] uri_no_suffix: @@ -159,7 +202,14 @@ outputs: get_param: [EndpointMap, AodhInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: AodhApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, AodhApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, AodhInternal, port] AodhPublic: @@ -169,7 +219,24 @@ outputs: get_param: [EndpointMap, AodhPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, AodhPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, AodhPublic, port] protocol: @@ -184,7 +251,14 @@ outputs: get_param: [EndpointMap, AodhPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, AodhPublic, port] uri_no_suffix: @@ -197,7 +271,14 @@ outputs: get_param: [EndpointMap, AodhPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, AodhPublic, port] CeilometerAdmin: @@ -207,7 +288,24 @@ outputs: get_param: [EndpointMap, CeilometerAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CeilometerApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CeilometerApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CeilometerAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, CeilometerApiNetwork] port: get_param: [EndpointMap, CeilometerAdmin, port] protocol: @@ -222,7 +320,14 @@ outputs: get_param: [EndpointMap, CeilometerAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CeilometerApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CeilometerApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CeilometerAdmin, port] uri_no_suffix: @@ -235,7 +340,14 @@ outputs: get_param: [EndpointMap, CeilometerAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CeilometerApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CeilometerApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CeilometerAdmin, port] CeilometerInternal: @@ -245,7 +357,24 @@ outputs: get_param: [EndpointMap, CeilometerInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CeilometerApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CeilometerApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CeilometerInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, CeilometerApiNetwork] port: get_param: [EndpointMap, CeilometerInternal, port] protocol: @@ -260,7 +389,14 @@ outputs: get_param: [EndpointMap, CeilometerInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CeilometerApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CeilometerApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CeilometerInternal, port] uri_no_suffix: @@ -273,7 +409,14 @@ outputs: get_param: [EndpointMap, CeilometerInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CeilometerApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CeilometerApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CeilometerInternal, port] CeilometerPublic: @@ -283,7 +426,24 @@ outputs: get_param: [EndpointMap, CeilometerPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CeilometerPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, CeilometerPublic, port] protocol: @@ -298,7 +458,14 @@ outputs: get_param: [EndpointMap, CeilometerPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CeilometerPublic, port] uri_no_suffix: @@ -311,7 +478,14 @@ outputs: get_param: [EndpointMap, CeilometerPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CeilometerPublic, port] CinderAdmin: @@ -321,7 +495,24 @@ outputs: get_param: [EndpointMap, CinderAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CinderAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, CinderApiNetwork] port: get_param: [EndpointMap, CinderAdmin, port] protocol: @@ -336,7 +527,14 @@ outputs: get_param: [EndpointMap, CinderAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderAdmin, port] - /v1/%(tenant_id)s @@ -350,7 +548,14 @@ outputs: get_param: [EndpointMap, CinderAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderAdmin, port] CinderInternal: @@ -360,7 +565,24 @@ outputs: get_param: [EndpointMap, CinderInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CinderInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, CinderApiNetwork] port: get_param: [EndpointMap, CinderInternal, port] protocol: @@ -375,7 +597,14 @@ outputs: get_param: [EndpointMap, CinderInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderInternal, port] - /v1/%(tenant_id)s @@ -389,7 +618,14 @@ outputs: get_param: [EndpointMap, CinderInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderInternal, port] CinderPublic: @@ -399,7 +635,24 @@ outputs: get_param: [EndpointMap, CinderPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CinderPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, CinderPublic, port] protocol: @@ -414,7 +667,14 @@ outputs: get_param: [EndpointMap, CinderPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderPublic, port] - /v1/%(tenant_id)s @@ -428,7 +688,14 @@ outputs: get_param: [EndpointMap, CinderPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderPublic, port] CinderV2Admin: @@ -438,7 +705,24 @@ outputs: get_param: [EndpointMap, CinderAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CinderAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, CinderApiNetwork] port: get_param: [EndpointMap, CinderAdmin, port] protocol: @@ -453,7 +737,14 @@ outputs: get_param: [EndpointMap, CinderAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderAdmin, port] - /v2/%(tenant_id)s @@ -467,7 +758,14 @@ outputs: get_param: [EndpointMap, CinderAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderAdmin, port] CinderV2Internal: @@ -477,7 +775,24 @@ outputs: get_param: [EndpointMap, CinderInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CinderInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, CinderApiNetwork] port: get_param: [EndpointMap, CinderInternal, port] protocol: @@ -492,7 +807,14 @@ outputs: get_param: [EndpointMap, CinderInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderInternal, port] - /v2/%(tenant_id)s @@ -506,7 +828,14 @@ outputs: get_param: [EndpointMap, CinderInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderInternal, port] CinderV2Public: @@ -516,7 +845,24 @@ outputs: get_param: [EndpointMap, CinderPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CinderPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, CinderPublic, port] protocol: @@ -531,7 +877,14 @@ outputs: get_param: [EndpointMap, CinderPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderPublic, port] - /v2/%(tenant_id)s @@ -545,7 +898,14 @@ outputs: get_param: [EndpointMap, CinderPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderPublic, port] CinderV3Admin: @@ -555,7 +915,24 @@ outputs: get_param: [EndpointMap, CinderAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CinderAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, CinderApiNetwork] port: get_param: [EndpointMap, CinderAdmin, port] protocol: @@ -570,7 +947,14 @@ outputs: get_param: [EndpointMap, CinderAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderAdmin, port] - /v3/%(tenant_id)s @@ -584,7 +968,14 @@ outputs: get_param: [EndpointMap, CinderAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderAdmin, port] CinderV3Internal: @@ -594,7 +985,24 @@ outputs: get_param: [EndpointMap, CinderInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CinderInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, CinderApiNetwork] port: get_param: [EndpointMap, CinderInternal, port] protocol: @@ -609,7 +1017,14 @@ outputs: get_param: [EndpointMap, CinderInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderInternal, port] - /v3/%(tenant_id)s @@ -623,7 +1038,14 @@ outputs: get_param: [EndpointMap, CinderInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: CinderApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, CinderApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderInternal, port] CinderV3Public: @@ -633,7 +1055,24 @@ outputs: get_param: [EndpointMap, CinderPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, CinderPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, CinderPublic, port] protocol: @@ -648,7 +1087,14 @@ outputs: get_param: [EndpointMap, CinderPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderPublic, port] - /v3/%(tenant_id)s @@ -662,7 +1108,14 @@ outputs: get_param: [EndpointMap, CinderPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, CinderPublic, port] GlanceAdmin: @@ -672,7 +1125,24 @@ outputs: get_param: [EndpointMap, GlanceAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GlanceApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GlanceApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, GlanceAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, GlanceApiNetwork] port: get_param: [EndpointMap, GlanceAdmin, port] protocol: @@ -687,7 +1157,14 @@ outputs: get_param: [EndpointMap, GlanceAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GlanceApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GlanceApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GlanceAdmin, port] uri_no_suffix: @@ -700,7 +1177,14 @@ outputs: get_param: [EndpointMap, GlanceAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GlanceApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GlanceApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GlanceAdmin, port] GlanceInternal: @@ -710,7 +1194,24 @@ outputs: get_param: [EndpointMap, GlanceInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GlanceApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GlanceApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, GlanceInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, GlanceApiNetwork] port: get_param: [EndpointMap, GlanceInternal, port] protocol: @@ -725,7 +1226,14 @@ outputs: get_param: [EndpointMap, GlanceInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GlanceApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GlanceApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GlanceInternal, port] uri_no_suffix: @@ -738,7 +1246,14 @@ outputs: get_param: [EndpointMap, GlanceInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GlanceApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GlanceApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GlanceInternal, port] GlancePublic: @@ -748,7 +1263,24 @@ outputs: get_param: [EndpointMap, GlancePublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, GlancePublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, GlancePublic, port] protocol: @@ -763,7 +1295,14 @@ outputs: get_param: [EndpointMap, GlancePublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GlancePublic, port] uri_no_suffix: @@ -776,7 +1315,14 @@ outputs: get_param: [EndpointMap, GlancePublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GlancePublic, port] GlanceRegistryInternal: @@ -786,7 +1332,24 @@ outputs: get_param: [EndpointMap, GlanceRegistryInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GlanceRegistryVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GlanceRegistryNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, GlanceRegistryInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, GlanceRegistryNetwork] port: get_param: [EndpointMap, GlanceRegistryInternal, port] protocol: @@ -801,7 +1364,14 @@ outputs: get_param: [EndpointMap, GlanceRegistryInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GlanceRegistryVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GlanceRegistryNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GlanceRegistryInternal, port] uri_no_suffix: @@ -814,7 +1384,14 @@ outputs: get_param: [EndpointMap, GlanceRegistryInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GlanceRegistryVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GlanceRegistryNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GlanceRegistryInternal, port] GnocchiAdmin: @@ -824,7 +1401,24 @@ outputs: get_param: [EndpointMap, GnocchiAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GnocchiApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GnocchiApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, GnocchiAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, GnocchiApiNetwork] port: get_param: [EndpointMap, GnocchiAdmin, port] protocol: @@ -839,7 +1433,14 @@ outputs: get_param: [EndpointMap, GnocchiAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GnocchiApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GnocchiApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GnocchiAdmin, port] uri_no_suffix: @@ -852,7 +1453,14 @@ outputs: get_param: [EndpointMap, GnocchiAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GnocchiApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GnocchiApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GnocchiAdmin, port] GnocchiInternal: @@ -862,7 +1470,24 @@ outputs: get_param: [EndpointMap, GnocchiInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GnocchiApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GnocchiApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, GnocchiInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, GnocchiApiNetwork] port: get_param: [EndpointMap, GnocchiInternal, port] protocol: @@ -877,7 +1502,14 @@ outputs: get_param: [EndpointMap, GnocchiInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GnocchiApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GnocchiApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GnocchiInternal, port] uri_no_suffix: @@ -890,7 +1522,14 @@ outputs: get_param: [EndpointMap, GnocchiInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: GnocchiApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, GnocchiApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GnocchiInternal, port] GnocchiPublic: @@ -900,7 +1539,24 @@ outputs: get_param: [EndpointMap, GnocchiPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, GnocchiPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, GnocchiPublic, port] protocol: @@ -915,7 +1571,14 @@ outputs: get_param: [EndpointMap, GnocchiPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GnocchiPublic, port] uri_no_suffix: @@ -928,7 +1591,14 @@ outputs: get_param: [EndpointMap, GnocchiPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, GnocchiPublic, port] HeatAdmin: @@ -938,7 +1608,24 @@ outputs: get_param: [EndpointMap, HeatAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, HeatAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, HeatApiNetwork] port: get_param: [EndpointMap, HeatAdmin, port] protocol: @@ -953,7 +1640,14 @@ outputs: get_param: [EndpointMap, HeatAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatAdmin, port] - /v1/%(tenant_id)s @@ -967,7 +1661,14 @@ outputs: get_param: [EndpointMap, HeatAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatAdmin, port] HeatInternal: @@ -977,7 +1678,24 @@ outputs: get_param: [EndpointMap, HeatInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, HeatInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, HeatApiNetwork] port: get_param: [EndpointMap, HeatInternal, port] protocol: @@ -992,7 +1710,14 @@ outputs: get_param: [EndpointMap, HeatInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatInternal, port] - /v1/%(tenant_id)s @@ -1006,7 +1731,14 @@ outputs: get_param: [EndpointMap, HeatInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatInternal, port] HeatPublic: @@ -1016,7 +1748,24 @@ outputs: get_param: [EndpointMap, HeatPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, HeatPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, HeatPublic, port] protocol: @@ -1031,7 +1780,14 @@ outputs: get_param: [EndpointMap, HeatPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatPublic, port] - /v1/%(tenant_id)s @@ -1045,7 +1801,14 @@ outputs: get_param: [EndpointMap, HeatPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatPublic, port] HeatCfnAdmin: @@ -1055,7 +1818,24 @@ outputs: get_param: [EndpointMap, HeatCfnAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, HeatCfnAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, HeatApiNetwork] port: get_param: [EndpointMap, HeatCfnAdmin, port] protocol: @@ -1070,7 +1850,14 @@ outputs: get_param: [EndpointMap, HeatCfnAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatCfnAdmin, port] - /v1 @@ -1084,7 +1871,14 @@ outputs: get_param: [EndpointMap, HeatCfnAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatCfnAdmin, port] HeatCfnInternal: @@ -1094,7 +1888,24 @@ outputs: get_param: [EndpointMap, HeatCfnInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, HeatCfnInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, HeatApiNetwork] port: get_param: [EndpointMap, HeatCfnInternal, port] protocol: @@ -1109,7 +1920,14 @@ outputs: get_param: [EndpointMap, HeatCfnInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatCfnInternal, port] - /v1 @@ -1123,7 +1941,14 @@ outputs: get_param: [EndpointMap, HeatCfnInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: HeatApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, HeatApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatCfnInternal, port] HeatCfnPublic: @@ -1133,7 +1958,24 @@ outputs: get_param: [EndpointMap, HeatCfnPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, HeatCfnPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, HeatCfnPublic, port] protocol: @@ -1148,7 +1990,14 @@ outputs: get_param: [EndpointMap, HeatCfnPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatCfnPublic, port] - /v1 @@ -1162,7 +2011,14 @@ outputs: get_param: [EndpointMap, HeatCfnPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HeatCfnPublic, port] HorizonPublic: @@ -1172,7 +2028,24 @@ outputs: get_param: [EndpointMap, HorizonPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, HorizonPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, HorizonPublic, port] protocol: @@ -1187,7 +2060,14 @@ outputs: get_param: [EndpointMap, HorizonPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HorizonPublic, port] - /dashboard @@ -1201,7 +2081,14 @@ outputs: get_param: [EndpointMap, HorizonPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, HorizonPublic, port] IronicAdmin: @@ -1211,7 +2098,24 @@ outputs: get_param: [EndpointMap, IronicAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: IronicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, IronicApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, IronicAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, IronicApiNetwork] port: get_param: [EndpointMap, IronicAdmin, port] protocol: @@ -1226,7 +2130,14 @@ outputs: get_param: [EndpointMap, IronicAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: IronicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, IronicApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, IronicAdmin, port] - /v1 @@ -1240,7 +2151,14 @@ outputs: get_param: [EndpointMap, IronicAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: IronicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, IronicApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, IronicAdmin, port] IronicInternal: @@ -1250,7 +2168,24 @@ outputs: get_param: [EndpointMap, IronicInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: IronicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, IronicApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, IronicInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, IronicApiNetwork] port: get_param: [EndpointMap, IronicInternal, port] protocol: @@ -1265,7 +2200,14 @@ outputs: get_param: [EndpointMap, IronicInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: IronicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, IronicApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, IronicInternal, port] - /v1 @@ -1279,7 +2221,14 @@ outputs: get_param: [EndpointMap, IronicInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: IronicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, IronicApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, IronicInternal, port] IronicPublic: @@ -1289,7 +2238,24 @@ outputs: get_param: [EndpointMap, IronicPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, IronicPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, IronicPublic, port] protocol: @@ -1304,7 +2270,14 @@ outputs: get_param: [EndpointMap, IronicPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, IronicPublic, port] - /v1 @@ -1318,7 +2291,14 @@ outputs: get_param: [EndpointMap, IronicPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, IronicPublic, port] KeystoneAdmin: @@ -1328,7 +2308,24 @@ outputs: get_param: [EndpointMap, KeystoneAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystoneAdminApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, KeystoneAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, KeystoneAdminApiNetwork] port: get_param: [EndpointMap, KeystoneAdmin, port] protocol: @@ -1343,7 +2340,14 @@ outputs: get_param: [EndpointMap, KeystoneAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystoneAdminApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystoneAdmin, port] - /v2.0 @@ -1357,7 +2361,14 @@ outputs: get_param: [EndpointMap, KeystoneAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystoneAdminApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystoneAdmin, port] KeystoneEC2: @@ -1367,7 +2378,24 @@ outputs: get_param: [EndpointMap, KeystoneInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystonePublicApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, KeystoneInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] port: get_param: [EndpointMap, KeystoneInternal, port] protocol: @@ -1382,7 +2410,14 @@ outputs: get_param: [EndpointMap, KeystoneInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystonePublicApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystoneInternal, port] - /v2.0/ec2tokens @@ -1396,7 +2431,14 @@ outputs: get_param: [EndpointMap, KeystoneInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystonePublicApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystoneInternal, port] KeystoneInternal: @@ -1406,7 +2448,24 @@ outputs: get_param: [EndpointMap, KeystoneInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystonePublicApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, KeystoneInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] port: get_param: [EndpointMap, KeystoneInternal, port] protocol: @@ -1421,7 +2480,14 @@ outputs: get_param: [EndpointMap, KeystoneInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystonePublicApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystoneInternal, port] - /v2.0 @@ -1435,7 +2501,14 @@ outputs: get_param: [EndpointMap, KeystoneInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystonePublicApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystoneInternal, port] KeystonePublic: @@ -1445,7 +2518,24 @@ outputs: get_param: [EndpointMap, KeystonePublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, KeystonePublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, KeystonePublic, port] protocol: @@ -1460,7 +2550,14 @@ outputs: get_param: [EndpointMap, KeystonePublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystonePublic, port] - /v2.0 @@ -1474,7 +2571,14 @@ outputs: get_param: [EndpointMap, KeystonePublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystonePublic, port] KeystoneV3Admin: @@ -1484,7 +2588,24 @@ outputs: get_param: [EndpointMap, KeystoneAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystoneAdminApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, KeystoneAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, KeystoneAdminApiNetwork] port: get_param: [EndpointMap, KeystoneAdmin, port] protocol: @@ -1499,7 +2620,14 @@ outputs: get_param: [EndpointMap, KeystoneAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystoneAdminApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystoneAdmin, port] - /v3 @@ -1513,7 +2641,14 @@ outputs: get_param: [EndpointMap, KeystoneAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystoneAdminApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystoneAdmin, port] KeystoneV3Internal: @@ -1523,7 +2658,24 @@ outputs: get_param: [EndpointMap, KeystoneInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystonePublicApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, KeystoneInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, KeystonePublicApiNetwork] port: get_param: [EndpointMap, KeystoneInternal, port] protocol: @@ -1538,7 +2690,14 @@ outputs: get_param: [EndpointMap, KeystoneInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystonePublicApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystoneInternal, port] - /v3 @@ -1552,7 +2711,14 @@ outputs: get_param: [EndpointMap, KeystoneInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, KeystonePublicApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystoneInternal, port] KeystoneV3Public: @@ -1562,7 +2728,24 @@ outputs: get_param: [EndpointMap, KeystonePublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, KeystonePublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, KeystonePublic, port] protocol: @@ -1577,7 +2760,14 @@ outputs: get_param: [EndpointMap, KeystonePublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystonePublic, port] - /v3 @@ -1591,7 +2781,14 @@ outputs: get_param: [EndpointMap, KeystonePublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, KeystonePublic, port] ManilaAdmin: @@ -1601,7 +2798,24 @@ outputs: get_param: [EndpointMap, ManilaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, ManilaAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, ManilaApiNetwork] port: get_param: [EndpointMap, ManilaAdmin, port] protocol: @@ -1616,7 +2830,14 @@ outputs: get_param: [EndpointMap, ManilaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaAdmin, port] - /v2/%(tenant_id)s @@ -1630,7 +2851,14 @@ outputs: get_param: [EndpointMap, ManilaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaAdmin, port] ManilaInternal: @@ -1640,7 +2868,24 @@ outputs: get_param: [EndpointMap, ManilaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, ManilaInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, ManilaApiNetwork] port: get_param: [EndpointMap, ManilaInternal, port] protocol: @@ -1655,7 +2900,14 @@ outputs: get_param: [EndpointMap, ManilaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaInternal, port] - /v2/%(tenant_id)s @@ -1669,7 +2921,14 @@ outputs: get_param: [EndpointMap, ManilaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaInternal, port] ManilaPublic: @@ -1679,7 +2938,24 @@ outputs: get_param: [EndpointMap, ManilaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, ManilaPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, ManilaPublic, port] protocol: @@ -1694,7 +2970,14 @@ outputs: get_param: [EndpointMap, ManilaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaPublic, port] - /v2/%(tenant_id)s @@ -1708,7 +2991,14 @@ outputs: get_param: [EndpointMap, ManilaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaPublic, port] ManilaV1Admin: @@ -1718,7 +3008,24 @@ outputs: get_param: [EndpointMap, ManilaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, ManilaAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, ManilaApiNetwork] port: get_param: [EndpointMap, ManilaAdmin, port] protocol: @@ -1733,7 +3040,14 @@ outputs: get_param: [EndpointMap, ManilaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaAdmin, port] - /v1/%(tenant_id)s @@ -1747,7 +3061,14 @@ outputs: get_param: [EndpointMap, ManilaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaAdmin, port] ManilaV1Internal: @@ -1757,7 +3078,24 @@ outputs: get_param: [EndpointMap, ManilaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, ManilaInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, ManilaApiNetwork] port: get_param: [EndpointMap, ManilaInternal, port] protocol: @@ -1772,7 +3110,14 @@ outputs: get_param: [EndpointMap, ManilaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaInternal, port] - /v1/%(tenant_id)s @@ -1786,7 +3131,14 @@ outputs: get_param: [EndpointMap, ManilaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: ManilaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, ManilaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaInternal, port] ManilaV1Public: @@ -1796,7 +3148,24 @@ outputs: get_param: [EndpointMap, ManilaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, ManilaPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, ManilaPublic, port] protocol: @@ -1811,7 +3180,14 @@ outputs: get_param: [EndpointMap, ManilaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaPublic, port] - /v1/%(tenant_id)s @@ -1825,7 +3201,14 @@ outputs: get_param: [EndpointMap, ManilaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, ManilaPublic, port] MysqlInternal: @@ -1835,7 +3218,24 @@ outputs: get_param: [EndpointMap, MysqlInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: MysqlVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, MysqlNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, MysqlInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, MysqlNetwork] port: get_param: [EndpointMap, MysqlInternal, port] protocol: @@ -1850,7 +3250,14 @@ outputs: get_param: [EndpointMap, MysqlInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: MysqlVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, MysqlNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, MysqlInternal, port] uri_no_suffix: @@ -1863,55 +3270,41 @@ outputs: get_param: [EndpointMap, MysqlInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: MysqlVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, MysqlNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, MysqlInternal, port] - MysqlNoBracketsInternal: + NeutronAdmin: host: str_replace: template: - get_param: [EndpointMap, MysqlNoBracketsInternal, host] + get_param: [EndpointMap, NeutronAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: MysqlNoBracketsVirtualIP} - port: - get_param: [EndpointMap, MysqlNoBracketsInternal, port] - protocol: - get_param: [EndpointMap, MysqlNoBracketsInternal, protocol] - uri: - list_join: - - '' - - - get_param: [EndpointMap, MysqlNoBracketsInternal, protocol] - - :// - - str_replace: - template: - get_param: [EndpointMap, MysqlNoBracketsInternal, host] - params: - CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: MysqlNoBracketsVirtualIP} - - ':' - - get_param: [EndpointMap, MysqlNoBracketsInternal, port] - uri_no_suffix: - list_join: - - '' - - - get_param: [EndpointMap, MysqlNoBracketsInternal, protocol] - - :// - - str_replace: - template: - get_param: [EndpointMap, MysqlNoBracketsInternal, host] - params: - CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: MysqlNoBracketsVirtualIP} - - ':' - - get_param: [EndpointMap, MysqlNoBracketsInternal, port] - NeutronAdmin: - host: + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NeutronApiNetwork] + template: NETWORK_uri + host_nobrackets: str_replace: template: get_param: [EndpointMap, NeutronAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NeutronApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, NeutronApiNetwork] port: get_param: [EndpointMap, NeutronAdmin, port] protocol: @@ -1926,7 +3319,14 @@ outputs: get_param: [EndpointMap, NeutronAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NeutronApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NeutronApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NeutronAdmin, port] uri_no_suffix: @@ -1939,7 +3339,14 @@ outputs: get_param: [EndpointMap, NeutronAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NeutronApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NeutronApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NeutronAdmin, port] NeutronInternal: @@ -1949,7 +3356,24 @@ outputs: get_param: [EndpointMap, NeutronInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NeutronApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NeutronApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, NeutronInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, NeutronApiNetwork] port: get_param: [EndpointMap, NeutronInternal, port] protocol: @@ -1964,7 +3388,14 @@ outputs: get_param: [EndpointMap, NeutronInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NeutronApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NeutronApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NeutronInternal, port] uri_no_suffix: @@ -1977,7 +3408,14 @@ outputs: get_param: [EndpointMap, NeutronInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NeutronApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NeutronApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NeutronInternal, port] NeutronPublic: @@ -1987,7 +3425,24 @@ outputs: get_param: [EndpointMap, NeutronPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, NeutronPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, NeutronPublic, port] protocol: @@ -2002,7 +3457,14 @@ outputs: get_param: [EndpointMap, NeutronPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NeutronPublic, port] uri_no_suffix: @@ -2015,7 +3477,14 @@ outputs: get_param: [EndpointMap, NeutronPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NeutronPublic, port] NovaAdmin: @@ -2025,7 +3494,24 @@ outputs: get_param: [EndpointMap, NovaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, NovaAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, NovaApiNetwork] port: get_param: [EndpointMap, NovaAdmin, port] protocol: @@ -2040,7 +3526,14 @@ outputs: get_param: [EndpointMap, NovaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaAdmin, port] - /v2.1 @@ -2054,7 +3547,14 @@ outputs: get_param: [EndpointMap, NovaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaAdmin, port] NovaInternal: @@ -2064,7 +3564,24 @@ outputs: get_param: [EndpointMap, NovaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, NovaInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, NovaApiNetwork] port: get_param: [EndpointMap, NovaInternal, port] protocol: @@ -2079,7 +3596,14 @@ outputs: get_param: [EndpointMap, NovaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaInternal, port] - /v2.1 @@ -2093,7 +3617,14 @@ outputs: get_param: [EndpointMap, NovaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaInternal, port] NovaPublic: @@ -2103,7 +3634,24 @@ outputs: get_param: [EndpointMap, NovaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, NovaPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, NovaPublic, port] protocol: @@ -2118,7 +3666,14 @@ outputs: get_param: [EndpointMap, NovaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaPublic, port] - /v2.1 @@ -2132,7 +3687,14 @@ outputs: get_param: [EndpointMap, NovaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaPublic, port] NovaVNCProxyAdmin: @@ -2142,7 +3704,24 @@ outputs: get_param: [EndpointMap, NovaVNCProxyAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, NovaVNCProxyAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, NovaApiNetwork] port: get_param: [EndpointMap, NovaVNCProxyAdmin, port] protocol: @@ -2157,7 +3736,14 @@ outputs: get_param: [EndpointMap, NovaVNCProxyAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaVNCProxyAdmin, port] uri_no_suffix: @@ -2170,7 +3756,14 @@ outputs: get_param: [EndpointMap, NovaVNCProxyAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaVNCProxyAdmin, port] NovaVNCProxyInternal: @@ -2180,7 +3773,24 @@ outputs: get_param: [EndpointMap, NovaVNCProxyInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, NovaVNCProxyInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, NovaApiNetwork] port: get_param: [EndpointMap, NovaVNCProxyInternal, port] protocol: @@ -2195,7 +3805,14 @@ outputs: get_param: [EndpointMap, NovaVNCProxyInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaVNCProxyInternal, port] uri_no_suffix: @@ -2208,7 +3825,14 @@ outputs: get_param: [EndpointMap, NovaVNCProxyInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: NovaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, NovaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaVNCProxyInternal, port] NovaVNCProxyPublic: @@ -2218,7 +3842,24 @@ outputs: get_param: [EndpointMap, NovaVNCProxyPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, NovaVNCProxyPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, NovaVNCProxyPublic, port] protocol: @@ -2233,7 +3874,14 @@ outputs: get_param: [EndpointMap, NovaVNCProxyPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaVNCProxyPublic, port] uri_no_suffix: @@ -2246,7 +3894,14 @@ outputs: get_param: [EndpointMap, NovaVNCProxyPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, NovaVNCProxyPublic, port] SaharaAdmin: @@ -2256,7 +3911,24 @@ outputs: get_param: [EndpointMap, SaharaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SaharaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SaharaApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, SaharaAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, SaharaApiNetwork] port: get_param: [EndpointMap, SaharaAdmin, port] protocol: @@ -2271,7 +3943,14 @@ outputs: get_param: [EndpointMap, SaharaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SaharaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SaharaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SaharaAdmin, port] - /v1.1/%(tenant_id)s @@ -2285,7 +3964,14 @@ outputs: get_param: [EndpointMap, SaharaAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SaharaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SaharaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SaharaAdmin, port] SaharaInternal: @@ -2295,7 +3981,24 @@ outputs: get_param: [EndpointMap, SaharaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SaharaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SaharaApiNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, SaharaInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, SaharaApiNetwork] port: get_param: [EndpointMap, SaharaInternal, port] protocol: @@ -2310,7 +4013,14 @@ outputs: get_param: [EndpointMap, SaharaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SaharaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SaharaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SaharaInternal, port] - /v1.1/%(tenant_id)s @@ -2324,7 +4034,14 @@ outputs: get_param: [EndpointMap, SaharaInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SaharaApiVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SaharaApiNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SaharaInternal, port] SaharaPublic: @@ -2334,7 +4051,24 @@ outputs: get_param: [EndpointMap, SaharaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, SaharaPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, SaharaPublic, port] protocol: @@ -2349,7 +4083,14 @@ outputs: get_param: [EndpointMap, SaharaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SaharaPublic, port] - /v1.1/%(tenant_id)s @@ -2363,7 +4104,14 @@ outputs: get_param: [EndpointMap, SaharaPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SaharaPublic, port] SwiftAdmin: @@ -2373,7 +4121,24 @@ outputs: get_param: [EndpointMap, SwiftAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, SwiftAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, SwiftProxyNetwork] port: get_param: [EndpointMap, SwiftAdmin, port] protocol: @@ -2388,7 +4153,14 @@ outputs: get_param: [EndpointMap, SwiftAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftAdmin, port] uri_no_suffix: @@ -2401,7 +4173,14 @@ outputs: get_param: [EndpointMap, SwiftAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftAdmin, port] SwiftInternal: @@ -2411,7 +4190,24 @@ outputs: get_param: [EndpointMap, SwiftInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, SwiftInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, SwiftProxyNetwork] port: get_param: [EndpointMap, SwiftInternal, port] protocol: @@ -2426,7 +4222,14 @@ outputs: get_param: [EndpointMap, SwiftInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftInternal, port] - /v1/AUTH_%(tenant_id)s @@ -2440,7 +4243,14 @@ outputs: get_param: [EndpointMap, SwiftInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftInternal, port] SwiftPublic: @@ -2450,7 +4260,24 @@ outputs: get_param: [EndpointMap, SwiftPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, SwiftPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, SwiftPublic, port] protocol: @@ -2465,7 +4292,14 @@ outputs: get_param: [EndpointMap, SwiftPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftPublic, port] - /v1/AUTH_%(tenant_id)s @@ -2479,7 +4313,14 @@ outputs: get_param: [EndpointMap, SwiftPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftPublic, port] SwiftS3Admin: @@ -2489,7 +4330,24 @@ outputs: get_param: [EndpointMap, SwiftAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, SwiftAdmin, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, SwiftProxyNetwork] port: get_param: [EndpointMap, SwiftAdmin, port] protocol: @@ -2504,7 +4362,14 @@ outputs: get_param: [EndpointMap, SwiftAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftAdmin, port] uri_no_suffix: @@ -2517,7 +4382,14 @@ outputs: get_param: [EndpointMap, SwiftAdmin, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftAdmin, port] SwiftS3Internal: @@ -2527,7 +4399,24 @@ outputs: get_param: [EndpointMap, SwiftInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, SwiftInternal, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, SwiftProxyNetwork] port: get_param: [EndpointMap, SwiftInternal, port] protocol: @@ -2542,7 +4431,14 @@ outputs: get_param: [EndpointMap, SwiftInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftInternal, port] uri_no_suffix: @@ -2555,7 +4451,14 @@ outputs: get_param: [EndpointMap, SwiftInternal, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: SwiftProxyVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, SwiftProxyNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftInternal, port] SwiftS3Public: @@ -2565,7 +4468,24 @@ outputs: get_param: [EndpointMap, SwiftPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri + host_nobrackets: + str_replace: + template: + get_param: [EndpointMap, SwiftPublic, host] + params: + CLOUDNAME: {get_param: CloudName} + IP_ADDRESS: + get_param: + - NetIpMap + - get_param: [ServiceNetMap, PublicNetwork] port: get_param: [EndpointMap, SwiftPublic, port] protocol: @@ -2580,7 +4500,14 @@ outputs: get_param: [EndpointMap, SwiftPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftPublic, port] uri_no_suffix: @@ -2593,6 +4520,13 @@ outputs: get_param: [EndpointMap, SwiftPublic, host] params: CLOUDNAME: {get_param: CloudName} - IP_ADDRESS: {get_param: PublicVirtualIP} + IP_ADDRESS: + get_param: + - NetIpMap + - str_replace: + params: + NETWORK: + get_param: [ServiceNetMap, PublicNetwork] + template: NETWORK_uri - ':' - get_param: [EndpointMap, SwiftPublic, port] diff --git a/network/ports/net_ip_map.yaml b/network/ports/net_ip_map.yaml index 1ed74528..fcf2eeee 100644 --- a/network/ports/net_ip_map.yaml +++ b/network/ports/net_ip_map.yaml @@ -101,34 +101,3 @@ outputs: storage_mgmt_uri: {get_param: StorageMgmtIpUri} tenant_uri: {get_param: TenantIpUri} management_uri: {get_param: ManagementIpUri} - # net_ip_subnet_map is deprecated, please use *subnet from net_ip_map - net_ip_subnet_map: - description: > - A Hash containing a mapping of network names to assigned IPs/CIDR - for a specific machine. - value: - ctlplane: - list_join: - - '' - - - {get_param: ControlPlaneIp} - - '/' - - {get_param: ControlPlaneSubnetCidr} - external: {get_param: ExternalIpSubnet} - internal_api: {get_param: InternalApiIpSubnet} - storage: {get_param: StorageIpSubnet} - storage_mgmt: {get_param: StorageMgmtIpSubnet} - tenant: {get_param: TenantIpSubnet} - management: {get_param: ManagementIpSubnet} - # net_ip_uri_map is deprecated, please use *uri from net_ip_map - net_ip_uri_map: - description: > - A Hash containing a mapping of network names to assigned IPs for a - specific machine with brackets around IPv6 addresses for use in URLs. - value: - ctlplane: {get_param: ControlPlaneIp} - external: {get_param: ExternalIpUri} - internal_api: {get_param: InternalApiIpUri} - storage: {get_param: StorageIpUri} - storage_mgmt: {get_param: StorageMgmtIpUri} - tenant: {get_param: TenantIpUri} - management: {get_param: ManagementIpUri} diff --git a/network/ports/net_vip_map_external.yaml b/network/ports/net_vip_map_external.yaml index a40a0bfc..71e6e811 100644 --- a/network/ports/net_vip_map_external.yaml +++ b/network/ports/net_vip_map_external.yaml @@ -45,12 +45,6 @@ parameters: StorageMgmtIpUri: default: '' type: string - TenantIp: - default: '' - type: string - TenantIpUri: - default: '' - type: string outputs: net_ip_map: @@ -63,13 +57,8 @@ outputs: internal_api: {get_param: InternalApiNetworkVip} storage: {get_param: StorageNetworkVip} storage_mgmt: {get_param: StorageMgmtNetworkVip} - net_ip_uri_map: - description: > - A Hash containing a mapping of netowrk names to assigned IPs for a - specific machine with brackets around IPv6 addresses for use in URLs. - value: - ctlplane: {get_param: ControlPlaneIP} - external: {get_param: ExternalNetworkVip} - internal_api: {get_param: InternalApiNetworkVip} - storage: {get_param: StorageNetworkVip} - storage_mgmt: {get_param: StorageMgmtNetworkVip} + ctlplane_uri: {get_param: ControlPlaneIP} + external_uri: {get_param: ExternalNetworkVip} + internal_api_uri: {get_param: InternalApiNetworkVip} + storage_uri: {get_param: StorageNetworkVip} + storage_mgmt_uri: {get_param: StorageMgmtNetworkVip} diff --git a/network/ports/net_vip_map_external_v6.yaml b/network/ports/net_vip_map_external_v6.yaml index f6d67fe8..8d054349 100644 --- a/network/ports/net_vip_map_external_v6.yaml +++ b/network/ports/net_vip_map_external_v6.yaml @@ -45,12 +45,6 @@ parameters: StorageMgmtIpUri: default: '' type: string - TenantIp: - default: '' - type: string - TenantIpUri: - default: '' - type: string outputs: net_ip_map: @@ -63,31 +57,26 @@ outputs: internal_api: {get_param: InternalApiNetworkVip} storage: {get_param: StorageNetworkVip} storage_mgmt: {get_param: StorageMgmtNetworkVip} - net_ip_uri_map: - description: > - A Hash containing a mapping of netowrk names to assigned IPs for a - specific machine with brackets around IPv6 addresses for use in URLs. - value: - ctlplane: {get_param: ControlPlaneIP} - external: + ctlplane_uri: {get_param: ControlPlaneIP} + external_uri: list_join: - '' - - '[' - {get_param: ExternalNetworkVip} - ']' - internal_api: + internal_api_uri: list_join: - '' - - '[' - {get_param: InternalApiNetworkVip} - ']' - storage: + storage_uri: list_join: - '' - - '[' - {get_param: StorageNetworkVip} - ']' - storage_mgmt: + storage_mgmt_uri: list_join: - '' - - '[' diff --git a/network/service_net_map.yaml b/network/service_net_map.yaml new file mode 100644 index 00000000..fea8987a --- /dev/null +++ b/network/service_net_map.yaml @@ -0,0 +1,92 @@ +heat_template_version: 2016-10-14 + +description: > + Mapping of service_name_network -> network name + +parameters: + ServiceNetMap: + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + default: {} + type: json + + ServiceNetMapDefaults: + default: + NeutronTenantNetwork: tenant + CeilometerApiNetwork: internal_api + AodhApiNetwork: internal_api + GnocchiApiNetwork: internal_api + MongodbNetwork: internal_api + CinderApiNetwork: internal_api + CinderIscsiNetwork: storage + GlanceApiNetwork: storage + GlanceRegistryNetwork: internal_api + IronicApiNetwork: internal_api + KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints + KeystonePublicApiNetwork: internal_api + ManilaApiNetwork: internal_api + NeutronApiNetwork: internal_api + HeatApiNetwork: internal_api + NovaApiNetwork: internal_api + NovaMetadataNetwork: internal_api + NovaVncProxyNetwork: internal_api + SwiftMgmtNetwork: storage_mgmt + SwiftProxyNetwork: storage + SaharaApiNetwork: internal_api + HorizonNetwork: internal_api + MemcachedNetwork: internal_api + RabbitmqNetwork: internal_api + RedisNetwork: internal_api + MysqlNetwork: internal_api + CephClusterNetwork: storage_mgmt + CephPublicNetwork: storage + ControllerHostnameResolveNetwork: internal_api + ComputeHostnameResolveNetwork: internal_api + BlockStorageHostnameResolveNetwork: internal_api + ObjectStorageHostnameResolveNetwork: internal_api + CephStorageHostnameResolveNetwork: storage + PublicNetwork: external + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. + type: json + + # We define mappings to work around names that break when doing the + # CamelCase to snake_case conversion to align with service_names + ServiceNetMapDeprecatedMapping: + default: + MongoDbNetwork: MongodbNetwork + RabbitMqNetwork: RabbitmqNetwork + description: Mapping older deprecated service names, intended for + internal use only, this will be removed in future. + type: json + +parameter_groups: +- label: deprecated + description: Do not use deprecated params, they will be removed. + parameters: + - ServiceNetMapDeprecatedMapping + +outputs: + service_net_map: + value: + map_merge: + - {get_param: ServiceNetMapDefaults} + - map_replace: + - {get_param: ServiceNetMap} + - keys: {get_param: ServiceNetMapDeprecatedMapping} + + service_net_map_lower: + value: + # This does a conversion from CamelCase to snake_case, + # e.g HeatApiNetwork becomes heat_api_network so it + # matches the service names. + yaql: + expression: dict($.data.map.items().select([ regex(`([a-z0-9])([A-Z])`).replace($[0], '\\1_\\2').toLower(), $[1]])) + data: + map: + map_merge: + - {get_param: ServiceNetMapDefaults} + - map_replace: + - {get_param: ServiceNetMap} + - keys: {get_param: ServiceNetMapDeprecatedMapping} diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml index 8a0187ed..14db6494 100644 --- a/overcloud-resource-registry-puppet.yaml +++ b/overcloud-resource-registry-puppet.yaml @@ -118,6 +118,9 @@ resource_registry: OS::TripleO::BlockStorage::Ports::TenantPort: network/ports/noop.yaml OS::TripleO::BlockStorage::Ports::ManagementPort: network/ports/noop.yaml + # Service to network Mappings + OS::TripleO::ServiceNetMap: network/service_net_map.yaml + # Service Endpoint Mappings OS::TripleO::EndpointMap: network/endpoints/endpoint_map.yaml @@ -131,6 +134,7 @@ resource_registry: OS::TripleO::Services::CephClient: OS::Heat::None OS::TripleO::Services::CephExternal: OS::Heat::None OS::TripleO::Services::CinderApi: puppet/services/cinder-api.yaml + OS::TripleO::Services::CinderBackup: puppet/services/cinder-backup.yaml OS::TripleO::Services::CinderScheduler: puppet/services/cinder-scheduler.yaml OS::TripleO::Services::CinderVolume: puppet/services/cinder-volume.yaml OS::TripleO::Services::Core: OS::Heat::None diff --git a/overcloud.yaml b/overcloud.yaml index d5636c22..4e79349e 100644 --- a/overcloud.yaml +++ b/overcloud.yaml @@ -106,50 +106,13 @@ parameters: default: nic1 description: What interface to add to the HypervisorNeutronPhysicalBridge. type: string - ServiceNetMap: - default: - NeutronTenantNetwork: tenant - CeilometerApiNetwork: internal_api - AodhApiNetwork: internal_api - GnocchiApiNetwork: internal_api - MongoDbNetwork: internal_api - CinderApiNetwork: internal_api - CinderIscsiNetwork: storage - GlanceApiNetwork: storage - GlanceRegistryNetwork: internal_api - IronicApiNetwork: internal_api - KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints - KeystonePublicApiNetwork: internal_api - ManilaApiNetwork: internal_api - NeutronApiNetwork: internal_api - HeatApiNetwork: internal_api - NovaApiNetwork: internal_api - NovaMetadataNetwork: internal_api - NovaVncProxyNetwork: internal_api - SwiftMgmtNetwork: storage_mgmt - SwiftProxyNetwork: storage - SaharaApiNetwork: internal_api - HorizonNetwork: internal_api - MemcachedNetwork: internal_api - RabbitMqNetwork: internal_api - RedisNetwork: internal_api - MysqlNetwork: internal_api - CephClusterNetwork: storage_mgmt - CephPublicNetwork: storage - ControllerHostnameResolveNetwork: internal_api - ComputeHostnameResolveNetwork: internal_api - BlockStorageHostnameResolveNetwork: internal_api - ObjectStorageHostnameResolveNetwork: internal_api - CephStorageHostnameResolveNetwork: storage - description: Mapping of service_name -> network name. Typically set - via parameter_defaults in the resource registry. - type: json ControllerServices: default: - OS::TripleO::Services::CephMon - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CinderApi + - OS::TripleO::Services::CinderBackup - OS::TripleO::Services::CinderScheduler - OS::TripleO::Services::CinderVolume - OS::TripleO::Services::Core @@ -395,28 +358,15 @@ resources: properties: length: 10 + ServiceNetMap: + type: OS::TripleO::ServiceNetMap + EndpointMap: type: OS::TripleO::EndpointMap properties: CloudName: {get_param: CloudName} - CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]} - AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]} - CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]} - GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]} - GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]} - GnocchiApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]} - HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]} - IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]} - KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]} - KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]} - ManilaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]} - MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]} - MysqlNoBracketsVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]} - NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]} - NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]} - SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]} - SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]} - PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]} + NetIpMap: {get_attr: [VipMap, net_ip_map]} + ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]} ControllerServiceChain: type: OS::TripleO::Services @@ -433,6 +383,7 @@ resources: resource_def: type: OS::TripleO::Controller properties: + CloudDomain: {get_param: CloudDomain} controllerExtraConfig: {get_param: controllerExtraConfig} HeatAuthEncryptionKey: {get_resource: HeatAuthEncryptionKey} HorizonSecret: {get_resource: HorizonSecret} @@ -442,9 +393,9 @@ resources: RabbitCookie: {get_attr: [RabbitCookie, value]} RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]} RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]} - ServiceNetMap: {get_param: ServiceNetMap} + ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]} EndpointMap: {get_attr: [EndpointMap, endpoint_map]} - MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]} + MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, MysqlNetwork]}]} Hostname: str_replace: template: {get_param: ControllerHostnameFormat} @@ -470,16 +421,13 @@ resources: resource_def: type: OS::TripleO::Compute properties: - GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]} - KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]} - KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]} + 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_param: [ServiceNetMap, NovaApiNetwork]}]} + NovaApiHost: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, NovaApiNetwork]}]} NovaPublicIP: {get_attr: [VipMap, net_ip_map, external]} - RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]} - ServiceNetMap: {get_param: ServiceNetMap} + ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]} EndpointMap: {get_attr: [EndpointMap, endpoint_map]} Hostname: str_replace: @@ -511,7 +459,7 @@ resources: template: {get_param: BlockStorageHostnameFormat} params: '%stackname%': {get_param: 'OS::stack_name'} - ServiceNetMap: {get_param: ServiceNetMap} + ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]} ExtraConfig: {get_param: ExtraConfig} BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig} CloudDomain: {get_param: CloudDomain} @@ -537,7 +485,7 @@ resources: properties: HashSuffix: {get_param: SwiftHashSuffix} UpdateIdentifier: {get_param: UpdateIdentifier} - ServiceNetMap: {get_param: ServiceNetMap} + ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]} Hostname: str_replace: template: {get_param: ObjectStorageHostnameFormat} @@ -566,7 +514,7 @@ resources: resource_def: type: OS::TripleO::CephStorage properties: - ServiceNetMap: {get_param: ServiceNetMap} + ServiceNetMap: {get_attr: [ServiceNetMap, service_net_map]} UpdateIdentifier: {get_param: UpdateIdentifier} Hostname: str_replace: @@ -613,29 +561,29 @@ resources: - {get_attr: [CephStorage, hosts_entry]} controller_ips: {get_attr: [Controller, ip_address]} controller_names: {get_attr: [Controller, hostname]} - rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]} - mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]} - redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, RedisNetwork]}]} - memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]} - mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]} - horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]} - heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]} - swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]} - ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]} - aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]} - gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]} - nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]} - nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]} - glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]} - glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]} - cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]} - manila_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]} - neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]} - keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]} - keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]} - sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]} - ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]} - ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]} + rabbit_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, RabbitmqNetwork]}]} + mongo_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, MongodbNetwork]}]} + redis_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, RedisNetwork]}]} + memcache_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, MemcachedNetwork]}]} + mysql_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, MysqlNetwork]}]} + horizon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, HorizonNetwork]}]} + heat_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, HeatApiNetwork]}]} + swift_proxy_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, SwiftProxyNetwork]}]} + ceilometer_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, CeilometerApiNetwork]}]} + aodh_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, AodhApiNetwork]}]} + gnocchi_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, GnocchiApiNetwork]}]} + nova_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, NovaApiNetwork]}]} + nova_metadata_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, NovaMetadataNetwork]}]} + glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, GlanceApiNetwork]}]} + glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, GlanceRegistryNetwork]}]} + cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, CinderApiNetwork]}]} + manila_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, ManilaApiNetwork]}]} + neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, NeutronApiNetwork]}]} + keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, KeystonePublicApiNetwork]}]} + keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, KeystoneAdminApiNetwork]}]} + sahara_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, SaharaApiNetwork]}]} + ironic_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, IronicApiNetwork]}]} + ceph_mon_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, CephPublicNetwork]}]} ceph_mon_node_names: {get_attr: [Controller, hostname]} DeployIdentifier: {get_param: DeployIdentifier} UpdateIdentifier: {get_param: UpdateIdentifier} @@ -676,7 +624,7 @@ resources: ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} ControlPlaneNetwork: {get_param: NeutronControlPlaneID} PortName: redis_virtual_ip - NetworkName: {get_param: [ServiceNetMap, RedisNetwork]} + NetworkName: {get_attr: [ServiceNetMap, service_net_map, RedisNetwork]} ServiceName: redis # The public VIP is on the External net, falls back to ctlplane @@ -738,30 +686,30 @@ resources: servers: {get_attr: [Controller, attributes, nova_server_resource]} input_values: # service VIP mappings - keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]} - keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]} - neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]} - cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]} - glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]} - glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]} - swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]} - nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]} - nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaMetadataNetwork]}]} - ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]} - aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]} - gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]} - heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]} - horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]} + keystone_admin_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, KeystoneAdminApiNetwork]}]} + keystone_public_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, KeystonePublicApiNetwork]}]} + neutron_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, NeutronApiNetwork]}]} + cinder_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, CinderApiNetwork]}]} + glance_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, GlanceApiNetwork]}]} + glance_registry_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, GlanceRegistryNetwork]}]} + swift_proxy_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, SwiftProxyNetwork]}]} + nova_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, NovaApiNetwork]}]} + nova_metadata_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, NovaMetadataNetwork]}]} + ceilometer_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, CeilometerApiNetwork]}]} + aodh_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, AodhApiNetwork]}]} + gnocchi_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, GnocchiApiNetwork]}]} + heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, HeatApiNetwork]}]} + horizon_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, HorizonNetwork]}]} redis_vip: {get_attr: [RedisVirtualIP, ip_address]} - manila_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]} - mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]} - rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]} + manila_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, ManilaApiNetwork]}]} + mysql_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, MysqlNetwork]}]} + rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, RabbitMqNetwork]}]} # direct configuration of Virtual IPs for each network control_virtual_ip: {get_attr: [VipMap, net_ip_map, ctlplane]} public_virtual_ip: {get_attr: [VipMap, net_ip_map, external]} internal_api_virtual_ip: {get_attr: [VipMap, net_ip_map, internal_api]} - sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]} - ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]} + sahara_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, SaharaApiNetwork]}]} + ironic_api_vip: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, IronicApiNetwork]}]} storage_virtual_ip: {get_attr: [VipMap, net_ip_map, storage]} storage_mgmt_virtual_ip: {get_attr: [VipMap, net_ip_map, storage_mgmt]} @@ -961,49 +909,49 @@ outputs: value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]} KeystoneAdminVip: description: Keystone Admin VIP endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, KeystoneAdminApiNetwork]}]} PublicVip: description: Controller VIP for public API endpoints value: {get_attr: [VipMap, net_ip_map, external]} AodhInternalVip: description: VIP for Aodh API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, AodhApiNetwork]}]} CeilometerInternalVip: description: VIP for Ceilometer API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, CeilometerApiNetwork]}]} CinderInternalVip: description: VIP for Cinder API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, CinderApiNetwork]}]} GlanceInternalVip: description: VIP for Glance API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, GlanceApiNetwork]}]} GnocchiInternalVip: description: VIP for Gnocchi API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GnocchiApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, GnocchiApiNetwork]}]} HeatInternalVip: description: VIP for Heat API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, HeatApiNetwork]}]} IronicInternalVip: description: VIP for Ironic API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, IronicApiNetwork]}]} KeystoneInternalVip: description: VIP for Keystone API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, KeystonePublicApiNetwork]}]} ManilaInternalVip: description: VIP for Manila API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, ManilaApiNetwork]}]} NeutronInternalVip: description: VIP for Neutron API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, NeutronApiNetwork]}]} NovaInternalVip: description: VIP for Nova API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, NovaApiNetwork]}]} SaharaInternalVip: description: VIP for Sahara API internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, SaharaApiNetwork]}]} SwiftInternalVip: description: VIP for Swift Proxy internal endpoint - value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]} + value: {get_attr: [VipMap, net_ip_map, {get_attr: [ServiceNetMap, service_net_map, SwiftProxyNetwork]}]} EndpointMap: description: | Mapping of the resources with the needed info for their endpoints. diff --git a/puppet/all-nodes-config.yaml b/puppet/all-nodes-config.yaml index 793b17dd..6f13b74e 100644 --- a/puppet/all-nodes-config.yaml +++ b/puppet/all-nodes-config.yaml @@ -104,7 +104,7 @@ resources: list_join: - ',' - {get_param: controller_names} - rabbit_node_ips: &rabbit_nodes_array + rabbit_node_ips: str_replace: template: "['SERVERS_LIST']" params: @@ -112,6 +112,22 @@ resources: list_join: - "','" - {get_param: rabbit_node_ips} + rabbitmq_node_ips: &rabbit_nodes_array + str_replace: + template: "['SERVERS_LIST']" + params: + SERVERS_LIST: + list_join: + - "','" + - {get_param: rabbit_node_ips} + mongodb_node_ips: + str_replace: + template: "['SERVERS_LIST']" + params: + SERVERS_LIST: + list_join: + - "','" + - {get_param: mongo_node_ips} mongo_node_ips: str_replace: template: "['SERVERS_LIST']" @@ -128,6 +144,22 @@ resources: list_join: - "','" - {get_param: redis_node_ips} + memcached_node_ips: + str_replace: + template: "['SERVERS_LIST']" + params: + SERVERS_LIST: + list_join: + - "','" + - {get_param: memcache_node_ips} + memcached_node_ips_v6: + str_replace: + template: "['inet6:[SERVERS_LIST]']" + params: + SERVERS_LIST: + list_join: + - "]','inet6:[" + - {get_param: memcache_node_ips} memcache_node_ips: str_replace: template: "['SERVERS_LIST']" diff --git a/puppet/ceph-storage.yaml b/puppet/ceph-storage.yaml index ace9e151..659f2a67 100644 --- a/puppet/ceph-storage.yaml +++ b/puppet/ceph-storage.yaml @@ -71,7 +71,6 @@ parameters: constraints: - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE] CloudDomain: - default: '' type: string description: > The DNS domain used for the hosts. This should match the dhcp_domain @@ -237,8 +236,22 @@ resources: input_values: enable_package_install: {get_param: EnablePackageInstall} enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} - ceph_cluster_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]} - ceph_public_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]} + 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 @@ -257,7 +270,6 @@ resources: - ceph - all_nodes # provided by allNodesConfig - '"%{::osfamily}"' - - network merge_behavior: deeper datafiles: service_names: @@ -268,11 +280,6 @@ resources: map_replace: - {get_param: ServiceConfigSettings} - values: {get_attr: [NetIpMap, net_ip_map]} - network: - mapped_data: - net_ip_map: {get_attr: [NetIpMap, net_ip_map]} - net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]} - net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]} ceph_extraconfig: mapped_data: {get_param: CephStorageExtraConfig} extraconfig: diff --git a/puppet/cinder-storage.yaml b/puppet/cinder-storage.yaml index e4df6aed..30609f3d 100644 --- a/puppet/cinder-storage.yaml +++ b/puppet/cinder-storage.yaml @@ -73,7 +73,6 @@ parameters: constraints: - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE] CloudDomain: - default: '' type: string description: > The DNS domain used for the hosts. This should match the dhcp_domain @@ -243,7 +242,14 @@ resources: str_replace: template: "'IP'" params: - IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]} + IP: + get_attr: + - NetIpMap + - net_ip_map + - str_replace: + template: "NETWORK_uri" + params: + NETWORK: {get_param: [ServiceNetMap, CinderIscsiNetwork]} enable_package_install: {get_param: EnablePackageInstall} enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} @@ -264,7 +270,6 @@ resources: - volume - all_nodes # provided by allNodesConfig - '"%{::osfamily}"' - - network merge_behavior: deeper datafiles: service_names: @@ -275,11 +280,6 @@ resources: map_replace: - {get_param: ServiceConfigSettings} - values: {get_attr: [NetIpMap, net_ip_map]} - network: - mapped_data: - net_ip_map: {get_attr: [NetIpMap, net_ip_map]} - net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]} - net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]} volume_extraconfig: mapped_data: {get_param: BlockStorageExtraConfig} extraconfig: diff --git a/puppet/compute.yaml b/puppet/compute.yaml index e029c605..bd2eee18 100644 --- a/puppet/compute.yaml +++ b/puppet/compute.yaml @@ -4,36 +4,6 @@ description: > OpenStack hypervisor node configured via Puppet. parameters: - AdminPassword: - description: The password for the keystone admin account, used for monitoring, querying neutron etc. - type: string - hidden: true - CeilometerComputeAgent: - description: Indicates whether the Compute agent is present and expects nova-compute to be configured accordingly - type: string - default: '' - constraints: - - allowed_values: ['', Present] - CeilometerMeteringSecret: - description: Secret shared by the ceilometer services. - type: string - hidden: true - CeilometerPassword: - description: The password for the ceilometer service account. - type: string - hidden: true - CinderEnableNfsBackend: - default: false - description: Whether to enable or not the NFS backend for Cinder - type: boolean - CinderEnableRbdBackend: - default: false - description: Whether to enable or not the Rbd backend for Cinder - type: boolean - Debug: - default: '' - description: Set to True to enable debugging on all services. - type: string ExtraConfig: default: {} description: | @@ -46,9 +16,6 @@ parameters: type: string constraints: - custom_constraint: nova.flavor - GlanceHost: - type: string - default: '' # Has to be here because of the ignored empty value bug NovaImage: type: string default: overcloud-full @@ -64,16 +31,6 @@ parameters: default: default constraints: - custom_constraint: nova.keypair - KeystoneAdminApiVirtualIP: - type: string - default: '' - KeystonePublicApiVirtualIP: - type: string - default: '' - NeutronPassword: - description: The password for the neutron service account, used by neutron agents. - type: string - hidden: true NeutronPhysicalBridge: default: 'br-ex' description: An OVS bridge to create for accessing external networks. @@ -88,9 +45,6 @@ parameters: NovaApiHost: type: string default: '' # Has to be here because of the ignored empty value bug - NovaComputeDriver: - type: string - default: libvirt.LibvirtDriver NovaComputeExtraConfig: default: {} description: | @@ -100,61 +54,9 @@ parameters: NovaComputeIPs: default: {} type: json - NovaComputeLibvirtType: - type: string - default: kvm - NovaComputeLibvirtVifDriver: - default: '' - description: Libvirt VIF driver configuration for the network - type: string - NovaEnableRbdBackend: - default: false - description: Whether to enable or not the Rbd backend for Nova - type: boolean - NovaIPv6: - default: false - description: Enable IPv6 features in Nova - type: boolean - NovaPassword: - description: The password for the nova service account, used by nova-api. - type: string - hidden: true NovaPublicIP: type: string default: '' # Has to be here because of the ignored empty value bug - NovaOVSBridge: - default: 'br-int' - description: Name of integration bridge used by Open vSwitch - type: string - NovaSecurityGroupAPI: - default: 'neutron' - description: The full class name of the security API class - type: string - RabbitHost: - type: string - default: '' # Has to be here because of the ignored empty value bug - RabbitPassword: - description: The password for RabbitMQ - type: string - hidden: true - RabbitUserName: - default: guest - description: The username for RabbitMQ - type: string - RabbitClientUseSSL: - default: false - description: > - Rabbit client subscriber parameter to specify - an SSL connection to the RabbitMQ host. - type: string - RabbitClientPort: - default: 5672 - description: Set rabbit subscriber port, change this if using SSL - type: number - UpgradeLevelNovaCompute: - type: string - description: Nova Compute upgrade level - default: '' EnablePackageInstall: default: 'false' description: Set to true to enable package installation via Puppet @@ -195,7 +97,6 @@ parameters: constraints: - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE] CloudDomain: - default: '' type: string description: > The DNS domain used for the hosts. This should match the dhcp_domain @@ -370,7 +271,6 @@ resources: - ceph_cluster # provided by CephClusterConfig - all_nodes # provided by allNodesConfig - '"%{::osfamily}"' - - network - neutron_bigswitch_data # Optionally provided by ComputeExtraConfigPre - cisco_n1kv_data # Optionally provided by ComputeExtraConfigPre - nova_nuage_data # Optionally provided by ComputeExtraConfigPre @@ -390,66 +290,13 @@ resources: mapped_data: {get_param: NovaComputeExtraConfig} extraconfig: mapped_data: {get_param: ExtraConfig} - network: - mapped_data: - net_ip_map: {get_attr: [NetIpMap, net_ip_map]} - net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]} - net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]} compute: mapped_data: - cinder_enable_nfs_backend: {get_input: cinder_enable_nfs_backend} - nova::use_ipv6: {get_input: nova_ipv6} - nova::debug: {get_input: debug} - nova::rabbit_userid: {get_input: rabbit_username} - nova::rabbit_password: {get_input: rabbit_password} - nova::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} - nova::rabbit_port: {get_input: rabbit_client_port} - nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute} - nova_compute_driver: {get_input: nova_compute_driver} - # TODO(emilien): move libvirt & migration parameters in libvirt profile - # used to deploy libvirt/kvm dependencies: - nova::compute::libvirt::services::libvirt_virt_type: {get_input: nova_compute_libvirt_type} - # used to configured nova.conf: - nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type} - nova::compute::neutron::libvirt_vif_driver: {get_input: nova_compute_libvirt_vif_driver} nova_api_host: {get_input: nova_api_host} nova::compute::vncproxy_host: {get_input: nova_public_ip} - nova::compute::rbd::ephemeral_storage: {get_input: nova_enable_rbd_backend} - # TUNNELLED mode provides a security enhancement when using shared storage but is not - # supported when not using shared storage. - # See https://bugzilla.redhat.com/show_bug.cgi?id=1301986#c12 - # In future versions of QEMU (2.6, mostly), Dan's native encryption - # work will obsolete the need to use TUNNELLED transport mode. - nova::migration::live_migration_tunnelled: {get_input: nova_enable_rbd_backend} - rbd_persistent_storage: {get_input: cinder_enable_rbd_backend} - nova_password: {get_input: nova_password} nova::compute::vncserver_proxyclient_address: {get_input: nova_vnc_proxyclient_address} - nova::vncproxy::common::vncproxy_protocol: {get_input: nova_vncproxy_protocol} - nova::vncproxy::common::vncproxy_host: {get_input: nova_vncproxy_host} - nova::vncproxy::common::vncproxy_port: {get_input: nova_vncproxy_port} - nova::network::neutron::neutron_ovs_bridge: {get_input: nova_ovs_bridge} - nova::network::neutron::security_group_api: {get_input: nova_security_group_api} - ceilometer::debug: {get_input: debug} - ceilometer::rabbit_userid: {get_input: rabbit_username} - ceilometer::rabbit_password: {get_input: rabbit_password} - ceilometer::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} - ceilometer::rabbit_port: {get_input: rabbit_client_port} - ceilometer::telemetry_secret: {get_input: ceilometer_metering_secret} - ceilometer::agent::auth::auth_password: {get_input: ceilometer_password} - ceilometer::agent::auth::auth_url: {get_input: ceilometer_agent_auth_url} - nova::glance_api_servers: {get_input: glance_api_servers} - neutron::debug: {get_input: debug} - neutron::rabbit_password: {get_input: rabbit_password} - neutron::rabbit_user: {get_input: rabbit_username} - neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} - neutron::rabbit_port: {get_input: rabbit_client_port} neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip} - nova::network::neutron::neutron_password: {get_input: neutron_password} - nova::network::neutron::neutron_url: {get_input: neutron_internal_url} - nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url} - keystone_public_api_virtual_ip: {get_input: keystone_vip} - admin_password: {get_input: admin_password} tripleo::packages::enable_install: {get_input: enable_package_install} tripleo::packages::enable_upgrade: {get_input: enable_package_upgrade} @@ -461,45 +308,10 @@ resources: config: {get_resource: NovaComputeConfig} server: {get_resource: NovaCompute} input_values: - cinder_enable_nfs_backend: {get_param: CinderEnableNfsBackend} - debug: {get_param: Debug} - nova_compute_driver: {get_param: NovaComputeDriver} - nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType} - nova_compute_libvirt_vif_driver: {get_param: NovaComputeLibvirtVifDriver} nova_public_ip: {get_param: NovaPublicIP} nova_api_host: {get_param: NovaApiHost} - nova_password: {get_param: NovaPassword} - nova_enable_rbd_backend: {get_param: NovaEnableRbdBackend} - nova_ipv6: {get_param: NovaIPv6} - cinder_enable_rbd_backend: {get_param: CinderEnableRbdBackend} nova_vnc_proxyclient_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NovaVncProxyNetwork]}]} - nova_vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyPublic, protocol]} - # Remove brackets that may come if the IP address is IPv6. - # For DNS names and IPv4, this will just get the NovaVNCProxyPublic value - nova_vncproxy_host: - str_replace: - template: {get_param: [EndpointMap, NovaVNCProxyPublic, host]} - params: - '[': '' - ']': '' - nova_vncproxy_port: {get_param: [EndpointMap, NovaVNCProxyPublic, port]} - nova_ovs_bridge: {get_param: NovaOVSBridge} - nova_security_group_api: {get_param: NovaSecurityGroupAPI} - upgrade_level_nova_compute: {get_param: UpgradeLevelNovaCompute} - ceilometer_metering_secret: {get_param: CeilometerMeteringSecret} - ceilometer_password: {get_param: CeilometerPassword} - ceilometer_agent_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]} - glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]} neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]} - neutron_password: {get_param: NeutronPassword} - neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]} - neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]} - keystone_vip: {get_param: KeystonePublicApiVirtualIP} - admin_password: {get_param: AdminPassword} - rabbit_username: {get_param: RabbitUserName} - rabbit_password: {get_param: RabbitPassword} - rabbit_client_use_ssl: {get_param: RabbitClientUseSSL} - rabbit_client_port: {get_param: RabbitClientPort} enable_package_install: {get_param: EnablePackageInstall} enable_package_upgrade: {get_attr: [UpdateDeployment, update_managed_packages]} diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 5734ce0a..801b99ba 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -137,10 +137,6 @@ parameters: type: string constraints: - custom_constraint: nova.keypair - KeystoneRegion: - type: string - default: 'regionOne' - description: Keystone region for endpoint ManageFirewall: default: false description: Whether to manage IPtables rules. @@ -301,7 +297,6 @@ parameters: constraints: - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE] CloudDomain: - default: '' type: string description: > The DNS domain used for the hosts. This should match the dhcp_domain @@ -525,9 +520,6 @@ resources: - '@' - {get_param: RedisVirtualIPUri} - ':6379/' - gnocchi_internal_url: {get_param: [EndpointMap, GnocchiInternal, uri]} - gnocchi_public_url: { get_param: [ EndpointMap, GnocchiPublic, uri ] } - gnocchi_admin_url: { get_param: [ EndpointMap, GnocchiAdmin, uri ] } nova_enable_db_purge: {get_param: NovaEnableDBPurge} nova_ipv6: {get_param: NovaIPv6} corosync_ipv6: {get_param: CorosyncIPv6} @@ -553,7 +545,14 @@ resources: str_replace: template: "'IP'" params: - IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]} + IP: + get_attr: + - NetIpMap + - net_ip_map + - str_replace: + template: "NETWORK_uri" + params: + NETWORK: {get_param: [ServiceNetMap, CinderIscsiNetwork]} cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]} 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]}]} @@ -561,9 +560,8 @@ resources: 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]}]} - keystone_region: {get_param: KeystoneRegion} 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]}]} + 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]}]} @@ -576,16 +574,37 @@ resources: str_replace: template: "['SUBNET']" params: - SUBNET: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, HorizonNetwork]}]} - rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]} + SUBNET: + get_attr: + - NetIpMap + - net_ip_map + - str_replace: + template: "NETWORK_subnet" + params: + NETWORK: {get_param: [ServiceNetMap, HorizonNetwork]} + rabbitmq_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, RabbitmqNetwork]}]} 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]}]} mysql_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]} mysql_virtual_ip: {get_param: MysqlVirtualIP} - ceph_cluster_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephClusterNetwork]}]} - ceph_public_network: {get_attr: [NetIpMap, net_ip_subnet_map, {get_param: [ServiceNetMap, CephPublicNetwork]}]} + 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]}]} @@ -611,7 +630,6 @@ resources: - all_nodes # provided by allNodesConfig - vip_data # provided by vip-config - '"%{::osfamily}"' - - network - cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre - cinder_netapp_data # Optionally provided by ControllerExtraConfigPre - cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre @@ -636,11 +654,6 @@ resources: - {get_param: ControllerExtraConfig} extraconfig: mapped_data: {get_param: ExtraConfig} - network: - mapped_data: - net_ip_map: {get_attr: [NetIpMap, net_ip_map]} - net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]} - net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]} ceph: mapped_data: ceph::profile::params::cluster_network: {get_input: ceph_cluster_network} @@ -720,10 +733,6 @@ resources: 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} - gnocchi::keystone::auth::public_url: {get_input: gnocchi_public_url } - gnocchi::keystone::auth::internal_url: {get_input: gnocchi_internal_url } - gnocchi::keystone::auth::admin_url: {get_input: gnocchi_admin_url } - gnocchi::keystone::auth::region: {get_input: keystone_region} # Nova nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute} @@ -892,14 +901,28 @@ outputs: str_replace: template: 'r1z1-IP:%PORT%/d1' params: - IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]} + IP: + get_attr: + - NetIpMap + - net_ip_map + - str_replace: + template: "NETWORK_uri" + params: + NETWORK: {get_param: [ServiceNetMap, SwiftMgmtNetwork]} swift_proxy_memcache: description: Swift proxy-memcache value value: str_replace: template: "IP:11211" params: - IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, MemcachedNetwork]}]} + IP: + get_attr: + - NetIpMap + - net_ip_map + - str_replace: + template: "NETWORK_uri" + params: + NETWORK: {get_param: [ServiceNetMap, MemcachedNetwork]} tls_key_modulus_md5: description: MD5 checksum of the TLS Key Modulus value: {get_attr: [NodeTLSData, key_modulus_md5]} diff --git a/puppet/services/aodh-base.yaml b/puppet/services/aodh-base.yaml index 30c3f416..6a9f5d75 100644 --- a/puppet/services/aodh-base.yaml +++ b/puppet/services/aodh-base.yaml @@ -85,7 +85,7 @@ outputs: aodh::keystone::auth::tenant: 'service' aodh::db::mysql::user: aodh aodh::db::mysql::password: {get_param: AodhPassword} - aodh::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + aodh::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} aodh::db::mysql::dbname: aodh aodh::db::mysql::allowed_hosts: - '%' diff --git a/puppet/services/ceilometer-base.yaml b/puppet/services/ceilometer-base.yaml index 5342cefb..59b4cc2a 100644 --- a/puppet/services/ceilometer-base.yaml +++ b/puppet/services/ceilometer-base.yaml @@ -35,6 +35,10 @@ parameters: default: false description: Whether to store events in ceilometer. type: boolean + Debug: + default: '' + description: Set to True to enable debugging on all services. + type: string KeystoneRegion: type: string default: 'regionOne' @@ -64,6 +68,7 @@ outputs: value: service_name: ceilometer_base config_settings: + ceilometer::debug: {get_param: Debug} ceilometer::db::database_connection: list_join: - '' @@ -103,7 +108,7 @@ outputs: ceilometer::rabbit_use_ssl: {get_param: RabbitClientUseSSL} ceilometer::rabbit_port: {get_param: RabbitClientPort} ceilometer::db::mysql::user: ceilometer - ceilometer::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + ceilometer::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} ceilometer::db::mysql::dbname: ceilometer ceilometer::db::mysql::allowed_hosts: - '%' @@ -111,3 +116,4 @@ outputs: ceilometer::rabbit_heartbeat_timeout_threshold: 60 ceilometer::db::database_db_max_retries: -1 ceilometer::db::database_max_retries: -1 + ceilometer::telemetry_secret: {get_param: CeilometerMeteringSecret} diff --git a/puppet/services/ceph-mon.yaml b/puppet/services/ceph-mon.yaml index 074d941d..28c3e5df 100644 --- a/puppet/services/ceph-mon.yaml +++ b/puppet/services/ceph-mon.yaml @@ -38,7 +38,7 @@ parameters: { "volumes": { "size": 5, - "pg_num: 128, + "pg_num": 128, "pgp_num": 128 } } diff --git a/puppet/services/cinder-backup.yaml b/puppet/services/cinder-backup.yaml new file mode 100644 index 00000000..25e82c87 --- /dev/null +++ b/puppet/services/cinder-backup.yaml @@ -0,0 +1,47 @@ +heat_template_version: 2016-04-08 + +description: > + OpenStack Cinder Backup service configured with Puppet + +parameters: + CinderBackupBackend: + default: swift + description: The short name of the Cinder Backup backend to use. + type: string + constraints: + - allowed_values: ['swift', 'ceph'] + CinderBackupRbdPoolName: + default: backups + type: string + CephClientUserName: + default: openstack + type: string + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + +resources: + + CinderBase: + type: ./cinder-base.yaml + properties: + EndpointMap: {get_param: EndpointMap} + +outputs: + role_data: + description: Role data for the Cinder Backup role. + value: + service_name: cinder_backup + config_settings: + map_merge: + - get_attr: [CinderBase, role_data, config_settings] + - cinder::backup::ceph::backup_ceph_user: {get_param: CephClientUserName} + cinder::backup::ceph::backup_ceph_pool: {get_param: CinderBackupRbdPoolName} + cinder::backup::swift::backup_swift_container: volumebackups + step_config: + str_replace: + template: "include ::tripleo::profile::base::cinder::backup::DRIVER" + params: + DRIVER: {get_param: CinderBackupBackend} diff --git a/puppet/services/cinder-base.yaml b/puppet/services/cinder-base.yaml index f5d98afa..c554bf97 100644 --- a/puppet/services/cinder-base.yaml +++ b/puppet/services/cinder-base.yaml @@ -58,7 +58,7 @@ outputs: cinder::rabbit_password: {get_param: RabbitPassword} cinder::rabbit_port: {get_param: RabbitClientPort} cinder::db::mysql::user: cinder - cinder::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + cinder::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} cinder::db::mysql::dbname: cinder cinder::db::mysql::allowed_hosts: - '%' diff --git a/puppet/services/glance-registry.yaml b/puppet/services/glance-registry.yaml index 40d18191..ca10fd12 100644 --- a/puppet/services/glance-registry.yaml +++ b/puppet/services/glance-registry.yaml @@ -45,7 +45,7 @@ outputs: glance::registry::debug: {get_param: Debug} glance::registry::workers: {get_param: GlanceWorkers} glance::db::mysql::user: glance - glance::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + glance::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} glance::db::mysql::dbname: glance glance::db::mysql::allowed_hosts: - '%' diff --git a/puppet/services/gnocchi-api.yaml b/puppet/services/gnocchi-api.yaml index d97626a6..265cb9f0 100644 --- a/puppet/services/gnocchi-api.yaml +++ b/puppet/services/gnocchi-api.yaml @@ -9,6 +9,14 @@ parameters: description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + GnocchiPassword: + description: The password for the gnocchi service and db account. + type: string + hidden: true + KeystoneRegion: + type: string + default: 'regionOne' + description: Keystone region for endpoint resources: GnocchiServiceBase: @@ -29,6 +37,12 @@ outputs: dport: - 8041 - 13041 - - gnocchi::api::keystone_tenant: 'service' + gnocchi::api::keystone_tenant: 'service' + gnocchi::keystone::auth::tenant: 'service' + gnocchi::keystone::auth::region: {get_param: KeystoneRegion} + gnocchi::keystone::auth::password: {get_param: GnocchiPassword} + gnocchi::keystone::auth::public_url: { get_param: [ EndpointMap, GnocchiPublic, uri ] } + gnocchi::keystone::auth::internal_url: {get_param: [EndpointMap, GnocchiInternal, uri]} + gnocchi::keystone::auth::admin_url: { get_param: [ EndpointMap, GnocchiAdmin, uri ] } step_config: | include ::tripleo::profile::base::gnocchi::api diff --git a/puppet/services/gnocchi-base.yaml b/puppet/services/gnocchi-base.yaml index a408d5d7..a072e8ef 100644 --- a/puppet/services/gnocchi-base.yaml +++ b/puppet/services/gnocchi-base.yaml @@ -34,6 +34,10 @@ parameters: type: string default: 'regionOne' description: Keystone region for endpoint + RedisPassword: + description: The password for the redis service account. + type: string + hidden: true outputs: aux_parameters: @@ -56,9 +60,6 @@ outputs: - '@' - {get_param: [EndpointMap, MysqlInternal, host]} - '/gnocchi' - gnocchi::keystone::auth::region: {get_param: KeystoneRegion} - gnocchi::keystone::auth::tenant: 'service' - gnocchi::keystone::auth::password: {get_param: GnocchiPassword} gnocchi::db::mysql::password: {get_param: GnocchiPassword} gnocchi::db::sync::extra_opts: '--skip-storage --create-legacy-resource-types' #Gnocchi API @@ -66,9 +67,16 @@ outputs: gnocchi::api::manage_service: false gnocchi::api::enabled: true gnocchi::api::service_name: 'httpd' - gnocchi::api::keystone_tenant: 'service' gnocchi::api::keystone_password: {get_param: GnocchiPassword} gnocchi::wsgi::apache::ssl: false + gnocchi::storage::coordination_url: + list_join: + - '' + - - 'redis://:' + - {get_param: RedisPassword} + - '@' + - "%{hiera('redis_vip')}" + - ':6379/' gnocchi::storage::swift::swift_user: 'service:gnocchi' gnocchi::storage::swift::swift_auth_version: 2 gnocchi::storage::swift::swift_key: {get_param: GnocchiPassword} @@ -89,7 +97,7 @@ outputs: gnocchi::statsd::flush_delay: 10 gnocchi::statsd::archive_policy_name: 'low' gnocchi::db::mysql::user: gnocchi - gnocchi::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + gnocchi::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} gnocchi::db::mysql::dbname: gnocchi gnocchi::db::mysql::allowed_hosts: - '%' diff --git a/puppet/services/heat-engine.yaml b/puppet/services/heat-engine.yaml index 13555a62..044ca880 100644 --- a/puppet/services/heat-engine.yaml +++ b/puppet/services/heat-engine.yaml @@ -58,7 +58,7 @@ outputs: heat::db::mysql::password: {get_param: HeatPassword} heat::keystone::domain::domain_password: {get_param: HeatStackDomainAdminPassword} heat::db::mysql::user: heat - heat::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + heat::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} heat::db::mysql::dbname: heat heat::db::mysql::allowed_hosts: - '%' diff --git a/puppet/services/ironic-base.yaml b/puppet/services/ironic-base.yaml index 1e211c44..ea7e7ee3 100644 --- a/puppet/services/ironic-base.yaml +++ b/puppet/services/ironic-base.yaml @@ -58,7 +58,7 @@ outputs: ironic::rabbit_use_ssl: {get_param: RabbitClientUseSSL} ironic::db::mysql::password: {get_param: IronicPassword} ironic::db::mysql::user: ironic - ironic::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + ironic::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} ironic::db::mysql::dbname: ironic ironic::db::mysql::allowed_hosts: - '%' diff --git a/puppet/services/keystone.yaml b/puppet/services/keystone.yaml index d45ed86e..988c80ce 100644 --- a/puppet/services/keystone.yaml +++ b/puppet/services/keystone.yaml @@ -112,7 +112,7 @@ outputs: keystone_enable_db_purge: {get_param: KeystoneEnableDBPurge} keystone::public_endpoint: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]} keystone::db::mysql::user: keystone - keystone::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + keystone::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} keystone::db::mysql::dbname: keystone keystone::db::mysql::allowed_hosts: - '%' diff --git a/puppet/services/manila-base.yaml b/puppet/services/manila-base.yaml index c156379b..663a9345 100644 --- a/puppet/services/manila-base.yaml +++ b/puppet/services/manila-base.yaml @@ -93,7 +93,7 @@ outputs: manila::rabbit_port: {get_param: RabbitClientPort} manila::debug: {get_param: Debug} manila::db::mysql::user: manila - manila::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + manila::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} manila::db::mysql::dbname: manila manila::db::database_db_max_retries: -1 manila::db::database_max_retries: -1 diff --git a/puppet/services/neutron-base.yaml b/puppet/services/neutron-base.yaml index f6339c83..bc8dd8d1 100644 --- a/puppet/services/neutron-base.yaml +++ b/puppet/services/neutron-base.yaml @@ -42,6 +42,12 @@ parameters: type: string default: '' description: Set to True to enable debugging on all services. + EnableConfigPurge: + type: boolean + default: true + description: > + Remove configuration that is not generated by TripleO. Setting + to false may result in configuration remnants after updates/upgrades. outputs: role_data: @@ -61,6 +67,7 @@ outputs: params: PLUGINS: {get_param: NeutronServicePlugins} neutron::debug: {get_param: Debug} + neutron::purge_config: {get_param: EnableConfigPurge} neutron::allow_overlapping_ips: true neutron::rabbit_heartbeat_timeout_threshold: 60 neutron::host: '"%{::fqdn}"' #NOTE: extra quoting is needed diff --git a/puppet/services/neutron-ovs-agent.yaml b/puppet/services/neutron-ovs-agent.yaml index 7a97cd84..d52b8a26 100644 --- a/puppet/services/neutron-ovs-agent.yaml +++ b/puppet/services/neutron-ovs-agent.yaml @@ -9,9 +9,6 @@ parameters: description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json - NeutronEnableTunnelling: - type: string - default: "True" NeutronEnableL2Pop: type: string description: > @@ -56,7 +53,6 @@ outputs: config_settings: map_merge: - get_attr: [NeutronBase, role_data, config_settings] - neutron::agents::ml2::ovs::enable_tunneling: {get_param: NeutronEnableTunnelling} neutron::agents::ml2::ovs::l2_population: {get_param: NeutronEnableL2Pop} neutron::agents::ml2::ovs::enable_distributed_routing: {get_param: NeutronEnableDVR} neutron::agents::ml2::ovs::bridge_mappings: diff --git a/puppet/services/neutron-server.yaml b/puppet/services/neutron-server.yaml index cd602e6e..c40b37b0 100644 --- a/puppet/services/neutron-server.yaml +++ b/puppet/services/neutron-server.yaml @@ -82,7 +82,7 @@ outputs: neutron::server::sync_db: true neutron::db::mysql::password: {get_param: NeutronPassword} neutron::db::mysql::user: neutron - neutron::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + neutron::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} neutron::db::mysql::dbname: ovs_neutron neutron::db::mysql::allowed_hosts: - '%' diff --git a/puppet/services/nova-base.yaml b/puppet/services/nova-base.yaml index 5bc94b2b..9b1b0760 100644 --- a/puppet/services/nova-base.yaml +++ b/puppet/services/nova-base.yaml @@ -17,6 +17,10 @@ parameters: description: The password for the neutron service and db account, used by neutron agents. type: string hidden: true + NovaOVSBridge: + default: 'br-int' + description: Name of integration bridge used by Open vSwitch + type: string RabbitPassword: description: The password for RabbitMQ type: string @@ -39,6 +43,20 @@ parameters: type: string default: '' description: Set to True to enable debugging on all services. + EnableConfigPurge: + type: boolean + default: true + description: > + Remove configuration that is not generated by TripleO. Setting + to false may result in configuration remnants after updates/upgrades. + NovaIPv6: + default: false + description: Enable IPv6 features in Nova + type: boolean + UpgradeLevelNovaCompute: + type: string + description: Nova Compute upgrade level + default: '' outputs: role_data: @@ -47,7 +65,7 @@ outputs: service_name: nova_base config_settings: nova::rabbit_password: {get_param: RabbitPassword} - nova::rabbit_user: {get_param: RabbitUserName} + nova::rabbit_userid: {get_param: RabbitUserName} nova::rabbit_use_ssl: {get_param: RabbitClientUseSSL} nova::rabbit_port: {get_param: RabbitClientPort} nova::database_connection: @@ -70,19 +88,20 @@ outputs: - '/nova_api' nova::db::mysql::password: {get_input: nova_password} nova::db::mysql::user: nova - nova::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + nova::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} nova::db::mysql::dbname: nova nova::db::mysql::allowed_hosts: - '%' - "%{hiera('mysql_bind_host')}" nova::db::mysql_api::password: {get_input: nova_password} nova::db::mysql_api::user: nova_api - nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} nova::db::mysql_api::dbname: nova_api nova::db::mysql_api::allowed_hosts: - '%' - "%{hiera('mysql_bind_host')}" nova::debug: {get_param: Debug} + nova::purge_config: {get_param: EnableConfigPurge} nova::network::neutron::neutron_project_name: 'service' nova::network::neutron::neutron_username: 'neutron' nova::network::neutron::dhcp_domain: '' @@ -96,16 +115,20 @@ outputs: nova::notification_driver: messagingv2 nova::network::neutron::neutron_auth_type: 'v3password' nova::db::mysql::user: nova - nova::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + nova::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} nova::db::mysql::dbname: nova nova::db::mysql::allowed_hosts: - '%' - "%{hiera('mysql_bind_host')}" nova::db::mysql_api::user: nova_api - nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + nova::db::mysql_api::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} nova::db::mysql_api::dbname: nova_api nova::db::mysql_api::allowed_hosts: - '%' - "%{hiera('mysql_bind_host')}" nova::db::database_db_max_retries: -1 nova::db::database_max_retries: -1 + nova::glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]} + nova::use_ipv6: {get_param: NovaIPv6} + nova::upgrade_level_compute: {get_param: UpgradeLevelNovaCompute} + nova::network::neutron::neutron_ovs_bridge: {get_param: NovaOVSBridge} diff --git a/puppet/services/nova-compute.yaml b/puppet/services/nova-compute.yaml index bcc3a232..19f1f02a 100644 --- a/puppet/services/nova-compute.yaml +++ b/puppet/services/nova-compute.yaml @@ -15,6 +15,22 @@ parameters: CephClientUserName: default: openstack type: string + CinderEnableNfsBackend: + default: false + description: Whether to enable or not the NFS backend for Cinder + type: boolean + CinderEnableRbdBackend: + default: false + description: Whether to enable or not the Rbd backend for Cinder + type: boolean + NovaEnableRbdBackend: + default: false + description: Whether to enable or not the Rbd backend for Nova + type: boolean + NovaComputeLibvirtVifDriver: + default: '' + description: Libvirt VIF driver configuration for the network + type: string resources: NovaBase: @@ -37,6 +53,8 @@ outputs: tripleo::profile::base::nova::nova_compute_enabled: true nova::compute::rbd::libvirt_images_rbd_pool: {get_param: NovaRbdPoolName} nova::compute::rbd::libvirt_rbd_user: {get_param: CephClientUserName} + tripleo::profile::base::nova::compute::cinder_nfs_backend: {get_param: CinderEnableNfsBackend} + rbd_persistent_storage: {get_param: CinderEnableRbdBackend} nova::compute::rbd::rbd_keyring: list_join: - '.' @@ -45,13 +63,23 @@ outputs: nova::compute::rbd::libvirt_rbd_secret_uuid: '"%{hiera(\"ceph::profile::params::fsid\")}"' nova::compute::instance_usage_audit: true nova::compute::instance_usage_audit_period: 'hour' + nova::compute::rbd::ephemeral_storage: {get_param: NovaEnableRbdBackend} + # TUNNELLED mode provides a security enhancement when using shared + # storage but is not supported when not using shared storage. + # See https://bugzilla.redhat.com/show_bug.cgi?id=1301986#c12 + # In future versions of QEMU (2.6, mostly), danpb's native + # encryption work will obsolete the need to use TUNNELLED transport + # mode. + nova::migration::live_migration_tunnelled: {get_param: NovaEnableRbdBackend} # Changing the default from 512MB. The current templates can not deploy # overclouds with swap. On an idle compute node, we see ~1024MB of RAM # used. 2048 is suggested to account for other possible operations for # example openvswitch. nova::compute::reserved_host_memory: 2048 + nova::compute::neutron::libvirt_vif_driver: {get_param: NovaComputeLibvirtVifDriver} + step_config: | # TODO(emilien): figure how to deal with libvirt profile. - # We'll probably threat it like we do with Neutron plugins. + # We'll probably treat it like we do with Neutron plugins. # Until then, just include it in the default nova-compute role. include tripleo::profile::base::nova::compute::libvirt diff --git a/puppet/services/nova-libvirt.yaml b/puppet/services/nova-libvirt.yaml index 939b6a09..d283de4f 100644 --- a/puppet/services/nova-libvirt.yaml +++ b/puppet/services/nova-libvirt.yaml @@ -9,6 +9,9 @@ parameters: description: Mapping of service endpoint -> protocol. Typically set via parameter_defaults in the resource registry. type: json + NovaComputeLibvirtType: + type: string + default: kvm resources: NovaBase: @@ -30,5 +33,8 @@ outputs: nova::compute::libvirt::migration_support: false tripleo::profile::base::nova::manage_migration: true tripleo::profile::base::nova::libvirt_enabled: true + nova::compute::libvirt::services::libvirt_virt_type: {get_param: NovaComputeLibvirtType} + nova::compute::libvirt::libvirt_virt_type: {get_param: NovaComputeLibvirtType} + step_config: | include tripleo::profile::base::nova::libvirt diff --git a/puppet/services/nova-vncproxy.yaml b/puppet/services/nova-vncproxy.yaml index 0b9cef38..a1517011 100644 --- a/puppet/services/nova-vncproxy.yaml +++ b/puppet/services/nova-vncproxy.yaml @@ -25,5 +25,15 @@ outputs: map_merge: - get_attr: [NovaBase, role_data, config_settings] - nova::vncproxy::enabled: true + nova::vncproxy::common::vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyPublic, protocol]} + # Remove brackets that may come if the IP address is IPv6. + # For DNS names and IPv4, this will just get NovaVNCProxyPublic + nova::vncproxy::common::vncproxy_host: + str_replace: + template: {get_param: [EndpointMap, NovaVNCProxyPublic, host]} + params: + '[': '' + ']': '' + nova::vncproxy::common::vncproxy_port: {get_param: [EndpointMap, NovaVNCProxyPublic, port]} step_config: | include tripleo::profile::base::nova::vncproxy diff --git a/puppet/services/pacemaker/cinder-backup.yaml b/puppet/services/pacemaker/cinder-backup.yaml new file mode 100644 index 00000000..706717e4 --- /dev/null +++ b/puppet/services/pacemaker/cinder-backup.yaml @@ -0,0 +1,49 @@ +heat_template_version: 2016-04-08 + +description: > + OpenStack Cinder Backup service with Pacemaker configured with Puppet + +parameters: + CinderBackupBackend: + default: swift + description: The short name of the Cinder Backup backend to use. + type: string + constraints: + - allowed_values: ['swift', 'ceph'] + CinderBackupRbdPoolName: + default: backups + type: string + CephClientUserName: + default: openstack + type: string + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + +resources: + + CinderBackupBase: + type: ../cinder-backup.yaml + properties: + EndpointMap: {get_param: EndpointMap} + CinderBackupBackend: {get_param: CinderBackupBackend} + CinderBackupRbdPoolName: {get_param: CinderBackupRbdPoolName} + CephClientUserName: {get_param: CephClientUserName} + +outputs: + role_data: + description: Role data for the Cinder Backup role. + value: + service_name: cinder_backup + config_settings: + map_merge: + - get_attr: [CinderBackupBase, role_data, config_settings] + - cinder::backup::manage_service: false + cinder::backup::enabled: false + step_config: + list_join: + - "\n" + - - get_attr: [CinderBackupBase, role_data, step_config] + - "include ::tripleo::profile::pacemaker::cinder::backup" diff --git a/puppet/services/sahara-base.yaml b/puppet/services/sahara-base.yaml index 7ec44a49..cac89e32 100644 --- a/puppet/services/sahara-base.yaml +++ b/puppet/services/sahara-base.yaml @@ -53,7 +53,7 @@ outputs: - '/sahara' sahara::db::mysql::password: {get_param: SaharaPassword} sahara::db::mysql::user: sahara - sahara::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]} + sahara::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]} sahara::db::mysql::dbname: sahara sahara::db::mysql::allowed_hosts: - '%' @@ -68,8 +68,8 @@ outputs: sahara::identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] } sahara::use_neutron: true sahara::plugins: + - ambari - cdh - - hdp - mapr - vanilla - spark diff --git a/puppet/swift-storage.yaml b/puppet/swift-storage.yaml index 3553f77a..e55199c2 100644 --- a/puppet/swift-storage.yaml +++ b/puppet/swift-storage.yaml @@ -78,7 +78,6 @@ parameters: constraints: - allowed_values: [POLL_SERVER_CFN, POLL_SERVER_HEAT, POLL_TEMP_URL, ZAQAR_MESSAGE] CloudDomain: - default: '' type: string description: > The DNS domain used for the hosts. This should match the dhcp_domain @@ -251,7 +250,6 @@ resources: - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig - all_nodes # provided by allNodesConfig - '"%{::osfamily}"' - - network merge_behavior: deeper datafiles: service_names: @@ -262,11 +260,6 @@ resources: map_replace: - {get_param: ServiceConfigSettings} - values: {get_attr: [NetIpMap, net_ip_map]} - network: - mapped_data: - net_ip_map: {get_attr: [NetIpMap, net_ip_map]} - net_ip_subnet_map: {get_attr: [NetIpMap, net_ip_subnet_map]} - net_ip_uri_map: {get_attr: [NetIpMap, net_ip_uri_map]} object_extraconfig: mapped_data: {get_param: ObjectStorageExtraConfig} extraconfig: @@ -392,7 +385,14 @@ outputs: str_replace: template: 'r1z1-IP:%PORT%/d1' params: - IP: {get_attr: [NetIpMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]} + IP: + get_attr: + - NetIpMap + - net_ip_map + - str_replace: + template: "NETWORK_uri" + params: + NETWORK: {get_param: [ServiceNetMap, SwiftMgmtNetwork]} external_ip_address: description: IP address of the server in the external network value: {get_attr: [ExternalPort, ip_address]} |