heat_template_version: pike 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. Note that the key in this map must match the service_name in the service template, e.g if the service_name is heat_api the key must be either heat_api_network, or optionally HeatApiNetwork (which will be internally converted to transform captalization to underscores). default: {} type: json # Note that the key in this map must match the service_name # see the description above about conversion from CamelCase to # snake_case - the names must still match when converted ServiceNetMapDefaults: default: # Note the values in this map are replaced by *NetName # to allow for sane defaults when the network names are # overridden. ApacheNetwork: internal_api NeutronTenantNetwork: tenant CeilometerApiNetwork: internal_api ContrailAnalyticsNetwork: internal_api ContrailAnalyticsDatabaseNetwork: internal_api ContrailConfigNetwork: internal_api ContrailControlNetwork: internal_api ContrailDatabaseNetwork: internal_api ContrailWebuiNetwork: internal_api ContrailTsnNetwork: internal_api AodhApiNetwork: internal_api PankoApiNetwork: internal_api BarbicanApiNetwork: internal_api GnocchiApiNetwork: internal_api MongodbNetwork: internal_api CinderApiNetwork: internal_api CinderIscsiNetwork: storage CongressApiNetwork: internal_api GlanceApiNetwork: internal_api IronicApiNetwork: ctlplane IronicNetwork: ctlplane IronicInspectorNetwork: ctlplane KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints KeystonePublicApiNetwork: internal_api ManilaApiNetwork: internal_api NeutronApiNetwork: internal_api OctaviaApiNetwork: internal_api HeatApiNetwork: internal_api HeatApiCfnNetwork: internal_api HeatApiCloudwatchNetwork: internal_api NovaApiNetwork: internal_api NovaColdMigrationNetwork: ctlplane NovaPlacementNetwork: internal_api NovaMetadataNetwork: internal_api NovaVncProxyNetwork: internal_api NovaLibvirtNetwork: internal_api Ec2ApiNetwork: internal_api Ec2ApiMetadataNetwork: internal_api TackerApiNetwork: internal_api SwiftStorageNetwork: storage_mgmt SwiftProxyNetwork: storage SaharaApiNetwork: internal_api HorizonNetwork: internal_api MemcachedNetwork: internal_api RabbitmqNetwork: internal_api QdrNetwork: internal_api RedisNetwork: internal_api MysqlNetwork: internal_api CephClusterNetwork: storage_mgmt CephMonNetwork: storage CephRgwNetwork: storage PublicNetwork: external OpendaylightApiNetwork: internal_api OvnDbsNetwork: internal_api MistralApiNetwork: internal_api ZaqarApiNetwork: internal_api PacemakerRemoteNetwork: internal_api # We special-case the default ResolveNetwork for the CephStorage role # for backwards compatibility, all other roles default to internal_api CephStorageHostnameResolveNetwork: storage EtcdNetwork: internal_api {% 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 InternalApiNetName: default: internal_api description: The name of the internal API network. type: string ExternalNetName: default: external description: The name of the external network. type: string ManagementNetName: default: management description: The name of the management network. type: string StorageNetName: default: storage description: The name of the storage network. type: string StorageMgmtNetName: default: storage_mgmt description: The name of the Storage management network. type: string TenantNetName: default: tenant description: The name of the tenant network. type: string parameter_groups: - label: deprecated description: Do not use deprecated params, they will be removed. parameters: - ServiceNetMapDeprecatedMapping resources: ServiceNetMapValue: type: OS::Heat::Value properties: type: json value: map_merge: - map_replace: - {get_param: ServiceNetMapDefaults} - values: external: {get_param: ExternalNetName} internal_api: {get_param: InternalApiNetName} storage: {get_param: StorageNetName} storage_mgmt: {get_param: StorageMgmtNetName} tenant: {get_param: TenantNetName} management: {get_param: ManagementNetName} - map_replace: - {get_param: ServiceNetMap} - keys: {get_param: ServiceNetMapDeprecatedMapping} outputs: service_net_map: value: {get_attr: [ServiceNetMapValue, value]} 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: {get_attr: [ServiceNetMapValue, value]}