summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ceph-storage.yaml1
-rw-r--r--cinder-storage.yaml1
-rw-r--r--compute.yaml1
-rw-r--r--controller.yaml1
-rw-r--r--net-config-bond.yaml4
-rw-r--r--net-config-bridge.yaml4
-rw-r--r--net-config-noop.yaml4
-rw-r--r--net-config-static-bridge.yaml79
-rw-r--r--network/config/bond-with-vlans/ceph-storage.yaml41
-rw-r--r--network/config/bond-with-vlans/cinder-storage.yaml44
-rw-r--r--network/config/bond-with-vlans/compute.yaml44
-rw-r--r--network/config/bond-with-vlans/controller.yaml42
-rw-r--r--network/config/bond-with-vlans/swift-storage.yaml44
-rw-r--r--network/config/single-nic-vlans/ceph-storage.yaml38
-rw-r--r--network/config/single-nic-vlans/cinder-storage.yaml42
-rw-r--r--network/config/single-nic-vlans/compute.yaml42
-rw-r--r--network/config/single-nic-vlans/controller.yaml40
-rw-r--r--network/config/single-nic-vlans/swift-storage.yaml42
-rw-r--r--puppet/ceph-storage-puppet.yaml1
-rw-r--r--puppet/cinder-storage-puppet.yaml1
-rw-r--r--puppet/compute-puppet.yaml1
-rw-r--r--puppet/controller-puppet.yaml1
-rw-r--r--puppet/swift-storage-puppet.yaml1
-rw-r--r--swift-storage.yaml1
24 files changed, 454 insertions, 66 deletions
diff --git a/ceph-storage.yaml b/ceph-storage.yaml
index 5f9f5373..0dbcd3e7 100644
--- a/ceph-storage.yaml
+++ b/ceph-storage.yaml
@@ -85,6 +85,7 @@ resources:
NetworkConfig:
type: OS::TripleO::CephStorage::Net::SoftwareConfig
properties:
+ ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
diff --git a/cinder-storage.yaml b/cinder-storage.yaml
index f65d9289..7a686970 100644
--- a/cinder-storage.yaml
+++ b/cinder-storage.yaml
@@ -165,6 +165,7 @@ resources:
NetworkConfig:
type: OS::TripleO::BlockStorage::Net::SoftwareConfig
properties:
+ ControlPlaneIp: {get_attr: [BlockStorage, networks, ctlplane, 0]}
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
diff --git a/compute.yaml b/compute.yaml
index 9a2c6f17..dd968e72 100644
--- a/compute.yaml
+++ b/compute.yaml
@@ -315,6 +315,7 @@ resources:
NetworkConfig:
type: OS::TripleO::Compute::Net::SoftwareConfig
properties:
+ ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
diff --git a/controller.yaml b/controller.yaml
index 79f5ece5..d6438d13 100644
--- a/controller.yaml
+++ b/controller.yaml
@@ -585,6 +585,7 @@ resources:
NetworkConfig:
type: OS::TripleO::Controller::Net::SoftwareConfig
properties:
+ ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
diff --git a/net-config-bond.yaml b/net-config-bond.yaml
index d74fc0bc..797df4bf 100644
--- a/net-config-bond.yaml
+++ b/net-config-bond.yaml
@@ -4,6 +4,10 @@ description: >
Software Config to drive os-net-config with 2 bonded nics on a bridge.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
diff --git a/net-config-bridge.yaml b/net-config-bridge.yaml
index c3416e02..ad16ef0b 100644
--- a/net-config-bridge.yaml
+++ b/net-config-bridge.yaml
@@ -4,6 +4,10 @@ description: >
Software Config to drive os-net-config for a simple bridge.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
diff --git a/net-config-noop.yaml b/net-config-noop.yaml
index 3d88dd9c..30de5846 100644
--- a/net-config-noop.yaml
+++ b/net-config-noop.yaml
@@ -5,6 +5,10 @@ description: >
to use the parameter driven (init-neutron-ovs) configuration instead.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
diff --git a/net-config-static-bridge.yaml b/net-config-static-bridge.yaml
new file mode 100644
index 00000000..38b483bd
--- /dev/null
+++ b/net-config-static-bridge.yaml
@@ -0,0 +1,79 @@
+heat_template_version: 2015-04-30
+
+description: >
+ Software Config to drive os-net-config for a simple bridge configured
+ with a static IP address for the ctlplane network.
+
+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
+ 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
+ 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: ovs_bridge
+ name: {get_input: bridge_name}
+ use_dhcp: false
+ 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
+ name: {get_input: interface_name}
+ # force the MAC address of the bridge to this interface
+ primary: true
+
+outputs:
+ OS::stack_id:
+ description: The OsNetConfigImpl resource.
+ value: {get_resource: OsNetConfigImpl}
diff --git a/network/config/bond-with-vlans/ceph-storage.yaml b/network/config/bond-with-vlans/ceph-storage.yaml
index cd70cbef..cffc06f4 100644
--- a/network/config/bond-with-vlans/ceph-storage.yaml
+++ b/network/config/bond-with-vlans/ceph-storage.yaml
@@ -5,6 +5,10 @@ description: >
with VLANs attached for the ceph storage role.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@@ -38,7 +42,16 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt 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
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
resources:
OsNetConfigImpl:
@@ -49,6 +62,24 @@ resources:
os_net_config:
network_config:
-
+ type: interface
+ name: nic1
+ use_dhcp: false
+ 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: br-bond
members:
@@ -69,15 +100,15 @@ resources:
device: bond1
vlan_id: {get_param: StorageNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
-
type: vlan
device: bond1
vlan_id: {get_param: StorageMgmtNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageMgmtIpSubnet}
+ -
+ ip_netmask: {get_param: StorageMgmtIpSubnet}
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 866112cb..894d5982 100644
--- a/network/config/bond-with-vlans/cinder-storage.yaml
+++ b/network/config/bond-with-vlans/cinder-storage.yaml
@@ -5,6 +5,10 @@ description: >
with VLANs attached for the cinder storage role.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@@ -42,6 +46,16 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt 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
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
resources:
OsNetConfigImpl:
@@ -52,6 +66,24 @@ resources:
os_net_config:
network_config:
-
+ type: interface
+ name: nic1
+ use_dhcp: false
+ 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: br-bond
members:
@@ -72,22 +104,22 @@ resources:
device: bond1
vlan_id: {get_param: InternalApiNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: InternalApiIpSubnet}
+ -
+ ip_netmask: {get_param: InternalApiIpSubnet}
-
type: vlan
device: bond1
vlan_id: {get_param: StorageNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
-
type: vlan
device: bond1
vlan_id: {get_param: StorageMgmtNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageMgmtIpSubnet}
+ -
+ ip_netmask: {get_param: StorageMgmtIpSubnet}
outputs:
OS::stack_id:
diff --git a/network/config/bond-with-vlans/compute.yaml b/network/config/bond-with-vlans/compute.yaml
index 3a46a48d..7c79cd1a 100644
--- a/network/config/bond-with-vlans/compute.yaml
+++ b/network/config/bond-with-vlans/compute.yaml
@@ -5,6 +5,10 @@ description: >
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
@@ -42,6 +46,16 @@ parameters:
default: 50
description: Vlan ID for the tenant 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
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
resources:
OsNetConfigImpl:
@@ -52,6 +66,24 @@ resources:
os_net_config:
network_config:
-
+ type: interface
+ name: nic1
+ use_dhcp: false
+ 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:
@@ -72,22 +104,22 @@ resources:
device: bond1
vlan_id: {get_param: InternalApiNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: InternalApiIpSubnet}
+ -
+ ip_netmask: {get_param: InternalApiIpSubnet}
-
type: vlan
device: bond1
vlan_id: {get_param: StorageNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
-
type: vlan
device: bond1
vlan_id: {get_param: TenantNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
+ -
+ ip_netmask: {get_param: TenantIpSubnet}
outputs:
OS::stack_id:
diff --git a/network/config/bond-with-vlans/controller.yaml b/network/config/bond-with-vlans/controller.yaml
index 3c19f515..cd1961ad 100644
--- a/network/config/bond-with-vlans/controller.yaml
+++ b/network/config/bond-with-vlans/controller.yaml
@@ -5,6 +5,10 @@ description: >
with VLANs attached for the controller role.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@@ -55,6 +59,13 @@ parameters:
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.
+ type: string
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
resources:
OsNetConfigImpl:
@@ -65,6 +76,21 @@ resources:
os_net_config:
network_config:
-
+ type: interface
+ name: nic1
+ use_dhcp: false
+ addresses:
+ -
+ ip_netmask:
+ list_join:
+ - '/'
+ - - {get_param: ControlPlaneIp}
+ - {get_param: ControlPlaneSubnetCidr}
+ routes:
+ -
+ ip_netmask: 169.254.169.254/32
+ next_hop: {get_param: EC2MetadataIp}
+ -
type: ovs_bridge
name: {get_input: bridge_name}
members:
@@ -96,29 +122,29 @@ resources:
device: bond1
vlan_id: {get_param: InternalApiNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: InternalApiIpSubnet}
+ -
+ ip_netmask: {get_param: InternalApiIpSubnet}
-
type: vlan
device: bond1
vlan_id: {get_param: StorageNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
-
type: vlan
device: bond1
vlan_id: {get_param: StorageMgmtNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageMgmtIpSubnet}
+ -
+ ip_netmask: {get_param: StorageMgmtIpSubnet}
-
type: vlan
device: bond1
vlan_id: {get_param: TenantNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
+ -
+ ip_netmask: {get_param: TenantIpSubnet}
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 f31ed0e7..f182baef 100644
--- a/network/config/bond-with-vlans/swift-storage.yaml
+++ b/network/config/bond-with-vlans/swift-storage.yaml
@@ -5,6 +5,10 @@ description: >
with VLANs attached for the swift storage role.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@@ -42,6 +46,16 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt 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
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
resources:
OsNetConfigImpl:
@@ -52,6 +66,24 @@ resources:
os_net_config:
network_config:
-
+ type: interface
+ name: nic1
+ use_dhcp: false
+ 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: br-bond
members:
@@ -72,22 +104,22 @@ resources:
device: bond1
vlan_id: {get_param: InternalApiNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: InternalApiIpSubnet}
+ -
+ ip_netmask: {get_param: InternalApiIpSubnet}
-
type: vlan
device: bond1
vlan_id: {get_param: StorageNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
-
type: vlan
device: bond1
vlan_id: {get_param: StorageMgmtNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageMgmtIpSubnet}
+ -
+ ip_netmask: {get_param: StorageMgmtIpSubnet}
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 4a25f763..ddb41633 100644
--- a/network/config/single-nic-vlans/ceph-storage.yaml
+++ b/network/config/single-nic-vlans/ceph-storage.yaml
@@ -5,6 +5,10 @@ description: >
ceph storage role.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@@ -33,6 +37,16 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt 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
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
resources:
OsNetConfigImpl:
@@ -45,7 +59,21 @@ resources:
-
type: ovs_bridge
name: br-storage
- use_dhcp: true
+ use_dhcp: false
+ 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
@@ -56,14 +84,14 @@ resources:
type: vlan
vlan_id: {get_param: StorageNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
-
type: vlan
vlan_id: {get_param: StorageMgmtNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageMgmtIpSubnet}
+ -
+ ip_netmask: {get_param: StorageMgmtIpSubnet}
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 397b1ecd..4b2a5753 100644
--- a/network/config/single-nic-vlans/cinder-storage.yaml
+++ b/network/config/single-nic-vlans/cinder-storage.yaml
@@ -5,6 +5,10 @@ description: >
cinder storage role.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@@ -37,6 +41,16 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt 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
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
resources:
OsNetConfigImpl:
@@ -49,7 +63,21 @@ resources:
-
type: ovs_bridge
name: br-storage
- use_dhcp: true
+ use_dhcp: false
+ 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
@@ -60,20 +88,20 @@ resources:
type: vlan
vlan_id: {get_param: InternalApiNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: InternalApiIpSubnet}
+ -
+ ip_netmask: {get_param: InternalApiIpSubnet}
-
type: vlan
vlan_id: {get_param: StorageNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
-
type: vlan
vlan_id: {get_param: StorageMgmtNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageMgmtIpSubnet}
+ -
+ ip_netmask: {get_param: StorageMgmtIpSubnet}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-vlans/compute.yaml b/network/config/single-nic-vlans/compute.yaml
index c73aed5e..dc8d6851 100644
--- a/network/config/single-nic-vlans/compute.yaml
+++ b/network/config/single-nic-vlans/compute.yaml
@@ -5,6 +5,10 @@ description: >
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
@@ -37,6 +41,16 @@ parameters:
default: 50
description: Vlan ID for the tenant 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
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
resources:
OsNetConfigImpl:
@@ -49,7 +63,21 @@ resources:
-
type: ovs_bridge
name: {get_input: bridge_name}
- use_dhcp: true
+ use_dhcp: false
+ 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
@@ -60,20 +88,20 @@ resources:
type: vlan
vlan_id: {get_param: InternalApiNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: InternalApiIpSubnet}
+ -
+ ip_netmask: {get_param: InternalApiIpSubnet}
-
type: vlan
vlan_id: {get_param: StorageNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
-
type: vlan
vlan_id: {get_param: TenantNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
+ -
+ ip_netmask: {get_param: TenantIpSubnet}
outputs:
OS::stack_id:
diff --git a/network/config/single-nic-vlans/controller.yaml b/network/config/single-nic-vlans/controller.yaml
index 4cfa1317..c0f4132b 100644
--- a/network/config/single-nic-vlans/controller.yaml
+++ b/network/config/single-nic-vlans/controller.yaml
@@ -5,6 +5,10 @@ description: >
controller role.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@@ -49,6 +53,13 @@ parameters:
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.
+ type: string
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
resources:
OsNetConfigImpl:
@@ -61,7 +72,18 @@ resources:
-
type: ovs_bridge
name: {get_input: bridge_name}
- use_dhcp: true
+ use_dhcp: false
+ addresses:
+ -
+ ip_netmask:
+ list_join:
+ - '/'
+ - - {get_param: ControlPlaneIp}
+ - {get_param: ControlPlaneSubnetCidr}
+ routes:
+ -
+ ip_netmask: 169.254.169.254/32
+ next_hop: {get_param: EC2MetadataIp}
members:
-
type: interface
@@ -82,26 +104,26 @@ resources:
type: vlan
vlan_id: {get_param: InternalApiNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: InternalApiIpSubnet}
+ -
+ ip_netmask: {get_param: InternalApiIpSubnet}
-
type: vlan
vlan_id: {get_param: StorageNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
-
type: vlan
vlan_id: {get_param: StorageMgmtNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageMgmtIpSubnet}
+ -
+ ip_netmask: {get_param: StorageMgmtIpSubnet}
-
type: vlan
vlan_id: {get_param: TenantNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: TenantIpSubnet}
+ -
+ ip_netmask: {get_param: TenantIpSubnet}
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 f033ced7..5a308df0 100644
--- a/network/config/single-nic-vlans/swift-storage.yaml
+++ b/network/config/single-nic-vlans/swift-storage.yaml
@@ -5,6 +5,10 @@ description: >
swift storage role.
parameters:
+ ControlPlaneIp:
+ default: ''
+ description: IP address/subnet on the ctlplane network
+ type: string
ExternalIpSubnet:
default: ''
description: IP address/subnet on the external network
@@ -37,6 +41,16 @@ parameters:
default: 40
description: Vlan ID for the storage mgmt 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
+ EC2MetadataIp: # Override this via parameter_defaults
+ description: The IP address of the EC2 metadata server.
+ type: string
resources:
OsNetConfigImpl:
@@ -49,7 +63,21 @@ resources:
-
type: ovs_bridge
name: br-storage
- use_dhcp: true
+ use_dhcp: false
+ 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
@@ -60,20 +88,20 @@ resources:
type: vlan
vlan_id: {get_param: InternalApiNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: InternalApiIpSubnet}
+ -
+ ip_netmask: {get_param: InternalApiIpSubnet}
-
type: vlan
vlan_id: {get_param: StorageNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageIpSubnet}
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
-
type: vlan
vlan_id: {get_param: StorageMgmtNetworkVlanID}
addresses:
- -
- ip_netmask: {get_param: StorageMgmtIpSubnet}
+ -
+ ip_netmask: {get_param: StorageMgmtIpSubnet}
outputs:
OS::stack_id:
diff --git a/puppet/ceph-storage-puppet.yaml b/puppet/ceph-storage-puppet.yaml
index f08b83cd..4b4c76fc 100644
--- a/puppet/ceph-storage-puppet.yaml
+++ b/puppet/ceph-storage-puppet.yaml
@@ -102,6 +102,7 @@ resources:
NetworkConfig:
type: OS::TripleO::CephStorage::Net::SoftwareConfig
properties:
+ ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
diff --git a/puppet/cinder-storage-puppet.yaml b/puppet/cinder-storage-puppet.yaml
index d764c6f7..f597512a 100644
--- a/puppet/cinder-storage-puppet.yaml
+++ b/puppet/cinder-storage-puppet.yaml
@@ -161,6 +161,7 @@ resources:
NetworkConfig:
type: OS::TripleO::BlockStorage::Net::SoftwareConfig
properties:
+ ControlPlaneIp: {get_attr: [BlockStorage, networks, ctlplane, 0]}
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml
index 74e9b63e..3f730994 100644
--- a/puppet/compute-puppet.yaml
+++ b/puppet/compute-puppet.yaml
@@ -312,6 +312,7 @@ resources:
NetworkConfig:
type: OS::TripleO::Compute::Net::SoftwareConfig
properties:
+ ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index eb19b36d..084fe3d1 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -602,6 +602,7 @@ resources:
NetworkConfig:
type: OS::TripleO::Controller::Net::SoftwareConfig
properties:
+ ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
diff --git a/puppet/swift-storage-puppet.yaml b/puppet/swift-storage-puppet.yaml
index 5c4ff5a1..67617771 100644
--- a/puppet/swift-storage-puppet.yaml
+++ b/puppet/swift-storage-puppet.yaml
@@ -130,6 +130,7 @@ resources:
NetworkConfig:
type: OS::TripleO::ObjectStorage::Net::SoftwareConfig
properties:
+ ControlPlaneIp: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
diff --git a/swift-storage.yaml b/swift-storage.yaml
index 1a2967fa..d62d7d1a 100644
--- a/swift-storage.yaml
+++ b/swift-storage.yaml
@@ -149,6 +149,7 @@ resources:
NetworkConfig:
type: OS::TripleO::ObjectStorage::Net::SoftwareConfig
properties:
+ ControlPlaneIp: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}