summaryrefslogtreecommitdiffstats
path: root/build/nics/compute_storage_br-ex.yaml
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2016-01-16 22:50:36 -0500
committerTim Rozet <trozet@redhat.com>2016-01-17 23:55:30 -0500
commit668e52b657e134d27dbd03b473dc927daa58dda6 (patch)
tree3d7fe66b42f8df8aea7696b16d94b6b467f5c79d /build/nics/compute_storage_br-ex.yaml
parent2a937932642f3e8288d338c6fa4a2b6a7a5defc2 (diff)
Adds ODL L3 and external network support on compute nodes
Adds support for ODL L3 which uses DVR (distributed virtual routing). Due to DVR compute nodes must have br-ex. In addition, neutron must force metadata via dhcp agent, since there is no neutron L3 agent running. ODL L3 runs as custom plugin to neutron. Also adds support for configuring IP on public NIC now by default. This is needed for ONOS deployment, and access via public interface. Change-Id: I5df0e49bd903efacf8c87486da27576b01ce5779 Signed-off-by: Tim Rozet <trozet@redhat.com>
Diffstat (limited to 'build/nics/compute_storage_br-ex.yaml')
-rw-r--r--build/nics/compute_storage_br-ex.yaml114
1 files changed, 114 insertions, 0 deletions
diff --git a/build/nics/compute_storage_br-ex.yaml b/build/nics/compute_storage_br-ex.yaml
new file mode 100644
index 00000000..47412a51
--- /dev/null
+++ b/build/nics/compute_storage_br-ex.yaml
@@ -0,0 +1,114 @@
+heat_template_version: 2015-04-30
+
+description: >
+ Software Config to drive os-net-config to configure multiple interfaces
+ 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
+ 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
+ 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 subnet CIDR of the control plane network.
+ type: string
+ ExternalInterfaceDefaultRoute:
+ default: '10.0.0.1'
+ description: default route for the external 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: json
+ 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}
+ -
+ type: ovs_bridge
+ name: {get_input: bridge_name}
+ use_dhcp: false
+ addresses:
+ -
+ ip_netmask: {get_param: ExternalIpSubnet}
+ routes:
+ -
+ ip_netmask: 0.0.0.0/0
+ next_hop: {get_param: ExternalInterfaceDefaultRoute}
+ members:
+ -
+ type: interface
+ name: nic3
+ # force the MAC address of the bridge to this interface
+ primary: true
+ -
+ type: interface
+ name: nic4
+ use_dhcp: false
+ addresses:
+ -
+ ip_netmask: {get_param: StorageIpSubnet}
+outputs:
+ OS::stack_id:
+ description: The OsNetConfigImpl resource.
+ value: {get_resource: OsNetConfigImpl}