aboutsummaryrefslogtreecommitdiffstats
path: root/network/service_net_map.yaml
blob: 5d3f087d0075ca9f6e3eb7cd54d104da9bfa5f18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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
      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
      ControllerHostnameResolveNetwork: internal_api
      ComputeHostnameResolveNetwork: internal_api
      BlockStorageHostnameResolveNetwork: internal_api
      ObjectStorageHostnameResolveNetwork: internal_api
      CephStorageHostnameResolveNetwork: storage
      PublicNetwork: external
      OpenDaylightApiNetwork: internal_api
    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}