diff options
author | Tim Rozet <trozet@redhat.com> | 2016-01-16 22:50:36 -0500 |
---|---|---|
committer | Tim Rozet <trozet@redhat.com> | 2016-01-17 23:55:30 -0500 |
commit | 668e52b657e134d27dbd03b473dc927daa58dda6 (patch) | |
tree | 3d7fe66b42f8df8aea7696b16d94b6b467f5c79d /build/nics/compute_private_br-ex.yaml | |
parent | 2a937932642f3e8288d338c6fa4a2b6a7a5defc2 (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_private_br-ex.yaml')
-rw-r--r-- | build/nics/compute_private_br-ex.yaml | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/build/nics/compute_private_br-ex.yaml b/build/nics/compute_private_br-ex.yaml new file mode 100644 index 00000000..94a39bf5 --- /dev/null +++ b/build/nics/compute_private_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: interface + name: nic2 + use_dhcp: false + addresses: + - + ip_netmask: {get_param: TenantIpSubnet} + - + 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 +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} |