diff options
Diffstat (limited to 'network')
-rw-r--r-- | network/config/bond-with-vlans/ceph-storage.yaml | 15 | ||||
-rw-r--r-- | network/config/bond-with-vlans/cinder-storage.yaml | 20 | ||||
-rw-r--r-- | network/config/bond-with-vlans/compute.yaml | 20 | ||||
-rw-r--r-- | network/config/bond-with-vlans/controller.yaml | 32 | ||||
-rw-r--r-- | network/config/bond-with-vlans/swift-storage.yaml | 20 | ||||
-rw-r--r-- | network/config/single-nic-vlans/ceph-storage.yaml | 12 | ||||
-rw-r--r-- | network/config/single-nic-vlans/cinder-storage.yaml | 18 | ||||
-rw-r--r-- | network/config/single-nic-vlans/compute.yaml | 18 | ||||
-rw-r--r-- | network/config/single-nic-vlans/controller.yaml | 30 | ||||
-rw-r--r-- | network/config/single-nic-vlans/swift-storage.yaml | 18 | ||||
-rw-r--r-- | network/external.yaml | 2 | ||||
-rw-r--r-- | network/ports/ctlplane_vip.yaml | 46 | ||||
-rw-r--r-- | network/ports/noop.yaml | 8 | ||||
-rw-r--r-- | network/ports/vip.yaml | 41 |
14 files changed, 262 insertions, 38 deletions
diff --git a/network/config/bond-with-vlans/ceph-storage.yaml b/network/config/bond-with-vlans/ceph-storage.yaml index 69e85b93..ed9fff7a 100644 --- a/network/config/bond-with-vlans/ceph-storage.yaml +++ b/network/config/bond-with-vlans/ceph-storage.yaml @@ -2,7 +2,7 @@ heat_template_version: 2015-04-30 description: > Software Config to drive os-net-config with 2 bonded nics on a bridge - with a VLANs attached for the ceph storage role. + with VLANs attached for the ceph storage role. parameters: ExternalIpSubnet: @@ -30,6 +30,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 + 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 + resources: OsNetConfigImpl: @@ -68,14 +77,14 @@ resources: - type: vlan device: bond1 - vlan_id: 30 + vlan_id: {get_param: StorageNetworkVlanID} addresses: - ip_netmask: {get_param: StorageIpSubnet} - type: vlan device: bond1 - vlan_id: 40 + vlan_id: {get_param: StorageMgmtNetworkVlanID} addresses: - ip_netmask: {get_param: StorageMgmtIpSubnet} diff --git a/network/config/bond-with-vlans/cinder-storage.yaml b/network/config/bond-with-vlans/cinder-storage.yaml index 0441565d..95733fca 100644 --- a/network/config/bond-with-vlans/cinder-storage.yaml +++ b/network/config/bond-with-vlans/cinder-storage.yaml @@ -2,7 +2,7 @@ heat_template_version: 2015-04-30 description: > Software Config to drive os-net-config with 2 bonded nics on a bridge - with a VLANs attached for the cinder storage role. + with VLANs attached for the cinder storage role. parameters: ExternalIpSubnet: @@ -30,6 +30,18 @@ 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 + 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 resources: OsNetConfigImpl: @@ -68,21 +80,21 @@ resources: - type: vlan device: bond1 - vlan_id: 20 + vlan_id: {get_param: InternalApiNetworkVlanID} addresses: - ip_netmask: {get_param: InternalApiIpSubnet} - type: vlan device: bond1 - vlan_id: 30 + vlan_id: {get_param: StorageNetworkVlanID} addresses: - ip_netmask: {get_param: StorageIpSubnet} - type: vlan device: bond1 - vlan_id: 40 + vlan_id: {get_param: StorageMgmtNetworkVlanID} addresses: - ip_netmask: {get_param: StorageMgmtIpSubnet} diff --git a/network/config/bond-with-vlans/compute.yaml b/network/config/bond-with-vlans/compute.yaml index d9d15ad1..709b3b5b 100644 --- a/network/config/bond-with-vlans/compute.yaml +++ b/network/config/bond-with-vlans/compute.yaml @@ -2,7 +2,7 @@ heat_template_version: 2015-04-30 description: > Software Config to drive os-net-config with 2 bonded nics on a bridge - with a VLANs attached for the compute role. + with VLANs attached for the compute role. parameters: ExternalIpSubnet: @@ -30,6 +30,18 @@ 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 + 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 + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number resources: OsNetConfigImpl: @@ -68,21 +80,21 @@ resources: - type: vlan device: bond1 - vlan_id: 20 + vlan_id: {get_param: InternalApiNetworkVlanID} addresses: - ip_netmask: {get_param: InternalApiIpSubnet} - type: vlan device: bond1 - vlan_id: 30 + vlan_id: {get_param: StorageNetworkVlanID} addresses: - ip_netmask: {get_param: StorageIpSubnet} - type: vlan device: bond1 - vlan_id: 50 + vlan_id: {get_param: TenantNetworkVlanID} addresses: - ip_netmask: {get_param: TenantIpSubnet} diff --git a/network/config/bond-with-vlans/controller.yaml b/network/config/bond-with-vlans/controller.yaml index 3fc314da..16a0dec2 100644 --- a/network/config/bond-with-vlans/controller.yaml +++ b/network/config/bond-with-vlans/controller.yaml @@ -2,7 +2,7 @@ heat_template_version: 2015-04-30 description: > Software Config to drive os-net-config with 2 bonded nics on a bridge - with a VLANs attached for the controller role. + with VLANs attached for the controller role. parameters: ExternalIpSubnet: @@ -30,6 +30,26 @@ 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 + 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 resources: OsNetConfigImpl: @@ -68,35 +88,35 @@ resources: - type: vlan device: bond1 - vlan_id: 10 + vlan_id: {get_param: ExternalNetworkVlanID} addresses: - ip_netmask: {get_param: ExternalIpSubnet} - type: vlan device: bond1 - vlan_id: 20 + vlan_id: {get_param: InternalApiNetworkVlanID} addresses: - ip_netmask: {get_param: InternalApiIpSubnet} - type: vlan device: bond1 - vlan_id: 30 + vlan_id: {get_param: StorageNetworkVlanID} addresses: - ip_netmask: {get_param: StorageIpSubnet} - type: vlan device: bond1 - vlan_id: 40 + vlan_id: {get_param: StorageMgmtNetworkVlanID} addresses: - ip_netmask: {get_param: StorageMgmtIpSubnet} - type: vlan device: bond1 - vlan_id: 50 + vlan_id: {get_param: TenantNetworkVlanID} addresses: - ip_netmask: {get_param: TenantIpSubnet} diff --git a/network/config/bond-with-vlans/swift-storage.yaml b/network/config/bond-with-vlans/swift-storage.yaml index 4dfa58fc..6549ce7a 100644 --- a/network/config/bond-with-vlans/swift-storage.yaml +++ b/network/config/bond-with-vlans/swift-storage.yaml @@ -2,7 +2,7 @@ heat_template_version: 2015-04-30 description: > Software Config to drive os-net-config with 2 bonded nics on a bridge - with a VLANs attached for the swift storage role. + with VLANs attached for the swift storage role. parameters: ExternalIpSubnet: @@ -30,6 +30,18 @@ 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 + 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 resources: OsNetConfigImpl: @@ -68,21 +80,21 @@ resources: - type: vlan device: bond1 - vlan_id: 20 + vlan_id: {get_param: InternalApiNetworkVlanID} addresses: - ip_netmask: {get_param: InternalApiIpSubnet} - type: vlan device: bond1 - vlan_id: 30 + vlan_id: {get_param: StorageNetworkVlanID} addresses: - ip_netmask: {get_param: StorageIpSubnet} - type: vlan device: bond1 - vlan_id: 40 + vlan_id: {get_param: StorageMgmtNetworkVlanID} addresses: - ip_netmask: {get_param: StorageMgmtIpSubnet} diff --git a/network/config/single-nic-vlans/ceph-storage.yaml b/network/config/single-nic-vlans/ceph-storage.yaml index 6bffb07e..4a25f763 100644 --- a/network/config/single-nic-vlans/ceph-storage.yaml +++ b/network/config/single-nic-vlans/ceph-storage.yaml @@ -25,6 +25,14 @@ parameters: default: '' description: IP address/subnet on the tenant network type: string + 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 resources: OsNetConfigImpl: @@ -46,13 +54,13 @@ resources: primary: true - type: vlan - vlan_id: 30 + vlan_id: {get_param: StorageNetworkVlanID} addresses: - ip_netmask: {get_param: StorageIpSubnet} - type: vlan - vlan_id: 40 + vlan_id: {get_param: StorageMgmtNetworkVlanID} addresses: - ip_netmask: {get_param: StorageMgmtIpSubnet} diff --git a/network/config/single-nic-vlans/cinder-storage.yaml b/network/config/single-nic-vlans/cinder-storage.yaml index e9f6c770..397b1ecd 100644 --- a/network/config/single-nic-vlans/cinder-storage.yaml +++ b/network/config/single-nic-vlans/cinder-storage.yaml @@ -25,6 +25,18 @@ parameters: default: '' description: IP address/subnet on the tenant network type: string + 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 resources: OsNetConfigImpl: @@ -46,19 +58,19 @@ resources: primary: true - type: vlan - vlan_id: 20 + vlan_id: {get_param: InternalApiNetworkVlanID} addresses: - ip_netmask: {get_param: InternalApiIpSubnet} - type: vlan - vlan_id: 30 + vlan_id: {get_param: StorageNetworkVlanID} addresses: - ip_netmask: {get_param: StorageIpSubnet} - type: vlan - vlan_id: 40 + vlan_id: {get_param: StorageMgmtNetworkVlanID} addresses: - ip_netmask: {get_param: StorageMgmtIpSubnet} diff --git a/network/config/single-nic-vlans/compute.yaml b/network/config/single-nic-vlans/compute.yaml index 89a83b25..c73aed5e 100644 --- a/network/config/single-nic-vlans/compute.yaml +++ b/network/config/single-nic-vlans/compute.yaml @@ -25,6 +25,18 @@ parameters: default: '' description: IP address/subnet on the tenant network type: string + 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 + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number resources: OsNetConfigImpl: @@ -46,19 +58,19 @@ resources: primary: true - type: vlan - vlan_id: 20 + vlan_id: {get_param: InternalApiNetworkVlanID} addresses: - ip_netmask: {get_param: InternalApiIpSubnet} - type: vlan - vlan_id: 30 + vlan_id: {get_param: StorageNetworkVlanID} addresses: - ip_netmask: {get_param: StorageIpSubnet} - type: vlan - vlan_id: 50 + vlan_id: {get_param: TenantNetworkVlanID} addresses: - ip_netmask: {get_param: TenantIpSubnet} diff --git a/network/config/single-nic-vlans/controller.yaml b/network/config/single-nic-vlans/controller.yaml index aab722c0..ca0cbcad 100644 --- a/network/config/single-nic-vlans/controller.yaml +++ b/network/config/single-nic-vlans/controller.yaml @@ -25,6 +25,26 @@ parameters: default: '' description: IP address/subnet on the tenant 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 resources: OsNetConfigImpl: @@ -46,31 +66,31 @@ resources: primary: true - type: vlan - vlan_id: 10 + vlan_id: {get_param: ExternalNetworkVlanID} addresses: - ip_netmask: {get_param: ExternalIpSubnet} - type: vlan - vlan_id: 20 + vlan_id: {get_param: InternalApiNetworkVlanID} addresses: - ip_netmask: {get_param: InternalApiIpSubnet} - type: vlan - vlan_id: 30 + vlan_id: {get_param: StorageNetworkVlanID} addresses: - ip_netmask: {get_param: StorageIpSubnet} - type: vlan - vlan_id: 40 + vlan_id: {get_param: StorageMgmtNetworkVlanID} addresses: - ip_netmask: {get_param: StorageMgmtIpSubnet} - type: vlan - vlan_id: 50 + vlan_id: {get_param: TenantNetworkVlanID} addresses: - ip_netmask: {get_param: TenantIpSubnet} diff --git a/network/config/single-nic-vlans/swift-storage.yaml b/network/config/single-nic-vlans/swift-storage.yaml index 93a91688..f033ced7 100644 --- a/network/config/single-nic-vlans/swift-storage.yaml +++ b/network/config/single-nic-vlans/swift-storage.yaml @@ -25,6 +25,18 @@ parameters: default: '' description: IP address/subnet on the tenant network type: string + 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 resources: OsNetConfigImpl: @@ -46,19 +58,19 @@ resources: primary: true - type: vlan - vlan_id: 20 + vlan_id: {get_param: InternalApiNetworkVlanID} addresses: - ip_netmask: {get_param: InternalApiIpSubnet} - type: vlan - vlan_id: 30 + vlan_id: {get_param: StorageNetworkVlanID} addresses: - ip_netmask: {get_param: StorageIpSubnet} - type: vlan - vlan_id: 40 + vlan_id: {get_param: StorageMgmtNetworkVlanID} addresses: - ip_netmask: {get_param: StorageMgmtIpSubnet} diff --git a/network/external.yaml b/network/external.yaml index e015dd88..bf4bdfe7 100644 --- a/network/external.yaml +++ b/network/external.yaml @@ -54,7 +54,7 @@ resources: enable_dhcp: {get_param: ExternalNetEnableDHCP} name: {get_param: ExternalSubnetName} network: {get_resource: ExternalNetwork} - allocation_pools: {get_resource: ExternalAllocationPools} + allocation_pools: {get_param: ExternalAllocationPools} outputs: OS::stack_id: diff --git a/network/ports/ctlplane_vip.yaml b/network/ports/ctlplane_vip.yaml new file mode 100644 index 00000000..d5001e43 --- /dev/null +++ b/network/ports/ctlplane_vip.yaml @@ -0,0 +1,46 @@ +heat_template_version: 2015-04-30 + +description: > + Creates a port for a VIP on the undercloud ctlplane network. + +parameters: + NetworkName: + description: # Here for compatibility with isolated networks + default: ctlplane + 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 + type: string + ControlPlaneNetwork: + description: The name of the undercloud Neutron control plane + default: ctlplane + type: string + + +resources: + + VipPort: + type: OS::Neutron::Port + properties: + network: {get_param: ControlPlaneNetwork} + name: {get_param: PortName} + replacement_policy: AUTO + +outputs: + ip_address: + description: Virtual IP network IP + value: {get_attr: [VipPort, fixed_ips, 0, ip_address]} + ip_subnet: + # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?) + description: IP/Subnet CIDR for the internal API network IP + value: + list_join: + - '' + - - {get_attr: [VipPort, fixed_ips, 0, ip_address]} + - '/' + - {get_attr: [VipPort, subnets, 0, cidr, -2]} + - {get_attr: [VipPort, subnets, 0, cidr, -1]} diff --git a/network/ports/noop.yaml b/network/ports/noop.yaml index 80eccf6e..9e1a1276 100644 --- a/network/ports/noop.yaml +++ b/network/ports/noop.yaml @@ -7,10 +7,18 @@ parameters: ControlPlaneIP: description: IP address on the control plane type: string + ControlPlaneNetwork: + description: Name of the control plane network + default: ctlplane + type: string PortName: description: Name of the port default: '' type: string + NetworkName: + description: # Here for compatability with vip.yaml + default: '' + type: string ControlPlaneSubnetCidr: # Override this via parameter_defaults default: '24' description: The subnet CIDR of the control plane network. diff --git a/network/ports/vip.yaml b/network/ports/vip.yaml new file mode 100644 index 00000000..b957e132 --- /dev/null +++ b/network/ports/vip.yaml @@ -0,0 +1,41 @@ +heat_template_version: 2015-04-30 + +description: > + Creates a port for a VIP on the isolated network NetworkName. + +parameters: + NetworkName: + description: Name of the network where the VIP will be created + default: internal_api + 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 + type: string + +resources: + + VipPort: + type: OS::Neutron::Port + properties: + network: {get_param: NetworkName} + name: {get_param: PortName} + replacement_policy: AUTO + +outputs: + ip_address: + description: Virtual IP network IP + value: {get_attr: [VipPort, fixed_ips, 0, ip_address]} + ip_subnet: + # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?) + description: IP/Subnet CIDR for the internal API network IP + value: + list_join: + - '' + - - {get_attr: [VipPort, fixed_ips, 0, ip_address]} + - '/' + - {get_attr: [VipPort, subnets, 0, cidr, -2]} + - {get_attr: [VipPort, subnets, 0, cidr, -1]} |