aboutsummaryrefslogtreecommitdiffstats
path: root/network
diff options
context:
space:
mode:
Diffstat (limited to 'network')
-rw-r--r--network/config/bond-with-vlans/ceph-storage.yaml31
-rw-r--r--network/config/bond-with-vlans/cinder-storage.yaml27
-rw-r--r--network/config/bond-with-vlans/compute-dpdk.yaml192
-rw-r--r--network/config/bond-with-vlans/compute.yaml27
-rw-r--r--network/config/bond-with-vlans/controller-no-external.yaml21
-rw-r--r--network/config/bond-with-vlans/controller-v6.yaml26
-rw-r--r--network/config/bond-with-vlans/controller.yaml19
-rw-r--r--network/config/bond-with-vlans/swift-storage.yaml27
-rw-r--r--network/config/multiple-nics/ceph-storage.yaml18
-rw-r--r--network/config/multiple-nics/cinder-storage.yaml18
-rw-r--r--network/config/multiple-nics/compute.yaml18
-rw-r--r--network/config/multiple-nics/controller-v6.yaml21
-rw-r--r--network/config/multiple-nics/controller.yaml19
-rw-r--r--network/config/multiple-nics/swift-storage.yaml18
-rw-r--r--network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml42
-rw-r--r--network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml38
-rw-r--r--network/config/single-nic-linux-bridge-vlans/compute.yaml39
-rw-r--r--network/config/single-nic-linux-bridge-vlans/controller-v6.yaml178
-rw-r--r--network/config/single-nic-linux-bridge-vlans/controller.yaml37
-rw-r--r--network/config/single-nic-linux-bridge-vlans/swift-storage.yaml38
-rw-r--r--network/config/single-nic-vlans/ceph-storage.yaml14
-rw-r--r--network/config/single-nic-vlans/cinder-storage.yaml14
-rw-r--r--network/config/single-nic-vlans/compute.yaml14
-rw-r--r--network/config/single-nic-vlans/controller-no-external.yaml45
-rw-r--r--network/config/single-nic-vlans/controller-v6.yaml28
-rw-r--r--network/config/single-nic-vlans/controller.yaml17
-rw-r--r--network/config/single-nic-vlans/swift-storage.yaml14
-rwxr-xr-xnetwork/endpoints/build_endpoint_map.py65
-rw-r--r--network/endpoints/endpoint_data.yaml141
-rw-r--r--network/endpoints/endpoint_map.yaml4135
-rw-r--r--network/management_v6.yaml69
-rw-r--r--network/networks.yaml3
-rw-r--r--network/ports/external_from_pool_v6.yaml2
-rw-r--r--network/ports/from_service.yaml6
-rw-r--r--network/ports/from_service_v6.yaml6
-rw-r--r--network/ports/internal_api_from_pool_v6.yaml2
-rw-r--r--network/ports/management_from_pool_v6.yaml52
-rw-r--r--network/ports/net_ip_list_map.yaml56
-rw-r--r--network/ports/net_ip_map.yaml38
-rw-r--r--network/ports/net_vip_map_external.yaml21
-rw-r--r--network/ports/net_vip_map_external_v6.yaml21
-rw-r--r--network/ports/storage_from_pool_v6.yaml2
-rw-r--r--network/ports/storage_mgmt_from_pool_v6.yaml2
-rw-r--r--network/ports/tenant_from_pool_v6.yaml2
-rw-r--r--network/service_net_map.yaml100
45 files changed, 5218 insertions, 505 deletions
diff --git a/network/config/bond-with-vlans/ceph-storage.yaml b/network/config/bond-with-vlans/ceph-storage.yaml
index 93db8666..9f537c02 100644
--- a/network/config/bond-with-vlans/ceph-storage.yaml
+++ b/network/config/bond-with-vlans/ceph-storage.yaml
@@ -38,6 +38,19 @@ parameters:
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
type: string
+ constraints:
+ - allowed_pattern: "^((?!balance.tcp).)*$"
+ description: |
+ The balance-tcp bond mode is known to cause packet loss and
+ should not be used in BondInterfaceOvsOptions.
+ ExternalNetworkVlanID:
+ default: 10
+ description: Vlan ID for the external network traffic.
+ type: number
+ InternalApiNetworkVlanID:
+ default: 20
+ description: Vlan ID for the internal_api network traffic.
+ type: number
StorageNetworkVlanID:
default: 30
description: Vlan ID for the storage network traffic.
@@ -46,6 +59,10 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt network traffic.
type: number
+ TenantNetworkVlanID:
+ default: 50
+ description: Vlan ID for the tenant network traffic.
+ type: number
ManagementNetworkVlanID:
default: 60
description: Vlan ID for the management network traffic.
@@ -57,6 +74,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -123,6 +148,8 @@ resources:
-
ip_netmask: {get_param: StorageMgmtIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: vlan
# device: bond1
@@ -130,6 +157,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/bond-with-vlans/cinder-storage.yaml b/network/config/bond-with-vlans/cinder-storage.yaml
index bea98c19..b4d71fa3 100644
--- a/network/config/bond-with-vlans/cinder-storage.yaml
+++ b/network/config/bond-with-vlans/cinder-storage.yaml
@@ -38,6 +38,15 @@ parameters:
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
type: string
+ constraints:
+ - allowed_pattern: "^((?!balance.tcp).)*$"
+ description: |
+ The balance-tcp bond mode is known to cause packet loss and
+ should not be used in BondInterfaceOvsOptions.
+ ExternalNetworkVlanID:
+ default: 10
+ description: Vlan ID for the external network traffic.
+ type: number
InternalApiNetworkVlanID:
default: 20
description: Vlan ID for the internal_api network traffic.
@@ -50,6 +59,10 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt network traffic.
type: number
+ TenantNetworkVlanID:
+ default: 50
+ description: Vlan ID for the tenant network traffic.
+ type: number
ManagementNetworkVlanID:
default: 60
description: Vlan ID for the management network traffic.
@@ -61,6 +74,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -134,6 +155,8 @@ resources:
-
ip_netmask: {get_param: StorageMgmtIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: vlan
# device: bond1
@@ -141,6 +164,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/bond-with-vlans/compute-dpdk.yaml b/network/config/bond-with-vlans/compute-dpdk.yaml
new file mode 100644
index 00000000..3fc764be
--- /dev/null
+++ b/network/config/bond-with-vlans/compute-dpdk.yaml
@@ -0,0 +1,192 @@
+heat_template_version: 2015-04-30
+
+description: >
+ Software Config to drive os-net-config with 2 bonded nics on a bridge
+ with VLANs attached for the compute role.
+
+parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
+ ExternalIpSubnet:
+ default: ''
+ description: IP address/subnet on the external network
+ type: string
+ InternalApiIpSubnet:
+ default: ''
+ description: IP address/subnet on the internal API network
+ type: string
+ StorageIpSubnet:
+ default: ''
+ description: IP address/subnet on the storage network
+ type: string
+ StorageMgmtIpSubnet:
+ default: ''
+ description: IP address/subnet on the storage mgmt network
+ type: string
+ TenantIpSubnet:
+ default: ''
+ description: IP address/subnet on the tenant network
+ type: string
+ ManagementIpSubnet: # Only populated when including environments/network-management.yaml
+ default: ''
+ description: IP address/subnet on the management network
+ type: string
+ BondInterfaceOvsOptions:
+ default: ''
+ description: The ovs_options string for the bond interface. Set things like
+ lacp=active and/or bond_mode=balance-slb using this option.
+ type: string
+ ExternalNetworkVlanID:
+ default: 10
+ description: Vlan ID for the external network traffic.
+ type: number
+ InternalApiNetworkVlanID:
+ default: 20
+ description: Vlan ID for the internal_api network traffic.
+ type: number
+ StorageNetworkVlanID:
+ default: 30
+ description: Vlan ID for the storage network traffic.
+ type: number
+ StorageMgmtNetworkVlanID:
+ default: 40
+ description: Vlan ID for the storage mgmt network traffic.
+ type: number
+ TenantNetworkVlanID:
+ default: 50
+ description: Vlan ID for the tenant network traffic.
+ type: number
+ ManagementNetworkVlanID:
+ default: 60
+ description: Vlan ID for the management network traffic.
+ type: number
+ ControlPlaneSubnetCidr: # Override this via parameter_defaults
+ default: '24'
+ description: The subnet CIDR of the control plane network.
+ type: string
+ ControlPlaneDefaultRoute: # Override this via parameter_defaults
+ description: The default route of the control plane network.
+ type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
+ DnsServers: # Override this via parameter_defaults
+ default: []
+ description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
+ type: comma_delimited_list
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
+
+resources:
+ OsNetConfigImpl:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ os_net_config:
+ network_config:
+ -
+ type: interface
+ name: nic1
+ use_dhcp: false
+ dns_servers: {get_param: DnsServers}
+ addresses:
+ -
+ ip_netmask:
+ list_join:
+ - '/'
+ - - {get_param: ControlPlaneIp}
+ - {get_param: ControlPlaneSubnetCidr}
+ routes:
+ -
+ ip_netmask: 169.254.169.254/32
+ next_hop: {get_param: EC2MetadataIp}
+ -
+ default: true
+ next_hop: {get_param: ControlPlaneDefaultRoute}
+ -
+ type: ovs_bridge
+ name: {get_input: bridge_name}
+ members:
+ -
+ type: ovs_bond
+ name: bond1
+ ovs_options: {get_param: BondInterfaceOvsOptions}
+ members:
+ -
+ type: interface
+ name: nic2
+ primary: true
+ -
+ type: interface
+ name: nic3
+ -
+ type: vlan
+ device: bond1
+ vlan_id: {get_param: InternalApiNetworkVlanID}
+ addresses:
+ -
+ ip_netmask: {get_param: InternalApiIpSubnet}
+ -
+ type: vlan
+ device: bond1
+ vlan_id: {get_param: StorageNetworkVlanID}
+ addresses:
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
+ -
+ type: vlan
+ device: bond1
+ vlan_id: {get_param: TenantNetworkVlanID}
+ addresses:
+ -
+ ip_netmask: {get_param: TenantIpSubnet}
+ # Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
+ #-
+ # type: vlan
+ # device: bond1
+ # vlan_id: {get_param: ManagementNetworkVlanID}
+ # addresses:
+ # -
+ # ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
+ -
+ type: ovs_user_bridge
+ name: br-link
+ members:
+ -
+ type: ovs_dpdk_bond
+ name: dpdkbond0
+ members:
+ -
+ type: ovs_dpdk_port
+ name: dpdk0
+ members:
+ -
+ type: interface
+ name: nic4
+ -
+ type: ovs_dpdk_port
+ name: dpdk1
+ members:
+ -
+ type: interface
+ name: nic5
+
+outputs:
+ OS::stack_id:
+ description: The OsNetConfigImpl resource.
+ value: {get_resource: OsNetConfigImpl}
diff --git a/network/config/bond-with-vlans/compute.yaml b/network/config/bond-with-vlans/compute.yaml
index 774bf02d..b2cfb0a2 100644
--- a/network/config/bond-with-vlans/compute.yaml
+++ b/network/config/bond-with-vlans/compute.yaml
@@ -38,6 +38,15 @@ parameters:
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
type: string
+ constraints:
+ - allowed_pattern: "^((?!balance.tcp).)*$"
+ description: |
+ The balance-tcp bond mode is known to cause packet loss and
+ should not be used in BondInterfaceOvsOptions.
+ ExternalNetworkVlanID:
+ default: 10
+ description: Vlan ID for the external network traffic.
+ type: number
InternalApiNetworkVlanID:
default: 20
description: Vlan ID for the internal_api network traffic.
@@ -46,6 +55,10 @@ parameters:
default: 30
description: Vlan ID for the storage network traffic.
type: number
+ StorageMgmtNetworkVlanID:
+ default: 40
+ description: Vlan ID for the storage mgmt network traffic.
+ type: number
TenantNetworkVlanID:
default: 50
description: Vlan ID for the tenant network traffic.
@@ -61,6 +74,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -134,6 +155,8 @@ resources:
-
ip_netmask: {get_param: TenantIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: vlan
# device: bond1
@@ -141,6 +164,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/bond-with-vlans/controller-no-external.yaml b/network/config/bond-with-vlans/controller-no-external.yaml
index d9532439..4c3e59fa 100644
--- a/network/config/bond-with-vlans/controller-no-external.yaml
+++ b/network/config/bond-with-vlans/controller-no-external.yaml
@@ -38,6 +38,11 @@ parameters:
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
type: string
+ constraints:
+ - allowed_pattern: "^((?!balance.tcp).)*$"
+ description: |
+ The balance-tcp bond mode is known to cause packet loss and
+ should not be used in BondInterfaceOvsOptions.
ExternalNetworkVlanID:
default: 10
description: Vlan ID for the external network traffic.
@@ -62,10 +67,17 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
+ ControlPlaneDefaultRoute: # Override this via parameter_defaults
+ description: The default route of the control plane network.
+ type: string
ExternalInterfaceDefaultRoute:
default: '10.0.0.1'
description: default route for the external network
type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -102,6 +114,9 @@ resources:
-
ip_netmask: 169.254.169.254/32
next_hop: {get_param: EC2MetadataIp}
+ -
+ default: true
+ next_hop: {get_param: ControlPlaneDefaultRoute}
-
type: ovs_bridge
name: {get_input: bridge_name}
@@ -148,6 +163,8 @@ resources:
-
ip_netmask: {get_param: TenantIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: vlan
# device: bond1
@@ -155,6 +172,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/bond-with-vlans/controller-v6.yaml b/network/config/bond-with-vlans/controller-v6.yaml
index 7869ebfc..1361d969 100644
--- a/network/config/bond-with-vlans/controller-v6.yaml
+++ b/network/config/bond-with-vlans/controller-v6.yaml
@@ -40,6 +40,11 @@ parameters:
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
type: string
+ constraints:
+ - allowed_pattern: "^((?!balance.tcp).)*$"
+ description: |
+ The balance-tcp bond mode is known to cause packet loss and
+ should not be used in BondInterfaceOvsOptions.
ExternalNetworkVlanID:
default: 10
description: Vlan ID for the external network traffic.
@@ -64,10 +69,6 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -75,6 +76,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute:
+ default: '10.0.0.1'
+ description: default route for the external network
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -106,6 +115,7 @@ resources:
-
ip_netmask: 169.254.169.254/32
next_hop: {get_param: EC2MetadataIp}
+ # IPv4 Default Route
-
default: true
next_hop: {get_param: ControlPlaneDefaultRoute}
@@ -134,6 +144,7 @@ resources:
-
ip_netmask: {get_param: ExternalIpSubnet}
routes:
+ # IPv6 Default Route
-
default: true
next_hop: {get_param: ExternalInterfaceDefaultRoute}
@@ -166,6 +177,9 @@ resources:
-
ip_netmask: {get_param: TenantIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the External interface. This will
+ # make the External API unreachable from remote subnets.
#-
# type: vlan
# device: bond1
@@ -173,6 +187,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/bond-with-vlans/controller.yaml b/network/config/bond-with-vlans/controller.yaml
index d3627ead..677c90c5 100644
--- a/network/config/bond-with-vlans/controller.yaml
+++ b/network/config/bond-with-vlans/controller.yaml
@@ -38,6 +38,11 @@ parameters:
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
type: string
+ constraints:
+ - allowed_pattern: "^((?!balance.tcp).)*$"
+ description: |
+ The balance-tcp bond mode is known to cause packet loss and
+ should not be used in BondInterfaceOvsOptions.
ExternalNetworkVlanID:
default: 10
description: Vlan ID for the external network traffic.
@@ -62,10 +67,17 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
+ ControlPlaneDefaultRoute: # Override this via parameter_defaults
+ description: The default route of the control plane network.
+ type: string
ExternalInterfaceDefaultRoute:
default: '10.0.0.1'
description: default route for the external network
type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -158,6 +170,9 @@ resources:
-
ip_netmask: {get_param: TenantIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the External interface. This will
+ # make the External API unreachable from remote subnets.
#-
# type: vlan
# device: bond1
@@ -165,6 +180,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/bond-with-vlans/swift-storage.yaml b/network/config/bond-with-vlans/swift-storage.yaml
index de9121e5..e16d6b6e 100644
--- a/network/config/bond-with-vlans/swift-storage.yaml
+++ b/network/config/bond-with-vlans/swift-storage.yaml
@@ -38,6 +38,15 @@ parameters:
description: The ovs_options string for the bond interface. Set things like
lacp=active and/or bond_mode=balance-slb using this option.
type: string
+ constraints:
+ - allowed_pattern: "^((?!balance.tcp).)*$"
+ description: |
+ The balance-tcp bond mode is known to cause packet loss and
+ should not be used in BondInterfaceOvsOptions.
+ ExternalNetworkVlanID:
+ default: 10
+ description: Vlan ID for the external network traffic.
+ type: number
InternalApiNetworkVlanID:
default: 20
description: Vlan ID for the internal_api network traffic.
@@ -50,6 +59,10 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt network traffic.
type: number
+ TenantNetworkVlanID:
+ default: 50
+ description: Vlan ID for the tenant network traffic.
+ type: number
ManagementNetworkVlanID:
default: 60
description: Vlan ID for the management network traffic.
@@ -61,6 +74,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -134,6 +155,8 @@ resources:
-
ip_netmask: {get_param: StorageMgmtIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: vlan
# device: bond1
@@ -141,6 +164,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/multiple-nics/ceph-storage.yaml b/network/config/multiple-nics/ceph-storage.yaml
index 84cb0f12..c31c6e65 100644
--- a/network/config/multiple-nics/ceph-storage.yaml
+++ b/network/config/multiple-nics/ceph-storage.yaml
@@ -57,10 +57,6 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -68,6 +64,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -118,6 +122,8 @@ resources:
-
ip_netmask: {get_param: StorageMgmtIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: interface
# name: nic7
@@ -125,6 +131,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/multiple-nics/cinder-storage.yaml b/network/config/multiple-nics/cinder-storage.yaml
index 0b0218c5..4f8b7f64 100644
--- a/network/config/multiple-nics/cinder-storage.yaml
+++ b/network/config/multiple-nics/cinder-storage.yaml
@@ -57,10 +57,6 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -68,6 +64,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -125,6 +129,8 @@ resources:
-
ip_netmask: {get_param: InternalApiIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: interface
# name: nic7
@@ -132,6 +138,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/multiple-nics/compute.yaml b/network/config/multiple-nics/compute.yaml
index 97eef52b..77514745 100644
--- a/network/config/multiple-nics/compute.yaml
+++ b/network/config/multiple-nics/compute.yaml
@@ -57,10 +57,6 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -68,6 +64,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -133,6 +137,8 @@ resources:
# force the MAC address of the bridge to this interface
primary: true
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: interface
# name: nic7
@@ -140,6 +146,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/multiple-nics/controller-v6.yaml b/network/config/multiple-nics/controller-v6.yaml
index b69879fb..da1f95f1 100644
--- a/network/config/multiple-nics/controller-v6.yaml
+++ b/network/config/multiple-nics/controller-v6.yaml
@@ -59,10 +59,6 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -70,6 +66,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute:
+ default: '10.0.0.1'
+ description: default route for the external network
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -102,6 +106,7 @@ resources:
-
ip_netmask: 169.254.169.254/32
next_hop: {get_param: EC2MetadataIp}
+ # IPv4 Default Route
-
default: true
next_hop: {get_param: ControlPlaneDefaultRoute}
@@ -150,6 +155,7 @@ resources:
-
ip_netmask: {get_param: ExternalIpSubnet}
routes:
+ # IPv6 Default Route
-
default: true
next_hop: {get_param: ExternalInterfaceDefaultRoute}
@@ -160,6 +166,9 @@ resources:
# force the MAC address of the bridge to this interface
primary: true
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the External interface. This will
+ # make the External API unreachable from remote subnets.
#-
# type: interface
# name: nic7
@@ -167,6 +176,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/multiple-nics/controller.yaml b/network/config/multiple-nics/controller.yaml
index 377fd116..7a1f9e5f 100644
--- a/network/config/multiple-nics/controller.yaml
+++ b/network/config/multiple-nics/controller.yaml
@@ -57,10 +57,6 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -68,6 +64,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute:
+ default: '10.0.0.1'
+ description: default route for the external network
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -155,6 +159,9 @@ resources:
# force the MAC address of the bridge to this interface
primary: true
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the External interface. This will
+ # make the External API unreachable from remote subnets.
#-
# type: interface
# name: nic7
@@ -162,6 +169,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/multiple-nics/swift-storage.yaml b/network/config/multiple-nics/swift-storage.yaml
index b75bbd6e..05083105 100644
--- a/network/config/multiple-nics/swift-storage.yaml
+++ b/network/config/multiple-nics/swift-storage.yaml
@@ -57,10 +57,6 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -68,6 +64,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -125,6 +129,8 @@ resources:
-
ip_netmask: {get_param: InternalApiIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: interface
# name: nic7
@@ -132,6 +138,10 @@ resources:
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml b/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml
index a46d7e20..fc8e8b6f 100644
--- a/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml
@@ -29,6 +29,18 @@ parameters:
default: ''
description: IP address/subnet on the tenant network
type: string
+ ManagementIpSubnet: # Only populated when including environments/network-management.yaml
+ default: ''
+ description: IP address/subnet on the management network
+ type: string
+ ExternalNetworkVlanID:
+ default: 10
+ description: Vlan ID for the external network traffic.
+ type: number
+ InternalApiNetworkVlanID:
+ default: 20
+ description: Vlan ID for the internal_api network traffic.
+ type: number
StorageNetworkVlanID:
default: 30
description: Vlan ID for the storage network traffic.
@@ -37,6 +49,14 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt network traffic.
type: number
+ TenantNetworkVlanID:
+ default: 50
+ description: Vlan ID for the tenant network traffic.
+ type: number
+ ManagementNetworkVlanID:
+ default: 60
+ description: Vlan ID for the management network traffic.
+ type: number
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -44,6 +64,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -99,6 +127,20 @@ resources:
addresses:
-
ip_netmask: {get_param: StorageMgmtIpSubnet}
+ # Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
+ #-
+ # type: vlan
+ # vlan_id: {get_param: ManagementNetworkVlanID}
+ # device: br-storage
+ # addresses:
+ # -
+ # ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml b/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml
index 08613a3b..6fb247ed 100644
--- a/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml
@@ -29,6 +29,14 @@ parameters:
default: ''
description: IP address/subnet on the tenant network
type: string
+ ManagementIpSubnet: # Only populated when including environments/network-management.yaml
+ default: ''
+ description: IP address/subnet on the management network
+ type: string
+ ExternalNetworkVlanID:
+ default: 10
+ description: Vlan ID for the external network traffic.
+ type: number
InternalApiNetworkVlanID:
default: 20
description: Vlan ID for the internal_api network traffic.
@@ -41,6 +49,14 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt network traffic.
type: number
+ TenantNetworkVlanID:
+ default: 50
+ description: Vlan ID for the tenant network traffic.
+ type: number
+ ManagementNetworkVlanID:
+ default: 60
+ description: Vlan ID for the management network traffic.
+ type: number
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -48,6 +64,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -110,6 +134,20 @@ resources:
addresses:
-
ip_netmask: {get_param: StorageMgmtIpSubnet}
+ # Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
+ #-
+ # type: vlan
+ # vlan_id: {get_param: ManagementNetworkVlanID}
+ # device: br-storage
+ # addresses:
+ # -
+ # ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-linux-bridge-vlans/compute.yaml b/network/config/single-nic-linux-bridge-vlans/compute.yaml
index b6522c67..e31720d8 100644
--- a/network/config/single-nic-linux-bridge-vlans/compute.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/compute.yaml
@@ -29,6 +29,14 @@ parameters:
default: ''
description: IP address/subnet on the tenant network
type: string
+ ManagementIpSubnet: # Only populated when including environments/network-management.yaml
+ default: ''
+ description: IP address/subnet on the management network
+ type: string
+ ExternalNetworkVlanID:
+ default: 10
+ description: Vlan ID for the external network traffic.
+ type: number
InternalApiNetworkVlanID:
default: 20
description: Vlan ID for the internal_api network traffic.
@@ -37,10 +45,18 @@ parameters:
default: 30
description: Vlan ID for the storage network traffic.
type: number
+ StorageMgmtNetworkVlanID:
+ default: 40
+ description: Vlan ID for the storage mgmt network traffic.
+ type: number
TenantNetworkVlanID:
default: 50
description: Vlan ID for the tenant network traffic.
type: number
+ ManagementNetworkVlanID:
+ default: 60
+ description: Vlan ID for the management network traffic.
+ type: number
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -48,6 +64,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -81,7 +105,6 @@ resources:
ip_netmask: 169.254.169.254/32
next_hop: {get_param: EC2MetadataIp}
-
- ip_netmask: 0.0.0.0/0
default: true
next_hop: {get_param: ControlPlaneDefaultRoute}
members:
@@ -111,6 +134,20 @@ resources:
addresses:
-
ip_netmask: {get_param: TenantIpSubnet}
+ # Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
+ #-
+ # type: vlan
+ # vlan_id: {get_param: ManagementNetworkVlanID}
+ # device: {get_input: bridge_name}
+ # addresses:
+ # -
+ # ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-linux-bridge-vlans/controller-v6.yaml b/network/config/single-nic-linux-bridge-vlans/controller-v6.yaml
new file mode 100644
index 00000000..80125149
--- /dev/null
+++ b/network/config/single-nic-linux-bridge-vlans/controller-v6.yaml
@@ -0,0 +1,178 @@
+heat_template_version: 2015-04-30
+
+description: >
+ Software Config to drive os-net-config to configure VLANs for the
+ controller role with IPv6 on the External network. The IPv6 default
+ route is on the External network, and the IPv4 default route is on
+ the Control Plane.
+
+parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
+ ExternalIpSubnet:
+ default: ''
+ description: IP address/subnet on the external network
+ type: string
+ InternalApiIpSubnet:
+ default: ''
+ description: IP address/subnet on the internal API network
+ type: string
+ StorageIpSubnet:
+ default: ''
+ description: IP address/subnet on the storage network
+ type: string
+ StorageMgmtIpSubnet:
+ default: ''
+ description: IP address/subnet on the storage mgmt network
+ type: string
+ TenantIpSubnet:
+ default: ''
+ description: IP address/subnet on the tenant network
+ type: string
+ ManagementIpSubnet: # Only populated when including environments/network-management.yaml
+ default: ''
+ description: IP address/subnet on the management network
+ type: string
+ ExternalNetworkVlanID:
+ default: 10
+ description: Vlan ID for the external network traffic.
+ type: number
+ InternalApiNetworkVlanID:
+ default: 20
+ description: Vlan ID for the internal_api network traffic.
+ type: number
+ StorageNetworkVlanID:
+ default: 30
+ description: Vlan ID for the storage network traffic.
+ type: number
+ StorageMgmtNetworkVlanID:
+ default: 40
+ description: Vlan ID for the storage mgmt network traffic.
+ type: number
+ TenantNetworkVlanID:
+ default: 50
+ description: Vlan ID for the tenant network traffic.
+ type: number
+ ManagementNetworkVlanID:
+ default: 60
+ description: Vlan ID for the management network traffic.
+ type: number
+ ControlPlaneDefaultRoute: # Override this via parameter_defaults
+ description: The default route of the control plane network.
+ type: string
+ ExternalInterfaceDefaultRoute:
+ default: '10.0.0.1'
+ description: default route for the external network
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
+ ControlPlaneSubnetCidr: # Override this via parameter_defaults
+ default: '24'
+ description: The subnet CIDR of the control plane network.
+ type: string
+ DnsServers: # Override this via parameter_defaults
+ default: []
+ description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
+ type: comma_delimited_list
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
+
+resources:
+ OsNetConfigImpl:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ os_net_config:
+ network_config:
+ -
+ type: linux_bridge
+ name: {get_input: bridge_name}
+ use_dhcp: false
+ dns_servers: {get_param: DnsServers}
+ addresses:
+ -
+ ip_netmask:
+ list_join:
+ - '/'
+ - - {get_param: ControlPlaneIp}
+ - {get_param: ControlPlaneSubnetCidr}
+ routes:
+ -
+ ip_netmask: 169.254.169.254/32
+ next_hop: {get_param: EC2MetadataIp}
+ # IPv4 Default Route
+ -
+ default: true
+ next_hop: {get_param: ControlPlaneDefaultRoute}
+ members:
+ -
+ type: interface
+ name: {get_input: interface_name}
+ # force the MAC address of the bridge to this interface
+ primary: true
+ -
+ type: vlan
+ vlan_id: {get_param: ExternalNetworkVlanID}
+ device: {get_input: bridge_name}
+ addresses:
+ -
+ ip_netmask: {get_param: ExternalIpSubnet}
+ routes:
+ # IPv6 Default Route
+ -
+ default: true
+ next_hop: {get_param: ExternalInterfaceDefaultRoute}
+ -
+ type: vlan
+ vlan_id: {get_param: InternalApiNetworkVlanID}
+ device: {get_input: bridge_name}
+ addresses:
+ -
+ ip_netmask: {get_param: InternalApiIpSubnet}
+ -
+ type: vlan
+ vlan_id: {get_param: StorageNetworkVlanID}
+ device: {get_input: bridge_name}
+ addresses:
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
+ -
+ type: vlan
+ vlan_id: {get_param: StorageMgmtNetworkVlanID}
+ device: {get_input: bridge_name}
+ addresses:
+ -
+ ip_netmask: {get_param: StorageMgmtIpSubnet}
+ -
+ type: vlan
+ vlan_id: {get_param: TenantNetworkVlanID}
+ device: {get_input: bridge_name}
+ addresses:
+ -
+ ip_netmask: {get_param: TenantIpSubnet}
+ # Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the External interface. This will
+ # make the External API unreachable from remote subnets.
+ #-
+ # type: vlan
+ # vlan_id: {get_param: ManagementNetworkVlanID}
+ # device: {get_input: bridge_name}
+ # addresses:
+ # -
+ # ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
+
+outputs:
+ OS::stack_id:
+ description: The OsNetConfigImpl resource.
+ value: {get_resource: OsNetConfigImpl}
diff --git a/network/config/single-nic-linux-bridge-vlans/controller.yaml b/network/config/single-nic-linux-bridge-vlans/controller.yaml
index 72105481..aef5d4e3 100644
--- a/network/config/single-nic-linux-bridge-vlans/controller.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/controller.yaml
@@ -29,6 +29,10 @@ parameters:
default: ''
description: IP address/subnet on the tenant network
type: string
+ ManagementIpSubnet: # Only populated when including environments/network-management.yaml
+ default: ''
+ description: IP address/subnet on the management network
+ type: string
ExternalNetworkVlanID:
default: 10
description: Vlan ID for the external network traffic.
@@ -49,10 +53,21 @@ parameters:
default: 50
description: Vlan ID for the tenant network traffic.
type: number
+ ManagementNetworkVlanID:
+ default: 60
+ description: Vlan ID for the management network traffic.
+ type: number
+ ControlPlaneDefaultRoute: # Override this via parameter_defaults
+ description: The default route of the control plane network.
+ type: string
ExternalInterfaceDefaultRoute:
default: '10.0.0.1'
description: default route for the external network
type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -64,9 +79,6 @@ parameters:
EC2MetadataIp: # Override this via parameter_defaults
description: The IP address of the EC2 metadata server.
type: string
- ControlPlaneDefaultRoute: # Override this via parameter_defaults
- description: The default route of the control plane network.
- type: string
resources:
OsNetConfigImpl:
@@ -92,8 +104,8 @@ resources:
-
ip_netmask: 169.254.169.254/32
next_hop: {get_param: EC2MetadataIp}
+ # IPv4 Default Route
-
- ip_netmask: 0.0.0.0/0
default: true
next_hop: {get_param: ControlPlaneDefaultRoute}
members:
@@ -110,8 +122,8 @@ resources:
-
ip_netmask: {get_param: ExternalIpSubnet}
routes:
+ # IPv6 Default Route
-
- ip_netmask: 0.0.0.0/0
default: true
next_hop: {get_param: ExternalInterfaceDefaultRoute}
-
@@ -142,6 +154,21 @@ resources:
addresses:
-
ip_netmask: {get_param: TenantIpSubnet}
+ # Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the External interface. This will
+ # make the External API unreachable from remote subnets.
+ #-
+ # type: vlan
+ # vlan_id: {get_param: ManagementNetworkVlanID}
+ # device: {get_input: bridge_name}
+ # addresses:
+ # -
+ # ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml b/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml
index 962b9890..a5d2f966 100644
--- a/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml
+++ b/network/config/single-nic-linux-bridge-vlans/swift-storage.yaml
@@ -29,6 +29,14 @@ parameters:
default: ''
description: IP address/subnet on the tenant network
type: string
+ ManagementIpSubnet: # Only populated when including environments/network-management.yaml
+ default: ''
+ description: IP address/subnet on the management network
+ type: string
+ ExternalNetworkVlanID:
+ default: 10
+ description: Vlan ID for the external network traffic.
+ type: number
InternalApiNetworkVlanID:
default: 20
description: Vlan ID for the internal_api network traffic.
@@ -41,6 +49,14 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt network traffic.
type: number
+ TenantNetworkVlanID:
+ default: 50
+ description: Vlan ID for the tenant network traffic.
+ type: number
+ ManagementNetworkVlanID:
+ default: 60
+ description: Vlan ID for the management network traffic.
+ type: number
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -48,6 +64,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -110,6 +134,20 @@ resources:
addresses:
-
ip_netmask: {get_param: StorageMgmtIpSubnet}
+ # Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
+ #-
+ # type: vlan
+ # vlan_id: {get_param: ManagementNetworkVlanID}
+ # device: br-storage
+ # addresses:
+ # -
+ # ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-vlans/ceph-storage.yaml b/network/config/single-nic-vlans/ceph-storage.yaml
index 80bc32d3..6fa288af 100644
--- a/network/config/single-nic-vlans/ceph-storage.yaml
+++ b/network/config/single-nic-vlans/ceph-storage.yaml
@@ -52,6 +52,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -106,12 +114,18 @@ resources:
-
ip_netmask: {get_param: StorageMgmtIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: vlan
# vlan_id: {get_param: ManagementNetworkVlanID}
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-vlans/cinder-storage.yaml b/network/config/single-nic-vlans/cinder-storage.yaml
index e509443a..d1135776 100644
--- a/network/config/single-nic-vlans/cinder-storage.yaml
+++ b/network/config/single-nic-vlans/cinder-storage.yaml
@@ -56,6 +56,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -116,12 +124,18 @@ resources:
-
ip_netmask: {get_param: StorageMgmtIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: vlan
# vlan_id: {get_param: ManagementNetworkVlanID}
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-vlans/compute.yaml b/network/config/single-nic-vlans/compute.yaml
index 8cf6825d..bd3cef34 100644
--- a/network/config/single-nic-vlans/compute.yaml
+++ b/network/config/single-nic-vlans/compute.yaml
@@ -56,6 +56,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -116,12 +124,18 @@ resources:
-
ip_netmask: {get_param: TenantIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: vlan
# vlan_id: {get_param: ManagementNetworkVlanID}
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-vlans/controller-no-external.yaml b/network/config/single-nic-vlans/controller-no-external.yaml
index eb5e1e5a..8e8b0f5d 100644
--- a/network/config/single-nic-vlans/controller-no-external.yaml
+++ b/network/config/single-nic-vlans/controller-no-external.yaml
@@ -5,6 +5,10 @@ description: >
controller role. No external IP is configured.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@@ -53,10 +57,28 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
+ ControlPlaneDefaultRoute: # Override this via parameter_defaults
+ description: The default route of the control plane network.
+ type: string
ExternalInterfaceDefaultRoute:
default: '10.0.0.1'
description: default route for the external network
type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
+ ControlPlaneSubnetCidr: # Override this via parameter_defaults
+ default: '24'
+ description: The subnet CIDR of the control plane network.
+ type: string
+ DnsServers: # Override this via parameter_defaults
+ default: []
+ description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
+ type: comma_delimited_list
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
resources:
OsNetConfigImpl:
@@ -69,7 +91,22 @@ resources:
-
type: ovs_bridge
name: {get_input: bridge_name}
- use_dhcp: true
+ use_dhcp: false
+ dns_servers: {get_param: DnsServers}
+ addresses:
+ -
+ ip_netmask:
+ list_join:
+ - '/'
+ - - {get_param: ControlPlaneIp}
+ - {get_param: ControlPlaneSubnetCidr}
+ routes:
+ -
+ ip_netmask: 169.254.169.254/32
+ next_hop: {get_param: EC2MetadataIp}
+ -
+ default: true
+ next_hop: {get_param: ControlPlaneDefaultRoute}
members:
-
type: interface
@@ -101,12 +138,18 @@ resources:
-
ip_netmask: {get_param: TenantIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: vlan
# vlan_id: {get_param: ManagementNetworkVlanID}
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-vlans/controller-v6.yaml b/network/config/single-nic-vlans/controller-v6.yaml
index 472e539d..ecbf2efb 100644
--- a/network/config/single-nic-vlans/controller-v6.yaml
+++ b/network/config/single-nic-vlans/controller-v6.yaml
@@ -59,10 +59,6 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
- ExternalInterfaceDefaultRoute:
- default: '10.0.0.1'
- description: default route for the external network
- type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -70,6 +66,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute:
+ default: '10.0.0.1'
+ description: default route for the external network
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -102,6 +106,7 @@ resources:
-
ip_netmask: 169.254.169.254/32
next_hop: {get_param: EC2MetadataIp}
+ # IPv4 Default Route
-
default: true
next_hop: {get_param: ControlPlaneDefaultRoute}
@@ -115,9 +120,10 @@ resources:
type: vlan
vlan_id: {get_param: ExternalNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: ExternalIpSubnet}
+ -
+ ip_netmask: {get_param: ExternalIpSubnet}
routes:
+ # IPv6 Default Route
-
default: true
next_hop: {get_param: ExternalInterfaceDefaultRoute}
@@ -145,12 +151,20 @@ resources:
addresses:
-
ip_netmask: {get_param: TenantIpSubnet}
- #- # Uncomment when including environments/network-management.yaml
+ # Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the External interface. This will
+ # make the External API unreachable from remote subnets.
+ #-
# type: vlan
# vlan_id: {get_param: ManagementNetworkVlanID}
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-vlans/controller.yaml b/network/config/single-nic-vlans/controller.yaml
index a5a0745d..c5979a89 100644
--- a/network/config/single-nic-vlans/controller.yaml
+++ b/network/config/single-nic-vlans/controller.yaml
@@ -57,10 +57,17 @@ parameters:
default: 60
description: Vlan ID for the management network traffic.
type: number
+ ControlPlaneDefaultRoute: # Override this via parameter_defaults
+ description: The default route of the control plane network.
+ type: string
ExternalInterfaceDefaultRoute:
default: '10.0.0.1'
description: default route for the external network
type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane network.
@@ -137,12 +144,20 @@ resources:
addresses:
-
ip_netmask: {get_param: TenantIpSubnet}
- #- # Uncomment when including environments/network-management.yaml
+ # Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the External interface. This will
+ # make the External API unreachable from remote subnets.
+ #-
# type: vlan
# vlan_id: {get_param: ManagementNetworkVlanID}
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-vlans/swift-storage.yaml b/network/config/single-nic-vlans/swift-storage.yaml
index efc03393..7b06580c 100644
--- a/network/config/single-nic-vlans/swift-storage.yaml
+++ b/network/config/single-nic-vlans/swift-storage.yaml
@@ -56,6 +56,14 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
+ ExternalInterfaceDefaultRoute: # Not used by default in this template
+ default: '10.0.0.1'
+ description: The default route of the external network.
+ type: string
+ ManagementInterfaceDefaultRoute: # Commented out by default in this template
+ default: unset
+ description: The default route of the management network.
+ type: string
DnsServers: # Override this via parameter_defaults
default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@@ -116,12 +124,18 @@ resources:
-
ip_netmask: {get_param: StorageMgmtIpSubnet}
# Uncomment when including environments/network-management.yaml
+ # If setting default route on the Management interface, comment
+ # out the default route on the Control Plane.
#-
# type: vlan
# vlan_id: {get_param: ManagementNetworkVlanID}
# addresses:
# -
# ip_netmask: {get_param: ManagementIpSubnet}
+ # routes:
+ # -
+ # default: true
+ # next_hop: {get_param: ManagementInterfaceDefaultRoute}
outputs:
OS::stack_id:
diff --git a/network/endpoints/build_endpoint_map.py b/network/endpoints/build_endpoint_map.py
index d8cdee3d..964f58f7 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_CLOUD_ENDPOINTS, PARAM_ENDPOINTMAP, PARAM_NETIPMAP,
+ PARAM_SERVICENETMAP) = (
+ 'CloudEndpoints', '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 '
@@ -101,17 +95,18 @@ def template_parameters(config):
'via parameter_defaults in the '
'resource registry.')
- params[PARAM_CLOUDNAME] = make_parameter('string',
- 'overcloud',
- 'The DNS name of this cloud. '
- 'e.g. ci-overcloud.tripleo.org')
+ params[PARAM_CLOUD_ENDPOINTS] = make_parameter(
+ 'json',
+ {},
+ ('A map containing the DNS names for the different endpoints '
+ '(external, internal_api, etc.)'))
return params
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,12 +117,36 @@ 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_CLOUD_ENDPOINTS,
+ {'get_param': ['ServiceNetMap',
+ net_param]}]},
+ })
+ ])
+ }
host = {
'str_replace': collections.OrderedDict([
('template', extract_field(F_HOST)),
('params', {
- SUBST_IP_ADDRESS: {'get_param': vip_param},
- SUBST_CLOUDNAME: {'get_param': PARAM_CLOUDNAME},
+ SUBST_IP_ADDRESS: {'get_param':
+ ['NetIpMap',
+ {'str_replace':
+ {'template': 'NETWORK_uri',
+ 'params': {'NETWORK':
+ {'get_param': ['ServiceNetMap',
+ net_param]}}}}]},
+ SUBST_CLOUDNAME: {'get_param':
+ [PARAM_CLOUD_ENDPOINTS,
+ {'get_param': ['ServiceNetMap',
+ net_param]}]},
})
])
}
@@ -140,6 +159,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 +180,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 c76e1360..fb01925b 100644
--- a/network/endpoints/endpoint_data.yaml
+++ b/network/endpoints/endpoint_data.yaml
@@ -3,102 +3,105 @@
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
+ V3: /v3/%(tenant_id)s
port: 8776
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
+ 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
@@ -107,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
@@ -115,80 +118,128 @@ 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
port: 35357
port: 5000
+Manila:
+ Internal:
+ net_param: ManilaApi
+ uri_suffixes:
+ '': /v2/%(tenant_id)s
+ V1: /v1/%(tenant_id)s
+ Public:
+ net_param: Public
+ uri_suffixes:
+ '': /v2/%(tenant_id)s
+ V1: /v1/%(tenant_id)s
+ Admin:
+ net_param: ManilaApi
+ uri_suffixes:
+ '': /v2/%(tenant_id)s
+ V1: /v1/%(tenant_id)s
+ port: 8786
+
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/%(tenant_id)s
+ '': /v2.1
Public:
- vip_param: Public
+ net_param: Public
uri_suffixes:
- '': /v2.1/%(tenant_id)s
+ '': /v2.1
Admin:
- vip_param: NovaApi
+ net_param: NovaApi
uri_suffixes:
- '': /v2.1/%(tenant_id)s
+ '': /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:
port: 8080
+CephRgw:
+ Internal:
+ net_param: CephRgw
+ uri_suffixes:
+ '': /swift/v1
+ Public:
+ net_param: Public
+ uri_suffixes:
+ '': /swift/v1
+ Admin:
+ net_param: CephRgw
+ uri_suffixes:
+ '': /swift/v1
+ port: 8080
+
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:
+ net_param: IronicApi
+ uri_suffixes:
+ '': /v1
+ Public:
+ net_param: Public
+ uri_suffixes:
+ '': /v1
+ Admin:
+ net_param: IronicApi
+ uri_suffixes:
+ '': /v1
+ port: 6385
diff --git a/network/endpoints/endpoint_map.yaml b/network/endpoints/endpoint_map.yaml
index fbfa0a15..734b6431 100644
--- a/network/endpoints/endpoint_map.yaml
+++ b/network/endpoints/endpoint_map.yaml
@@ -8,21 +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: ''}
- KeystoneAdminApiVirtualIP: {type: string, default: ''}
- KeystonePublicApiVirtualIP: {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:
@@ -32,6 +25,9 @@ parameters:
CeilometerAdmin: {protocol: http, port: '8777', host: IP_ADDRESS}
CeilometerInternal: {protocol: http, port: '8777', host: IP_ADDRESS}
CeilometerPublic: {protocol: http, port: '8777', host: IP_ADDRESS}
+ CephRgwAdmin: {protocol: http, port: '8080', host: IP_ADDRESS}
+ CephRgwInternal: {protocol: http, port: '8080', host: IP_ADDRESS}
+ CephRgwPublic: {protocol: http, port: '8080', host: IP_ADDRESS}
CinderAdmin: {protocol: http, port: '8776', host: IP_ADDRESS}
CinderInternal: {protocol: http, port: '8776', host: IP_ADDRESS}
CinderPublic: {protocol: http, port: '8776', host: IP_ADDRESS}
@@ -49,9 +45,15 @@ parameters:
HeatCfnInternal: {protocol: http, port: '8000', host: IP_ADDRESS}
HeatCfnPublic: {protocol: http, port: '8000', host: IP_ADDRESS}
HorizonPublic: {protocol: http, port: '80', host: IP_ADDRESS}
+ IronicAdmin: {protocol: http, port: '6385', host: IP_ADDRESS}
+ IronicInternal: {protocol: http, port: '6385', host: IP_ADDRESS}
+ IronicPublic: {protocol: http, port: '6385', host: IP_ADDRESS}
KeystoneAdmin: {protocol: http, port: '35357', host: IP_ADDRESS}
KeystoneInternal: {protocol: http, port: '5000', host: IP_ADDRESS}
KeystonePublic: {protocol: http, port: '5000', host: IP_ADDRESS}
+ ManilaAdmin: {protocol: http, port: '8786', host: IP_ADDRESS}
+ 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}
NeutronAdmin: {protocol: http, port: '9696', host: IP_ADDRESS}
NeutronInternal: {protocol: http, port: '9696', host: IP_ADDRESS}
@@ -70,8 +72,11 @@ parameters:
SwiftPublic: {protocol: http, port: '8080', host: IP_ADDRESS}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
- CloudName: {type: string, default: overcloud, description: The DNS name
- of this cloud. e.g. ci-overcloud.tripleo.org}
+ CloudEndpoints:
+ type: json
+ default: {}
+ description: A map containing the DNS names for the different endpoints
+ (external, internal_api, etc.)
outputs:
endpoint_map:
value:
@@ -81,8 +86,31 @@ outputs:
template:
get_param: [EndpointMap, AodhAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: AodhApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, AodhApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, AodhApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, AodhApiNetwork]
port:
get_param: [EndpointMap, AodhAdmin, port]
protocol:
@@ -96,8 +124,18 @@ outputs:
template:
get_param: [EndpointMap, AodhAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: AodhApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, AodhApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, AodhApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, AodhAdmin, port]
uri_no_suffix:
@@ -109,8 +147,18 @@ outputs:
template:
get_param: [EndpointMap, AodhAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: AodhApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, AodhApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, AodhApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, AodhAdmin, port]
AodhInternal:
@@ -119,8 +167,31 @@ outputs:
template:
get_param: [EndpointMap, AodhInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: AodhApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, AodhApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, AodhApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, AodhApiNetwork]
port:
get_param: [EndpointMap, AodhInternal, port]
protocol:
@@ -134,8 +205,18 @@ outputs:
template:
get_param: [EndpointMap, AodhInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: AodhApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, AodhApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, AodhApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, AodhInternal, port]
uri_no_suffix:
@@ -147,8 +228,18 @@ outputs:
template:
get_param: [EndpointMap, AodhInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: AodhApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, AodhApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, AodhApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, AodhInternal, port]
AodhPublic:
@@ -157,8 +248,31 @@ outputs:
template:
get_param: [EndpointMap, AodhPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, AodhPublic, port]
protocol:
@@ -172,8 +286,18 @@ outputs:
template:
get_param: [EndpointMap, AodhPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, AodhPublic, port]
uri_no_suffix:
@@ -185,8 +309,18 @@ outputs:
template:
get_param: [EndpointMap, AodhPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, AodhPublic, port]
CeilometerAdmin:
@@ -195,8 +329,31 @@ outputs:
template:
get_param: [EndpointMap, CeilometerAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CeilometerApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CeilometerApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, CeilometerApiNetwork]
port:
get_param: [EndpointMap, CeilometerAdmin, port]
protocol:
@@ -210,8 +367,18 @@ outputs:
template:
get_param: [EndpointMap, CeilometerAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CeilometerApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CeilometerApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CeilometerAdmin, port]
uri_no_suffix:
@@ -223,8 +390,18 @@ outputs:
template:
get_param: [EndpointMap, CeilometerAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CeilometerApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CeilometerApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CeilometerAdmin, port]
CeilometerInternal:
@@ -233,8 +410,31 @@ outputs:
template:
get_param: [EndpointMap, CeilometerInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CeilometerApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CeilometerApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, CeilometerApiNetwork]
port:
get_param: [EndpointMap, CeilometerInternal, port]
protocol:
@@ -248,8 +448,18 @@ outputs:
template:
get_param: [EndpointMap, CeilometerInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CeilometerApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CeilometerApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CeilometerInternal, port]
uri_no_suffix:
@@ -261,8 +471,18 @@ outputs:
template:
get_param: [EndpointMap, CeilometerInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CeilometerApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CeilometerApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CeilometerApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CeilometerInternal, port]
CeilometerPublic:
@@ -271,8 +491,31 @@ outputs:
template:
get_param: [EndpointMap, CeilometerPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, CeilometerPublic, port]
protocol:
@@ -286,8 +529,18 @@ outputs:
template:
get_param: [EndpointMap, CeilometerPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CeilometerPublic, port]
uri_no_suffix:
@@ -299,18 +552,297 @@ outputs:
template:
get_param: [EndpointMap, CeilometerPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CeilometerPublic, port]
+ CephRgwAdmin:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CephRgwNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CephRgwNetwork]
+ template: NETWORK_uri
+ host_nobrackets:
+ str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CephRgwNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, CephRgwNetwork]
+ port:
+ get_param: [EndpointMap, CephRgwAdmin, port]
+ protocol:
+ get_param: [EndpointMap, CephRgwAdmin, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CephRgwAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CephRgwNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CephRgwNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, CephRgwAdmin, port]
+ - /swift/v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CephRgwAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CephRgwNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CephRgwNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, CephRgwAdmin, port]
+ CephRgwInternal:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CephRgwNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CephRgwNetwork]
+ template: NETWORK_uri
+ host_nobrackets:
+ str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CephRgwNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, CephRgwNetwork]
+ port:
+ get_param: [EndpointMap, CephRgwInternal, port]
+ protocol:
+ get_param: [EndpointMap, CephRgwInternal, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CephRgwInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CephRgwNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CephRgwNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, CephRgwInternal, port]
+ - /swift/v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CephRgwInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CephRgwNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CephRgwNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, CephRgwInternal, port]
+ CephRgwPublic:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
+ host_nobrackets:
+ str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
+ port:
+ get_param: [EndpointMap, CephRgwPublic, port]
+ protocol:
+ get_param: [EndpointMap, CephRgwPublic, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CephRgwPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, CephRgwPublic, port]
+ - /swift/v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CephRgwPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CephRgwPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, CephRgwPublic, port]
CinderAdmin:
host:
str_replace:
template:
get_param: [EndpointMap, CinderAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, CinderApiNetwork]
port:
get_param: [EndpointMap, CinderAdmin, port]
protocol:
@@ -324,8 +856,18 @@ outputs:
template:
get_param: [EndpointMap, CinderAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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
@@ -338,8 +880,18 @@ outputs:
template:
get_param: [EndpointMap, CinderAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CinderApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CinderAdmin, port]
CinderInternal:
@@ -348,8 +900,31 @@ outputs:
template:
get_param: [EndpointMap, CinderInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, CinderApiNetwork]
port:
get_param: [EndpointMap, CinderInternal, port]
protocol:
@@ -363,8 +938,18 @@ outputs:
template:
get_param: [EndpointMap, CinderInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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
@@ -377,8 +962,18 @@ outputs:
template:
get_param: [EndpointMap, CinderInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CinderApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CinderInternal, port]
CinderPublic:
@@ -387,8 +982,31 @@ outputs:
template:
get_param: [EndpointMap, CinderPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, CinderPublic, port]
protocol:
@@ -402,8 +1020,18 @@ outputs:
template:
get_param: [EndpointMap, CinderPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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
@@ -416,8 +1044,18 @@ outputs:
template:
get_param: [EndpointMap, CinderPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CinderPublic, port]
CinderV2Admin:
@@ -426,8 +1064,31 @@ outputs:
template:
get_param: [EndpointMap, CinderAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, CinderApiNetwork]
port:
get_param: [EndpointMap, CinderAdmin, port]
protocol:
@@ -441,8 +1102,18 @@ outputs:
template:
get_param: [EndpointMap, CinderAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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
@@ -455,8 +1126,18 @@ outputs:
template:
get_param: [EndpointMap, CinderAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CinderApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CinderAdmin, port]
CinderV2Internal:
@@ -465,8 +1146,31 @@ outputs:
template:
get_param: [EndpointMap, CinderInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, CinderApiNetwork]
port:
get_param: [EndpointMap, CinderInternal, port]
protocol:
@@ -480,8 +1184,18 @@ outputs:
template:
get_param: [EndpointMap, CinderInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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
@@ -494,8 +1208,18 @@ outputs:
template:
get_param: [EndpointMap, CinderInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: CinderApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CinderApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CinderInternal, port]
CinderV2Public:
@@ -504,8 +1228,31 @@ outputs:
template:
get_param: [EndpointMap, CinderPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, CinderPublic, port]
protocol:
@@ -519,8 +1266,18 @@ outputs:
template:
get_param: [EndpointMap, CinderPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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
@@ -533,8 +1290,264 @@ outputs:
template:
get_param: [EndpointMap, CinderPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, CinderPublic, port]
+ CinderV3Admin:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, CinderAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ port:
+ get_param: [EndpointMap, CinderAdmin, port]
+ protocol:
+ get_param: [EndpointMap, CinderAdmin, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CinderAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CinderAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CinderAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CinderAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CinderApiNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, CinderAdmin, port]
+ CinderV3Internal:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, CinderInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ port:
+ get_param: [EndpointMap, CinderInternal, port]
+ protocol:
+ get_param: [EndpointMap, CinderInternal, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CinderInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CinderInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ 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
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CinderInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CinderInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, CinderApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, CinderApiNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, CinderInternal, port]
+ CinderV3Public:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, CinderPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
+ port:
+ get_param: [EndpointMap, CinderPublic, port]
+ protocol:
+ get_param: [EndpointMap, CinderPublic, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CinderPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CinderPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, CinderPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, CinderPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, CinderPublic, port]
GlanceAdmin:
@@ -543,8 +1556,31 @@ outputs:
template:
get_param: [EndpointMap, GlanceAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, GlanceApiNetwork]
port:
get_param: [EndpointMap, GlanceAdmin, port]
protocol:
@@ -558,8 +1594,18 @@ outputs:
template:
get_param: [EndpointMap, GlanceAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, GlanceApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GlanceAdmin, port]
uri_no_suffix:
@@ -571,8 +1617,18 @@ outputs:
template:
get_param: [EndpointMap, GlanceAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, GlanceApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GlanceAdmin, port]
GlanceInternal:
@@ -581,8 +1637,31 @@ outputs:
template:
get_param: [EndpointMap, GlanceInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, GlanceApiNetwork]
port:
get_param: [EndpointMap, GlanceInternal, port]
protocol:
@@ -596,8 +1675,18 @@ outputs:
template:
get_param: [EndpointMap, GlanceInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, GlanceApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GlanceInternal, port]
uri_no_suffix:
@@ -609,8 +1698,18 @@ outputs:
template:
get_param: [EndpointMap, GlanceInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GlanceApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, GlanceApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GlanceInternal, port]
GlancePublic:
@@ -619,8 +1718,31 @@ outputs:
template:
get_param: [EndpointMap, GlancePublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, GlancePublic, port]
protocol:
@@ -634,8 +1756,18 @@ outputs:
template:
get_param: [EndpointMap, GlancePublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GlancePublic, port]
uri_no_suffix:
@@ -647,8 +1779,18 @@ outputs:
template:
get_param: [EndpointMap, GlancePublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GlancePublic, port]
GlanceRegistryInternal:
@@ -657,8 +1799,31 @@ outputs:
template:
get_param: [EndpointMap, GlanceRegistryInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, GlanceRegistryNetwork]
port:
get_param: [EndpointMap, GlanceRegistryInternal, port]
protocol:
@@ -672,8 +1837,18 @@ outputs:
template:
get_param: [EndpointMap, GlanceRegistryInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, GlanceRegistryNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GlanceRegistryInternal, port]
uri_no_suffix:
@@ -685,8 +1860,18 @@ outputs:
template:
get_param: [EndpointMap, GlanceRegistryInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GlanceRegistryVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GlanceRegistryNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, GlanceRegistryNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GlanceRegistryInternal, port]
GnocchiAdmin:
@@ -695,8 +1880,31 @@ outputs:
template:
get_param: [EndpointMap, GnocchiAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GnocchiApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GnocchiApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, GnocchiApiNetwork]
port:
get_param: [EndpointMap, GnocchiAdmin, port]
protocol:
@@ -710,8 +1918,18 @@ outputs:
template:
get_param: [EndpointMap, GnocchiAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GnocchiApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, GnocchiApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GnocchiAdmin, port]
uri_no_suffix:
@@ -723,8 +1941,18 @@ outputs:
template:
get_param: [EndpointMap, GnocchiAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GnocchiApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, GnocchiApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GnocchiAdmin, port]
GnocchiInternal:
@@ -733,8 +1961,31 @@ outputs:
template:
get_param: [EndpointMap, GnocchiInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GnocchiApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GnocchiApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, GnocchiApiNetwork]
port:
get_param: [EndpointMap, GnocchiInternal, port]
protocol:
@@ -748,8 +1999,18 @@ outputs:
template:
get_param: [EndpointMap, GnocchiInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GnocchiApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, GnocchiApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GnocchiInternal, port]
uri_no_suffix:
@@ -761,8 +2022,18 @@ outputs:
template:
get_param: [EndpointMap, GnocchiInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: GnocchiApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, GnocchiApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, GnocchiApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GnocchiInternal, port]
GnocchiPublic:
@@ -771,8 +2042,31 @@ outputs:
template:
get_param: [EndpointMap, GnocchiPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, GnocchiPublic, port]
protocol:
@@ -786,8 +2080,18 @@ outputs:
template:
get_param: [EndpointMap, GnocchiPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GnocchiPublic, port]
uri_no_suffix:
@@ -799,8 +2103,18 @@ outputs:
template:
get_param: [EndpointMap, GnocchiPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, GnocchiPublic, port]
HeatAdmin:
@@ -809,8 +2123,31 @@ outputs:
template:
get_param: [EndpointMap, HeatAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, HeatApiNetwork]
port:
get_param: [EndpointMap, HeatAdmin, port]
protocol:
@@ -824,8 +2161,18 @@ outputs:
template:
get_param: [EndpointMap, HeatAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ 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
@@ -838,8 +2185,18 @@ outputs:
template:
get_param: [EndpointMap, HeatAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, HeatApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, HeatAdmin, port]
HeatInternal:
@@ -848,8 +2205,31 @@ outputs:
template:
get_param: [EndpointMap, HeatInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, HeatApiNetwork]
port:
get_param: [EndpointMap, HeatInternal, port]
protocol:
@@ -863,8 +2243,18 @@ outputs:
template:
get_param: [EndpointMap, HeatInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ 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
@@ -877,8 +2267,18 @@ outputs:
template:
get_param: [EndpointMap, HeatInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, HeatApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, HeatInternal, port]
HeatPublic:
@@ -887,8 +2287,31 @@ outputs:
template:
get_param: [EndpointMap, HeatPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, HeatPublic, port]
protocol:
@@ -902,8 +2325,18 @@ outputs:
template:
get_param: [EndpointMap, HeatPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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
@@ -916,8 +2349,18 @@ outputs:
template:
get_param: [EndpointMap, HeatPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, HeatPublic, port]
HeatCfnAdmin:
@@ -926,8 +2369,31 @@ outputs:
template:
get_param: [EndpointMap, HeatCfnAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, HeatApiNetwork]
port:
get_param: [EndpointMap, HeatCfnAdmin, port]
protocol:
@@ -941,8 +2407,18 @@ outputs:
template:
get_param: [EndpointMap, HeatCfnAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, HeatApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, HeatCfnAdmin, port]
- /v1
@@ -955,8 +2431,18 @@ outputs:
template:
get_param: [EndpointMap, HeatCfnAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, HeatApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, HeatCfnAdmin, port]
HeatCfnInternal:
@@ -965,8 +2451,31 @@ outputs:
template:
get_param: [EndpointMap, HeatCfnInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, HeatApiNetwork]
port:
get_param: [EndpointMap, HeatCfnInternal, port]
protocol:
@@ -980,8 +2489,18 @@ outputs:
template:
get_param: [EndpointMap, HeatCfnInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, HeatApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, HeatCfnInternal, port]
- /v1
@@ -994,8 +2513,18 @@ outputs:
template:
get_param: [EndpointMap, HeatCfnInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: HeatApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, HeatApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, HeatApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, HeatCfnInternal, port]
HeatCfnPublic:
@@ -1004,8 +2533,31 @@ outputs:
template:
get_param: [EndpointMap, HeatCfnPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, HeatCfnPublic, port]
protocol:
@@ -1019,8 +2571,18 @@ outputs:
template:
get_param: [EndpointMap, HeatCfnPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, HeatCfnPublic, port]
- /v1
@@ -1033,8 +2595,18 @@ outputs:
template:
get_param: [EndpointMap, HeatCfnPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, HeatCfnPublic, port]
HorizonPublic:
@@ -1043,8 +2615,31 @@ outputs:
template:
get_param: [EndpointMap, HorizonPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, HorizonPublic, port]
protocol:
@@ -1058,8 +2653,18 @@ outputs:
template:
get_param: [EndpointMap, HorizonPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, HorizonPublic, port]
- /dashboard
@@ -1072,18 +2677,297 @@ outputs:
template:
get_param: [EndpointMap, HorizonPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, HorizonPublic, port]
+ IronicAdmin:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, IronicAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, IronicApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, IronicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, IronicApiNetwork]
+ port:
+ get_param: [EndpointMap, IronicAdmin, port]
+ protocol:
+ get_param: [EndpointMap, IronicAdmin, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, IronicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, IronicApiNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, IronicAdmin, port]
+ - /v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, IronicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, IronicApiNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, IronicAdmin, port]
+ IronicInternal:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, IronicInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, IronicApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, IronicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, IronicApiNetwork]
+ port:
+ get_param: [EndpointMap, IronicInternal, port]
+ protocol:
+ get_param: [EndpointMap, IronicInternal, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, IronicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, IronicApiNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, IronicInternal, port]
+ - /v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, IronicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, IronicApiNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, IronicInternal, port]
+ IronicPublic:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, IronicPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
+ port:
+ get_param: [EndpointMap, IronicPublic, port]
+ protocol:
+ get_param: [EndpointMap, IronicPublic, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, IronicPublic, port]
+ - /v1
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, IronicPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, IronicPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, IronicPublic, port]
KeystoneAdmin:
host:
str_replace:
template:
get_param: [EndpointMap, KeystoneAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
port:
get_param: [EndpointMap, KeystoneAdmin, port]
protocol:
@@ -1097,8 +2981,18 @@ outputs:
template:
get_param: [EndpointMap, KeystoneAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystoneAdmin, port]
- /v2.0
@@ -1111,8 +3005,18 @@ outputs:
template:
get_param: [EndpointMap, KeystoneAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystoneAdmin, port]
KeystoneEC2:
@@ -1121,8 +3025,31 @@ outputs:
template:
get_param: [EndpointMap, KeystoneInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
port:
get_param: [EndpointMap, KeystoneInternal, port]
protocol:
@@ -1136,8 +3063,18 @@ outputs:
template:
get_param: [EndpointMap, KeystoneInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystoneInternal, port]
- /v2.0/ec2tokens
@@ -1150,8 +3087,18 @@ outputs:
template:
get_param: [EndpointMap, KeystoneInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystoneInternal, port]
KeystoneInternal:
@@ -1160,8 +3107,31 @@ outputs:
template:
get_param: [EndpointMap, KeystoneInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
port:
get_param: [EndpointMap, KeystoneInternal, port]
protocol:
@@ -1175,8 +3145,18 @@ outputs:
template:
get_param: [EndpointMap, KeystoneInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystoneInternal, port]
- /v2.0
@@ -1189,8 +3169,18 @@ outputs:
template:
get_param: [EndpointMap, KeystoneInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystoneInternal, port]
KeystonePublic:
@@ -1199,8 +3189,31 @@ outputs:
template:
get_param: [EndpointMap, KeystonePublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, KeystonePublic, port]
protocol:
@@ -1214,8 +3227,18 @@ outputs:
template:
get_param: [EndpointMap, KeystonePublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystonePublic, port]
- /v2.0
@@ -1228,8 +3251,18 @@ outputs:
template:
get_param: [EndpointMap, KeystonePublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystonePublic, port]
KeystoneV3Admin:
@@ -1238,8 +3271,31 @@ outputs:
template:
get_param: [EndpointMap, KeystoneAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
port:
get_param: [EndpointMap, KeystoneAdmin, port]
protocol:
@@ -1253,8 +3309,18 @@ outputs:
template:
get_param: [EndpointMap, KeystoneAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystoneAdmin, port]
- /v3
@@ -1267,8 +3333,18 @@ outputs:
template:
get_param: [EndpointMap, KeystoneAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystoneAdminApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, KeystoneAdminApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystoneAdmin, port]
KeystoneV3Internal:
@@ -1277,8 +3353,31 @@ outputs:
template:
get_param: [EndpointMap, KeystoneInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
port:
get_param: [EndpointMap, KeystoneInternal, port]
protocol:
@@ -1292,8 +3391,18 @@ outputs:
template:
get_param: [EndpointMap, KeystoneInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystoneInternal, port]
- /v3
@@ -1306,8 +3415,18 @@ outputs:
template:
get_param: [EndpointMap, KeystoneInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: KeystonePublicApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, KeystonePublicApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystoneInternal, port]
KeystoneV3Public:
@@ -1316,8 +3435,31 @@ outputs:
template:
get_param: [EndpointMap, KeystonePublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, KeystonePublic, port]
protocol:
@@ -1331,8 +3473,18 @@ outputs:
template:
get_param: [EndpointMap, KeystonePublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystonePublic, port]
- /v3
@@ -1345,18 +3497,543 @@ outputs:
template:
get_param: [EndpointMap, KeystonePublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, KeystonePublic, port]
+ ManilaAdmin:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, ManilaAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ port:
+ get_param: [EndpointMap, ManilaAdmin, port]
+ protocol:
+ get_param: [EndpointMap, ManilaAdmin, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ 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
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, ManilaApiNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, ManilaAdmin, port]
+ ManilaInternal:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, ManilaInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ port:
+ get_param: [EndpointMap, ManilaInternal, port]
+ protocol:
+ get_param: [EndpointMap, ManilaInternal, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ 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
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, ManilaApiNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, ManilaInternal, port]
+ ManilaPublic:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, ManilaPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
+ port:
+ get_param: [EndpointMap, ManilaPublic, port]
+ protocol:
+ get_param: [EndpointMap, ManilaPublic, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, ManilaPublic, port]
+ ManilaV1Admin:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, ManilaAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ port:
+ get_param: [EndpointMap, ManilaAdmin, port]
+ protocol:
+ get_param: [EndpointMap, ManilaAdmin, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ 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
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaAdmin, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaAdmin, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, ManilaApiNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, ManilaAdmin, port]
+ ManilaV1Internal:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, ManilaInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ port:
+ get_param: [EndpointMap, ManilaInternal, port]
+ protocol:
+ get_param: [EndpointMap, ManilaInternal, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ 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
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaInternal, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaInternal, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, ManilaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, ManilaApiNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, ManilaInternal, port]
+ ManilaV1Public:
+ host:
+ str_replace:
+ template:
+ get_param: [EndpointMap, ManilaPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
+ port:
+ get_param: [EndpointMap, ManilaPublic, port]
+ protocol:
+ get_param: [EndpointMap, ManilaPublic, protocol]
+ uri:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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
+ uri_no_suffix:
+ list_join:
+ - ''
+ - - get_param: [EndpointMap, ManilaPublic, protocol]
+ - ://
+ - str_replace:
+ template:
+ get_param: [EndpointMap, ManilaPublic, host]
+ params:
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
+ - ':'
+ - get_param: [EndpointMap, ManilaPublic, port]
MysqlInternal:
host:
str_replace:
template:
get_param: [EndpointMap, MysqlInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: MysqlVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, MysqlNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, MysqlNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, MysqlNetwork]
port:
get_param: [EndpointMap, MysqlInternal, port]
protocol:
@@ -1370,8 +4047,18 @@ outputs:
template:
get_param: [EndpointMap, MysqlInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: MysqlVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, MysqlNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, MysqlNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, MysqlInternal, port]
uri_no_suffix:
@@ -1383,8 +4070,18 @@ outputs:
template:
get_param: [EndpointMap, MysqlInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: MysqlVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, MysqlNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, MysqlNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, MysqlInternal, port]
NeutronAdmin:
@@ -1393,8 +4090,31 @@ outputs:
template:
get_param: [EndpointMap, NeutronAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NeutronApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NeutronApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, NeutronApiNetwork]
port:
get_param: [EndpointMap, NeutronAdmin, port]
protocol:
@@ -1408,8 +4128,18 @@ outputs:
template:
get_param: [EndpointMap, NeutronAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NeutronApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NeutronApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NeutronAdmin, port]
uri_no_suffix:
@@ -1421,8 +4151,18 @@ outputs:
template:
get_param: [EndpointMap, NeutronAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NeutronApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NeutronApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NeutronAdmin, port]
NeutronInternal:
@@ -1431,8 +4171,31 @@ outputs:
template:
get_param: [EndpointMap, NeutronInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NeutronApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NeutronApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, NeutronApiNetwork]
port:
get_param: [EndpointMap, NeutronInternal, port]
protocol:
@@ -1446,8 +4209,18 @@ outputs:
template:
get_param: [EndpointMap, NeutronInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NeutronApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NeutronApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NeutronInternal, port]
uri_no_suffix:
@@ -1459,8 +4232,18 @@ outputs:
template:
get_param: [EndpointMap, NeutronInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NeutronApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NeutronApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NeutronApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NeutronInternal, port]
NeutronPublic:
@@ -1469,8 +4252,31 @@ outputs:
template:
get_param: [EndpointMap, NeutronPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, NeutronPublic, port]
protocol:
@@ -1484,8 +4290,18 @@ outputs:
template:
get_param: [EndpointMap, NeutronPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NeutronPublic, port]
uri_no_suffix:
@@ -1497,8 +4313,18 @@ outputs:
template:
get_param: [EndpointMap, NeutronPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NeutronPublic, port]
NovaAdmin:
@@ -1507,8 +4333,31 @@ outputs:
template:
get_param: [EndpointMap, NovaAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, NovaApiNetwork]
port:
get_param: [EndpointMap, NovaAdmin, port]
protocol:
@@ -1522,11 +4371,21 @@ outputs:
template:
get_param: [EndpointMap, NovaAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NovaApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaAdmin, port]
- - /v2.1/%(tenant_id)s
+ - /v2.1
uri_no_suffix:
list_join:
- ''
@@ -1536,8 +4395,18 @@ outputs:
template:
get_param: [EndpointMap, NovaAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NovaApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaAdmin, port]
NovaInternal:
@@ -1546,8 +4415,31 @@ outputs:
template:
get_param: [EndpointMap, NovaInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, NovaApiNetwork]
port:
get_param: [EndpointMap, NovaInternal, port]
protocol:
@@ -1561,11 +4453,21 @@ outputs:
template:
get_param: [EndpointMap, NovaInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NovaApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaInternal, port]
- - /v2.1/%(tenant_id)s
+ - /v2.1
uri_no_suffix:
list_join:
- ''
@@ -1575,8 +4477,18 @@ outputs:
template:
get_param: [EndpointMap, NovaInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NovaApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaInternal, port]
NovaPublic:
@@ -1585,8 +4497,31 @@ outputs:
template:
get_param: [EndpointMap, NovaPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, NovaPublic, port]
protocol:
@@ -1600,11 +4535,21 @@ outputs:
template:
get_param: [EndpointMap, NovaPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaPublic, port]
- - /v2.1/%(tenant_id)s
+ - /v2.1
uri_no_suffix:
list_join:
- ''
@@ -1614,8 +4559,18 @@ outputs:
template:
get_param: [EndpointMap, NovaPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaPublic, port]
NovaVNCProxyAdmin:
@@ -1624,8 +4579,31 @@ outputs:
template:
get_param: [EndpointMap, NovaVNCProxyAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, NovaApiNetwork]
port:
get_param: [EndpointMap, NovaVNCProxyAdmin, port]
protocol:
@@ -1639,8 +4617,18 @@ outputs:
template:
get_param: [EndpointMap, NovaVNCProxyAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NovaApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaVNCProxyAdmin, port]
uri_no_suffix:
@@ -1652,8 +4640,18 @@ outputs:
template:
get_param: [EndpointMap, NovaVNCProxyAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NovaApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaVNCProxyAdmin, port]
NovaVNCProxyInternal:
@@ -1662,8 +4660,31 @@ outputs:
template:
get_param: [EndpointMap, NovaVNCProxyInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, NovaApiNetwork]
port:
get_param: [EndpointMap, NovaVNCProxyInternal, port]
protocol:
@@ -1677,8 +4698,18 @@ outputs:
template:
get_param: [EndpointMap, NovaVNCProxyInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NovaApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaVNCProxyInternal, port]
uri_no_suffix:
@@ -1690,8 +4721,18 @@ outputs:
template:
get_param: [EndpointMap, NovaVNCProxyInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: NovaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, NovaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, NovaApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaVNCProxyInternal, port]
NovaVNCProxyPublic:
@@ -1700,8 +4741,31 @@ outputs:
template:
get_param: [EndpointMap, NovaVNCProxyPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, NovaVNCProxyPublic, port]
protocol:
@@ -1715,8 +4779,18 @@ outputs:
template:
get_param: [EndpointMap, NovaVNCProxyPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaVNCProxyPublic, port]
uri_no_suffix:
@@ -1728,8 +4802,18 @@ outputs:
template:
get_param: [EndpointMap, NovaVNCProxyPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, NovaVNCProxyPublic, port]
SaharaAdmin:
@@ -1738,8 +4822,31 @@ outputs:
template:
get_param: [EndpointMap, SaharaAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SaharaApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SaharaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, SaharaApiNetwork]
port:
get_param: [EndpointMap, SaharaAdmin, port]
protocol:
@@ -1753,8 +4860,18 @@ outputs:
template:
get_param: [EndpointMap, SaharaAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SaharaApiNetwork]
+ 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
@@ -1767,8 +4884,18 @@ outputs:
template:
get_param: [EndpointMap, SaharaAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SaharaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, SaharaApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SaharaAdmin, port]
SaharaInternal:
@@ -1777,8 +4904,31 @@ outputs:
template:
get_param: [EndpointMap, SaharaInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SaharaApiNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SaharaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, SaharaApiNetwork]
port:
get_param: [EndpointMap, SaharaInternal, port]
protocol:
@@ -1792,8 +4942,18 @@ outputs:
template:
get_param: [EndpointMap, SaharaInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SaharaApiNetwork]
+ 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
@@ -1806,8 +4966,18 @@ outputs:
template:
get_param: [EndpointMap, SaharaInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SaharaApiVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SaharaApiNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, SaharaApiNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SaharaInternal, port]
SaharaPublic:
@@ -1816,8 +4986,31 @@ outputs:
template:
get_param: [EndpointMap, SaharaPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, SaharaPublic, port]
protocol:
@@ -1831,8 +5024,18 @@ outputs:
template:
get_param: [EndpointMap, SaharaPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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
@@ -1845,8 +5048,18 @@ outputs:
template:
get_param: [EndpointMap, SaharaPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SaharaPublic, port]
SwiftAdmin:
@@ -1855,8 +5068,31 @@ outputs:
template:
get_param: [EndpointMap, SwiftAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
port:
get_param: [EndpointMap, SwiftAdmin, port]
protocol:
@@ -1870,8 +5106,18 @@ outputs:
template:
get_param: [EndpointMap, SwiftAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, SwiftProxyNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SwiftAdmin, port]
uri_no_suffix:
@@ -1883,8 +5129,18 @@ outputs:
template:
get_param: [EndpointMap, SwiftAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, SwiftProxyNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SwiftAdmin, port]
SwiftInternal:
@@ -1893,8 +5149,31 @@ outputs:
template:
get_param: [EndpointMap, SwiftInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
port:
get_param: [EndpointMap, SwiftInternal, port]
protocol:
@@ -1908,8 +5187,18 @@ outputs:
template:
get_param: [EndpointMap, SwiftInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ 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
@@ -1922,8 +5211,18 @@ outputs:
template:
get_param: [EndpointMap, SwiftInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, SwiftProxyNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SwiftInternal, port]
SwiftPublic:
@@ -1932,8 +5231,31 @@ outputs:
template:
get_param: [EndpointMap, SwiftPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, SwiftPublic, port]
protocol:
@@ -1947,8 +5269,18 @@ outputs:
template:
get_param: [EndpointMap, SwiftPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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
@@ -1961,8 +5293,18 @@ outputs:
template:
get_param: [EndpointMap, SwiftPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SwiftPublic, port]
SwiftS3Admin:
@@ -1971,8 +5313,31 @@ outputs:
template:
get_param: [EndpointMap, SwiftAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
port:
get_param: [EndpointMap, SwiftAdmin, port]
protocol:
@@ -1986,8 +5351,18 @@ outputs:
template:
get_param: [EndpointMap, SwiftAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, SwiftProxyNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SwiftAdmin, port]
uri_no_suffix:
@@ -1999,8 +5374,18 @@ outputs:
template:
get_param: [EndpointMap, SwiftAdmin, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, SwiftProxyNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SwiftAdmin, port]
SwiftS3Internal:
@@ -2009,8 +5394,31 @@ outputs:
template:
get_param: [EndpointMap, SwiftInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
port:
get_param: [EndpointMap, SwiftInternal, port]
protocol:
@@ -2024,8 +5432,18 @@ outputs:
template:
get_param: [EndpointMap, SwiftInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, SwiftProxyNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SwiftInternal, port]
uri_no_suffix:
@@ -2037,8 +5455,18 @@ outputs:
template:
get_param: [EndpointMap, SwiftInternal, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: SwiftProxyVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, SwiftProxyNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, SwiftProxyNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SwiftInternal, port]
SwiftS3Public:
@@ -2047,8 +5475,31 @@ outputs:
template:
get_param: [EndpointMap, SwiftPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - get_param: [ServiceNetMap, PublicNetwork]
port:
get_param: [EndpointMap, SwiftPublic, port]
protocol:
@@ -2062,8 +5513,18 @@ outputs:
template:
get_param: [EndpointMap, SwiftPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ IP_ADDRESS:
+ get_param:
+ - NetIpMap
+ - str_replace:
+ params:
+ NETWORK:
+ get_param: [ServiceNetMap, PublicNetwork]
+ template: NETWORK_uri
- ':'
- get_param: [EndpointMap, SwiftPublic, port]
uri_no_suffix:
@@ -2075,7 +5536,17 @@ outputs:
template:
get_param: [EndpointMap, SwiftPublic, host]
params:
- CLOUDNAME: {get_param: CloudName}
- IP_ADDRESS: {get_param: PublicVirtualIP}
+ CLOUDNAME:
+ get_param:
+ - CloudEndpoints
+ - get_param: [ServiceNetMap, PublicNetwork]
+ 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/management_v6.yaml b/network/management_v6.yaml
new file mode 100644
index 00000000..a5e70667
--- /dev/null
+++ b/network/management_v6.yaml
@@ -0,0 +1,69 @@
+heat_template_version: 2015-04-30
+
+description: >
+ Management network. System administration, SSH, DNS, NTP, etc. This network
+ would usually be the default gateway for the non-controller nodes.
+
+parameters:
+ # the defaults here work for static IP assignment (IPAM) only
+ ManagementNetCidr:
+ default: 'fd00:fd00:fd00:6000::/64'
+ description: Cidr for the management network.
+ type: string
+ ManagementNetValueSpecs:
+ default: {'provider:physical_network': 'management', 'provider:network_type': 'flat'}
+ description: Value specs for the management network.
+ type: json
+ ManagementNetAdminStateUp:
+ default: false
+ description: This admin state of of the network.
+ type: boolean
+ ManagementNetShared:
+ default: false
+ description: Whether this network is shared across all tenants.
+ type: boolean
+ ManagementNetName:
+ default: management
+ description: The name of the management network.
+ type: string
+ ManagementSubnetName:
+ default: management_subnet
+ description: The name of the management subnet in Neutron.
+ type: string
+ ManagementAllocationPools:
+ default: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}]
+ description: Ip allocation pool range for the management network.
+ type: json
+ IPv6AddressMode:
+ default: dhcpv6-stateful
+ description: Neutron subnet IPv6 address mode
+ type: string
+ IPv6RAMode:
+ default: dhcpv6-stateful
+ description: Neutron subnet IPv6 router advertisement mode
+ type: string
+
+resources:
+ ManagementNetwork:
+ type: OS::Neutron::Net
+ properties:
+ admin_state_up: {get_param: ManagementNetAdminStateUp}
+ name: {get_param: ManagementNetName}
+ shared: {get_param: ManagementNetShared}
+ value_specs: {get_param: ManagementNetValueSpecs}
+
+ ManagementSubnet:
+ type: OS::Neutron::Subnet
+ properties:
+ ip_version: 6
+ ipv6_address_mode: {get_param: IPv6AddressMode}
+ ipv6_ra_mode: {get_param: IPv6RAMode}
+ cidr: {get_param: ManagementNetCidr}
+ name: {get_param: ManagementSubnetName}
+ network: {get_resource: ManagementNetwork}
+ allocation_pools: {get_param: ManagementAllocationPools}
+
+outputs:
+ OS::stack_id:
+ description: Neutron management network
+ value: {get_resource: ManagementNetwork}
diff --git a/network/networks.yaml b/network/networks.yaml
index ab50ae11..d3ae482b 100644
--- a/network/networks.yaml
+++ b/network/networks.yaml
@@ -21,3 +21,6 @@ resources:
ManagementNetwork:
type: OS::TripleO::Network::Management
+
+ NetworkExtraConfig:
+ type: OS::TripleO::Network::ExtraConfig
diff --git a/network/ports/external_from_pool_v6.yaml b/network/ports/external_from_pool_v6.yaml
index baa544e7..e541049d 100644
--- a/network/ports/external_from_pool_v6.yaml
+++ b/network/ports/external_from_pool_v6.yaml
@@ -49,4 +49,4 @@ outputs:
- ''
- - {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
- '/'
- - {str_split: ['/', {get_attr: [ExternalPort, subnets, 0, cidr]}, 1]}
+ - {str_split: ['/', {get_param: ExternalNetCidr}, 1]}
diff --git a/network/ports/from_service.yaml b/network/ports/from_service.yaml
index 3d61910e..782b6b07 100644
--- a/network/ports/from_service.yaml
+++ b/network/ports/from_service.yaml
@@ -24,6 +24,12 @@ parameters:
description: The name of the undercloud Neutron control plane
default: ctlplane
type: string
+ FixedIPs: # Here for compatibility with ctlplane_vip.yaml
+ description: >
+ Control the IP allocation for the VIP port. E.g.
+ [{'ip_address':'1.2.3.4'}]
+ default: []
+ type: json
ServiceVips:
default: {}
type: json
diff --git a/network/ports/from_service_v6.yaml b/network/ports/from_service_v6.yaml
index 2dd0a0ee..80060b57 100644
--- a/network/ports/from_service_v6.yaml
+++ b/network/ports/from_service_v6.yaml
@@ -24,6 +24,12 @@ parameters:
description: The name of the undercloud Neutron control plane
default: ctlplane
type: string
+ FixedIPs: # Here for compatibility with ctlplane_vip.yaml
+ description: >
+ Control the IP allocation for the VIP port. E.g.
+ [{'ip_address':'1.2.3.4'}]
+ default: []
+ type: json
ServiceVips:
default: {}
type: json
diff --git a/network/ports/internal_api_from_pool_v6.yaml b/network/ports/internal_api_from_pool_v6.yaml
index 8d0a91b6..afb144ba 100644
--- a/network/ports/internal_api_from_pool_v6.yaml
+++ b/network/ports/internal_api_from_pool_v6.yaml
@@ -49,4 +49,4 @@ outputs:
- ''
- - {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
- '/'
- - {str_split: ['/', {get_attr: [InternalApiPort, subnets, 0, cidr]}, 1]}
+ - {str_split: ['/', {get_param: InternalApiNetCidr}, 1]}
diff --git a/network/ports/management_from_pool_v6.yaml b/network/ports/management_from_pool_v6.yaml
new file mode 100644
index 00000000..4c1cc216
--- /dev/null
+++ b/network/ports/management_from_pool_v6.yaml
@@ -0,0 +1,52 @@
+heat_template_version: 2015-10-15
+
+description: >
+ Returns an IP from a network mapped list of IPs. This version is for IPv6
+ addresses. The ip_address_uri output will have brackets for use in URLs.
+
+parameters:
+ ManagementNetName:
+ description: Name of the management network
+ default: management
+ type: string
+ PortName:
+ description: Name of the port
+ default: ''
+ type: string
+ ControlPlaneIP: # Here for compatability with noop.yaml
+ description: IP address on the control plane
+ default: ''
+ type: string
+ IPPool:
+ default: {}
+ description: A network mapped list of IPs
+ type: json
+ NodeIndex:
+ default: 0
+ description: Index of the IP to get from Pool
+ type: number
+ ManagementNetCidr:
+ default: 'fd00:fd00:fd00:6000::/64'
+ description: Cidr for the management network.
+ type: string
+
+outputs:
+ ip_address:
+ description: management network IP
+ value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
+ ip_address_uri:
+ description: management network IP (for compatibility with management_v6.yaml)
+ value:
+ list_join:
+ - ''
+ - - '['
+ - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
+ - ']'
+ ip_subnet:
+ description: IP/Subnet CIDR for the management network IP
+ value:
+ list_join:
+ - ''
+ - - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
+ - '/'
+ - {str_split: ['/', {get_param: ManagementNetCidr}, 1]}
diff --git a/network/ports/net_ip_list_map.yaml b/network/ports/net_ip_list_map.yaml
index 32272bd6..07e2de4c 100644
--- a/network/ports/net_ip_list_map.yaml
+++ b/network/ports/net_ip_list_map.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2015-04-30
+heat_template_version: 2016-10-14
parameters:
ControlPlaneIpList:
@@ -22,6 +22,15 @@ parameters:
ManagementIpList:
default: []
type: comma_delimited_list
+ EnabledServices:
+ default: []
+ type: comma_delimited_list
+ ServiceNetMap:
+ default: {}
+ type: json
+ ServiceHostnameList:
+ default: []
+ type: comma_delimited_list
outputs:
net_ip_map:
@@ -36,3 +45,48 @@ outputs:
storage_mgmt: {get_param: StorageMgmtIpList}
tenant: {get_param: TenantIpList}
management: {get_param: ManagementIpList}
+ 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_param: EnabledServices}
+ - values: {get_param: ServiceNetMap}
+ - values:
+ 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}
+ service_hostnames:
+ description: >
+ Map of enabled services to a list of hostnames where they're running
+ 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_node_names: {get_param: ServiceHostnameList}
+ for_each:
+ SERVICE: {get_param: EnabledServices}
diff --git a/network/ports/net_ip_map.yaml b/network/ports/net_ip_map.yaml
index 78c7c32c..fcf2eeee 100644
--- a/network/ports/net_ip_map.yaml
+++ b/network/ports/net_ip_map.yaml
@@ -82,32 +82,22 @@ outputs:
storage_mgmt: {get_param: StorageMgmtIp}
tenant: {get_param: TenantIp}
management: {get_param: ManagementIp}
- net_ip_subnet_map:
- description: >
- A Hash containing a mapping of network names to assigned IPs/CIDR
- for a specific machine.
- value:
- ctlplane:
+ ctlplane_subnet:
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:
- 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}
+ external_subnet: {get_param: ExternalIpSubnet}
+ internal_api_subnet: {get_param: InternalApiIpSubnet}
+ storage_subnet: {get_param: StorageIpSubnet}
+ storage_mgmt_subnet: {get_param: StorageMgmtIpSubnet}
+ tenant_subnet: {get_param: TenantIpSubnet}
+ management_subnet: {get_param: ManagementIpSubnet}
+ ctlplane_uri: {get_param: ControlPlaneIp}
+ external_uri: {get_param: ExternalIpUri}
+ internal_api_uri: {get_param: InternalApiIpUri}
+ storage_uri: {get_param: StorageIpUri}
+ storage_mgmt_uri: {get_param: StorageMgmtIpUri}
+ tenant_uri: {get_param: TenantIpUri}
+ management_uri: {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/ports/storage_from_pool_v6.yaml b/network/ports/storage_from_pool_v6.yaml
index 328f8385..18faf1bd 100644
--- a/network/ports/storage_from_pool_v6.yaml
+++ b/network/ports/storage_from_pool_v6.yaml
@@ -49,4 +49,4 @@ outputs:
- ''
- - {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
- '/'
- - {str_split: ['/', {get_attr: [StoragePort, subnets, 0, cidr]}, 1]}
+ - {str_split: ['/', {get_param: StorageNetCidr}, 1]}
diff --git a/network/ports/storage_mgmt_from_pool_v6.yaml b/network/ports/storage_mgmt_from_pool_v6.yaml
index 50470c92..e1145a31 100644
--- a/network/ports/storage_mgmt_from_pool_v6.yaml
+++ b/network/ports/storage_mgmt_from_pool_v6.yaml
@@ -49,4 +49,4 @@ outputs:
- ''
- - {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
- '/'
- - {str_split: ['/', {get_attr: [StorageMgmtPort, subnets, 0, cidr]}, 1]}
+ - {str_split: ['/', {get_param: StorageMgmtNetCidr}, 1]}
diff --git a/network/ports/tenant_from_pool_v6.yaml b/network/ports/tenant_from_pool_v6.yaml
index bbe6f736..d4f0d29c 100644
--- a/network/ports/tenant_from_pool_v6.yaml
+++ b/network/ports/tenant_from_pool_v6.yaml
@@ -48,4 +48,4 @@ outputs:
- ''
- - {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
- '/'
- - {str_split: ['/', {get_attr: [TenantPort, subnets, 0, cidr]}, 1]}
+ - {str_split: ['/', {get_param: TenantNetCidr}, 1]}
diff --git a/network/service_net_map.yaml b/network/service_net_map.yaml
new file mode 100644
index 00000000..6e5c2449
--- /dev/null
+++ b/network/service_net_map.yaml
@@ -0,0 +1,100 @@
+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
+ 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}