summaryrefslogtreecommitdiffstats
path: root/network/ports/net_ip_list_map.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'network/ports/net_ip_list_map.yaml')
-rw-r--r--network/ports/net_ip_list_map.yaml204
1 files changed, 0 insertions, 204 deletions
diff --git a/network/ports/net_ip_list_map.yaml b/network/ports/net_ip_list_map.yaml
deleted file mode 100644
index 6d7b7c16..00000000
--- a/network/ports/net_ip_list_map.yaml
+++ /dev/null
@@ -1,204 +0,0 @@
-heat_template_version: pike
-
-parameters:
- ControlPlaneIpList:
- default: []
- type: comma_delimited_list
- ExternalIpList:
- default: []
- type: comma_delimited_list
- InternalApiIpList:
- default: []
- type: comma_delimited_list
- StorageIpList:
- default: []
- type: comma_delimited_list
- StorageMgmtIpList:
- default: []
- type: comma_delimited_list
- TenantIpList:
- default: []
- type: comma_delimited_list
- ManagementIpList:
- default: []
- type: comma_delimited_list
- EnabledServices:
- default: []
- type: comma_delimited_list
- ServiceNetMap:
- default: {}
- type: json
- ServiceHostnameList:
- default: []
- type: comma_delimited_list
- NetworkHostnameMap:
- default: []
- 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_mgmt network.
- type: string
- TenantNetName:
- default: tenant
- description: The name of the tenant network.
- type: string
-
-
-resources:
- # This adds the extra "services" on for keystone
- # so that keystone_admin_api_network and
- # keystone_public_api_network point to the correct
- # network on the nodes running the "keystone" service
- EnabledServicesValue:
- type: OS::Heat::Value
- properties:
- type: comma_delimited_list
- value:
- yaql:
- expression: let(root => $) -> $.data.extra_services.items().where($[0] in $root.data.enabled_services).select($[1]).flatten() + $root.data.enabled_services
- data:
- enabled_services: {get_param: EnabledServices}
- extra_services:
- # If anything other than keystone needs this
- # then we should add an extra_networks interface
- # to the service templates role_data but for
- # now we hard-code the keystone special case
- keystone:
- - keystone_admin_api
- - keystone_public_api
-
- NetIpMapValue:
- type: OS::Heat::Value
- properties:
- type: json
- value:
- map_replace:
- - ctlplane: {get_param: ControlPlaneIpList}
- external: {get_param: ExternalIpList}
- internal_api: {get_param: InternalApiIpList}
- storage: {get_param: StorageIpList}
- storage_mgmt: {get_param: StorageMgmtIpList}
- tenant: {get_param: TenantIpList}
- management: {get_param: ManagementIpList}
- - keys:
- 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}
-
-outputs:
- net_ip_map:
- description: >
- A Hash containing a mapping of network names to assigned lists
- of IP addresses.
- value: {get_attr: [NetIpMapValue, value]}
- service_ips:
- description: >
- Map of enabled services to a list of their IP addresses
- value:
- yaql:
- # This filters any entries where the value hasn't been substituted for
- # a list, e.g it's still $service_network. This happens when there is
- # no network defined for the service in the ServiceNetMap, which is OK
- # as not all services have to be bound to a network, so we filter them
- expression: dict($.data.map.items().where(not isString($[1])))
- data:
- map:
- map_replace:
- - map_replace:
- - map_merge:
- repeat:
- template:
- SERVICE_node_ips: SERVICE_network
- for_each:
- SERVICE: {get_attr: [EnabledServicesValue, value]}
- - values: {get_param: ServiceNetMap}
- - values: {get_attr: [NetIpMapValue, value]}
- ctlplane_service_ips:
- description: >
- Map of enabled services to a list of their ctlplane IP addresses
- value:
- yaql:
- expression: dict($.data.map.items().where(len($[1]) > 0))
- data:
- map:
- map_merge:
- repeat:
- template:
- SERVICE_ctlplane_node_ips: {get_param: ControlPlaneIpList}
- for_each:
- SERVICE: {get_attr: [EnabledServicesValue, value]}
- service_hostnames:
- description: >
- Map of enabled services to a list of hostnames where they're running
- value:
- map_replace:
- - yaql:
- # This filters any entries where the value hasn't been substituted for
- # a list, e.g it's still $service_network. This happens when there is
- # no network defined for the service in the ServiceNetMap, which is OK
- # as not all services have to be bound to a network, so we filter them
- expression: dict($.data.map.items().where(not $[1].endsWith("_network")))
- data:
- map:
- map_replace:
- - map_merge:
- repeat:
- template:
- SERVICE_node_names: SERVICE_network
- for_each:
- SERVICE: {get_attr: [EnabledServicesValue, value]}
- - values: {get_param: ServiceNetMap}
- - values: {get_param: NetworkHostnameMap}
- short_service_hostnames:
- description: >
- Map of enabled services to a list of hostnames where they're running regardless of the network
- value:
- yaql:
- # If ServiceHostnameList is empty the role is deployed with zero nodes
- # therefore we don't want to add any *_node_names to the map
- expression: dict($.data.map.items().where(len($[1]) > 0))
- data:
- map:
- map_merge:
- repeat:
- template:
- SERVICE_short_node_names: {get_param: ServiceHostnameList}
- for_each:
- SERVICE: {get_attr: [EnabledServicesValue, value]}
- short_service_bootstrap_hostnames:
- description: >
- Map of enabled services to a list of hostnames where they're running regardless of the network
- Used for bootstrap purposes
- value:
- yaql:
- # If ServiceHostnameList is empty the role is deployed with zero nodes
- # therefore we don't want to add any *_node_names to the map
- expression: dict($.data.map.items().where(len($[1]) > 0))
- data:
- map:
- map_merge:
- repeat:
- template:
- SERVICE_short_bootstrap_node_name: {get_param: ServiceHostnameList}
- for_each:
- SERVICE: {get_attr: [EnabledServicesValue, value]}