os-net-config templates to configure vlans
This patch adds 5 new role templates to help configure a vlans on top for each of the overcloud roles. This patch adds vlans on top of a single NIC attached to the control plane network (already used for provisioning). The patch also includes an environment file to enable configuration of vlans by simply sourcing this file. Change-Id: Ibc40e452dec9b372ff10442aab2bddaf382b0a2f
This commit is contained in:
parent
eaa5eb6a59
commit
cbac118888
13
environments/net-single-nic-with-vlans.yaml
Normal file
13
environments/net-single-nic-with-vlans.yaml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# This template configures each role to use Vlans on a single nic for
|
||||||
|
# each isolated network.
|
||||||
|
# This template assumes use of network-isolation.yaml.
|
||||||
|
#
|
||||||
|
# FIXME: if/when we add functionality to heatclient to include heat
|
||||||
|
# environment files we should think about using it here to automatically
|
||||||
|
# include network-isolation.yaml.
|
||||||
|
resource_registry:
|
||||||
|
OS::TripleO::BlockStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/cinder-storage.yaml
|
||||||
|
OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/single-nic-vlans/compute.yaml
|
||||||
|
OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/single-nic-vlans/controller.yaml
|
||||||
|
OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/swift-storage.yaml
|
||||||
|
OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/ceph-storage.yaml
|
19
network/config/single-nic-vlans/README.md
Normal file
19
network/config/single-nic-vlans/README.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
This directory contains Heat templates to help configure
|
||||||
|
Vlans on a single NICs for each Overcloud role.
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
-------------
|
||||||
|
|
||||||
|
To make use of these templates create a Heat environment that looks
|
||||||
|
something like this:
|
||||||
|
|
||||||
|
resource\_registry:
|
||||||
|
OS::TripleO::BlockStorage::Net::SoftwareConfig: network/config/single-nic-vlans/cinder-storage.yaml
|
||||||
|
OS::TripleO::Compute::Net::SoftwareConfig: network/config/single-nic-vlans/compute.yaml
|
||||||
|
OS::TripleO::Controller::Net::SoftwareConfig: network/config/single-nic-vlans/controller.yaml
|
||||||
|
OS::TripleO::ObjectStorage::Net::SoftwareConfig: network/config/single-nic-vlans/swift-storage.yaml
|
||||||
|
OS::TripleO::CephStorage::Net::SoftwareConfig: network/config/single-nic-vlans/ceph-storage.yaml
|
||||||
|
|
||||||
|
Or use this Heat environment file:
|
||||||
|
|
||||||
|
environments/net-single-nic-with-vlans.yaml
|
66
network/config/single-nic-vlans/ceph-storage.yaml
Normal file
66
network/config/single-nic-vlans/ceph-storage.yaml
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Software Config to drive os-net-config to configure VLANs for the
|
||||||
|
ceph storage role.
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
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
|
||||||
|
|
||||||
|
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: true
|
||||||
|
members:
|
||||||
|
-
|
||||||
|
type: interface
|
||||||
|
name: nic1
|
||||||
|
ovs_options: vlan_mode=trunk trunks=10,20,30,40,50
|
||||||
|
# force the MAC address of the bridge to this interface
|
||||||
|
primary: true
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
device: bond1
|
||||||
|
vlan_id: 30
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: StorageIpSubnet}
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
device: bond1
|
||||||
|
vlan_id: 40
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: StorageMgmtIpSubnet}
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
OS::stack_id:
|
||||||
|
description: The OsNetConfigImpl resource.
|
||||||
|
value: {get_resource: OsNetConfigImpl}
|
73
network/config/single-nic-vlans/cinder-storage.yaml
Normal file
73
network/config/single-nic-vlans/cinder-storage.yaml
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Software Config to drive os-net-config to configure VLANs for the
|
||||||
|
cinder storage role.
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
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
|
||||||
|
|
||||||
|
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: true
|
||||||
|
members:
|
||||||
|
-
|
||||||
|
type: interface
|
||||||
|
name: nic1
|
||||||
|
ovs_options: vlan_mode=trunk trunks=10,20,30,40,50
|
||||||
|
# force the MAC address of the bridge to this interface
|
||||||
|
primary: true
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
device: bond1
|
||||||
|
vlan_id: 20
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: InternalApiIpSubnet}
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
device: bond1
|
||||||
|
vlan_id: 30
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: StorageIpSubnet}
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
device: bond1
|
||||||
|
vlan_id: 40
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: StorageMgmtIpSubnet}
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
OS::stack_id:
|
||||||
|
description: The OsNetConfigImpl resource.
|
||||||
|
value: {get_resource: OsNetConfigImpl}
|
70
network/config/single-nic-vlans/compute.yaml
Normal file
70
network/config/single-nic-vlans/compute.yaml
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Software Config to drive os-net-config to configure VLANs for the
|
||||||
|
compute role.
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
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
|
||||||
|
|
||||||
|
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: true
|
||||||
|
members:
|
||||||
|
-
|
||||||
|
type: interface
|
||||||
|
name: nic1
|
||||||
|
ovs_options: vlan_mode=trunk trunks=10,20,30,40,50
|
||||||
|
# force the MAC address of the bridge to this interface
|
||||||
|
primary: true
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
vlan_id: 20
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: InternalApiIpSubnet}
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
vlan_id: 30
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: StorageIpSubnet}
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
vlan_id: 50
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: TenantIpSubnet}
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
OS::stack_id:
|
||||||
|
description: The OsNetConfigImpl resource.
|
||||||
|
value: {get_resource: OsNetConfigImpl}
|
82
network/config/single-nic-vlans/controller.yaml
Normal file
82
network/config/single-nic-vlans/controller.yaml
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Software Config to drive os-net-config to configure VLANs for the
|
||||||
|
controller role.
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
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
|
||||||
|
|
||||||
|
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: true
|
||||||
|
members:
|
||||||
|
-
|
||||||
|
type: interface
|
||||||
|
name: nic1
|
||||||
|
ovs_options: vlan_mode=trunk trunks=10,20,30,40,50
|
||||||
|
# force the MAC address of the bridge to this interface
|
||||||
|
primary: true
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
vlan_id: 10
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: ExternalIpSubnet}
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
vlan_id: 20
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: InternalApiIpSubnet}
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
vlan_id: 30
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: StorageIpSubnet}
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
vlan_id: 40
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: StorageMgmtIpSubnet}
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
vlan_id: 50
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: TenantIpSubnet}
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
OS::stack_id:
|
||||||
|
description: The OsNetConfigImpl resource.
|
||||||
|
value: {get_resource: OsNetConfigImpl}
|
73
network/config/single-nic-vlans/swift-storage.yaml
Normal file
73
network/config/single-nic-vlans/swift-storage.yaml
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
description: >
|
||||||
|
Software Config to drive os-net-config to configure VLANs for the
|
||||||
|
swift storage role.
|
||||||
|
|
||||||
|
parameters:
|
||||||
|
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
|
||||||
|
|
||||||
|
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: true
|
||||||
|
members:
|
||||||
|
-
|
||||||
|
type: interface
|
||||||
|
name: nic1
|
||||||
|
ovs_options: vlan_mode=trunk trunks=10,20,30,40,50
|
||||||
|
# force the MAC address of the bridge to this interface
|
||||||
|
primary: true
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
device: bond1
|
||||||
|
vlan_id: 20
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: InternalApiIpSubnet}
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
device: bond1
|
||||||
|
vlan_id: 30
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: StorageIpSubnet}
|
||||||
|
-
|
||||||
|
type: vlan
|
||||||
|
device: bond1
|
||||||
|
vlan_id: 40
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: StorageMgmtIpSubnet}
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
OS::stack_id:
|
||||||
|
description: The OsNetConfigImpl resource.
|
||||||
|
value: {get_resource: OsNetConfigImpl}
|
Loading…
Reference in New Issue
Block a user