From ff86a856a61ef2d177e05cb5a26d87f7d5741c78 Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Tue, 4 Oct 2016 15:52:19 +0100 Subject: j2 template per-role ServiceNetMapDefaults The *HostnameResolveNetwork should default to a sane value for all roles, including those specified by the user. We choose internal_api by default (maintaining the existing special-case for the CephStorage role which uses the storage network), but users can of course override the default with a network of their choice. Change-Id: Ib240f56c1db5842b953fa510316e75fd53f24735 Closes-Bug: #1629827 --- network/service_net_map.j2.yaml | 101 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 network/service_net_map.j2.yaml (limited to 'network/service_net_map.j2.yaml') diff --git a/network/service_net_map.j2.yaml b/network/service_net_map.j2.yaml new file mode 100644 index 00000000..2f78133b --- /dev/null +++ b/network/service_net_map.j2.yaml @@ -0,0 +1,101 @@ +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: + ApacheNetwork: internal_api + 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: ctlplane + IronicNetwork: ctlplane + KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints + KeystonePublicApiNetwork: internal_api + ManilaApiNetwork: internal_api + NeutronApiNetwork: internal_api + HeatApiNetwork: internal_api + HeatApiCfnNetwork: internal_api + HeatApiCloudwatchNetwork: internal_api + NovaApiNetwork: internal_api + NovaMetadataNetwork: internal_api + NovaVncProxyNetwork: internal_api + SwiftStorageNetwork: 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 + CephMonNetwork: storage + CephRgwNetwork: storage + PublicNetwork: external + OpenDaylightApiNetwork: internal_api + # We special-case the default ResolveNetwork for the CephStorage role + # for backwards compatibility, all other roles default to internal_api + CephStorageHostnameResolveNetwork: storage +{% for role in roles if role.name != 'CephStorage' %} + {{role.name}}HostnameResolveNetwork: internal_api +{% endfor %} + 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 + CephPublicNetwork: CephMonNetwork + SwiftMgmtNetwork: SwiftStorageNetwork + 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} -- cgit 1.2.3-korg