From: Erik Colnick Date: Wed, 8 Oct 2014 13:04:07 +0000 (-0600) Subject: Enable Neutron DVR support in TripleO installation X-Git-Tag: opnfv-6.0.0~2725^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=23d85de69b7921e76dce7ce8080eefaf06b094ff;p=apex-tripleo-heat-templates.git Enable Neutron DVR support in TripleO installation This change adds the necessary elements to the overcloud-source.yaml, nova-compute-config.yaml and nova-compute-instance.yaml to allow Neutron Distributed Virtual Routers (DVR) to be enabled. The added elements are set to default to values such that DVR is not enabled in keeping with backwards compatibility. Change-Id: I422c65e7d941593083d52ad7fdf0dfd1d2fb3155 blueprint: support-neutron-dvr --- diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml index 63685df6..8ba778bc 100644 --- a/nova-compute-config.yaml +++ b/nova-compute-config.yaml @@ -34,7 +34,12 @@ resources: debug: {get_param: Debug} flat-networks: {get_input: neutron_flat_networks} host: {get_input: neutron_host} + router_distributed: {get_input: neutron_router_distributed} + agent_mode: {get_input: neutron_agent_mode} ovs_db: {get_input: neutron_dsn} + metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret} + mechanism_drivers: {get_input: neutron_mechanism_drivers} + allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover} ovs: local_ip: {get_input: neutron_local_ip} tenant_network_type: {get_input: neutron_tenant_network_type} @@ -44,6 +49,7 @@ resources: enable_tunneling: {get_input: neutron_enable_tunneling} physical_bridge: {get_input: neutron_physical_bridge} public_interface: {get_input: neutron_public_interface} + public_interface_raw_device: {get_input: neutron_public_interface_raw_device} service-password: {get_input: neutron_password} admin-password: {get_input: admin_password} rabbit: diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml index ab958b77..180657a6 100644 --- a/nova-compute-instance.yaml +++ b/nova-compute-instance.yaml @@ -144,6 +144,22 @@ parameters: The tunnel types for the Neutron tenant network. To specify multiple values, use a comma separated string, like so: 'gre,vxlan' type: string + NeutronPublicInterfaceRawDevice: + default: '' + type: string + NeutronDVR: + default: 'False' + type: string + NeutronMechanismDrivers: + default: 'openvswitch' + description: | + The mechanism drivers for the Neutron tenant network. To specify multiple + values, use a comma separated string, like so: 'openvswitch,l2_population' + type: string + NeutronAllowL3AgentFailover: + default: 'True' + description: Allow automatic l3-agent failover + type: string NovaApiHost: type: string NovaComputeDriver: @@ -240,7 +256,13 @@ resources: neutron_enable_tunneling: {get_param: NeutronEnableTunnelling} neutron_physical_bridge: {get_param: NeutronPhysicalBridge} neutron_public_interface: {get_param: NeutronPublicInterface} + neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice} neutron_password: {get_param: NeutronPassword} + neutron_agent_mode: {get_param: NeutronComputeAgentMode} + neutron_router_distributed: {get_param: NeutronDVR} + neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret} + neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers} + neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover} admin_password: {get_param: AdminPassword} rabbit_host: {get_param: RabbitHost} rabbit_username: {get_param: RabbitUserName} diff --git a/overcloud-source.yaml b/overcloud-source.yaml index 55300062..fdabde97 100644 --- a/overcloud-source.yaml +++ b/overcloud-source.yaml @@ -267,12 +267,46 @@ parameters: overcloud.yaml to include the deployment of VLAN ports to the control plane. type: string + NeutronPublicInterfaceRawDevice: + default: '' + description: If set, the public interface is a vlan with this device as the raw device. + type: string + NeutronComputeAgentMode: + default: 'dvr' + description: Agent mode for the neutron-l3-agent on the compute hosts + type: string + NeutronAgentMode: + default: 'dvr_snat' + description: Agent mode for the neutron-l3-agent on the controller hosts + type: string + NeutronDVR: + default: 'False' + description: Whether to configure Neutron Distributed Virtual Routers + type: string + NeutronMetadataProxySharedSecret: + default: 'unset' + description: Shared secret to prevent spoofing + type: string + NeutronNetworkType: + default: 'gre' + description: The tenant network type for Neutron, either gre or vxlan. + type: string NeutronTunnelTypes: default: 'gre' description: | The tunnel types for the Neutron tenant network. To specify multiple values, use a comma separated string, like so: 'gre,vxlan' type: string + NeutronMechanismDrivers: + default: 'openvswitch' + description: | + The mechanism drivers for the Neutron tenant network. To specify multiple + values, use a comma separated string, like so: 'openvswitch,l2_population' + type: string + NeutronAllowL3AgentFailover: + default: 'True' + description: Allow automatic l3-agent failover + type: string NovaComputeDriver: default: libvirt.LibvirtDriver type: string @@ -418,6 +452,16 @@ resources: get_param: HypervisorNeutronPublicInterface NeutronBridgeMappings: get_param: NeutronBridgeMappings + NeutronDVR: + get_param: NeutronDVR + NeutronAgentMode: + get_param: NeutronComputeAgentMode + NeutronPublicInterfaceRawDevice: + get_param: NeutronPublicInterfaceRawDevice + NeutronMechanismDrivers: + get_param: NeutronMechanismDrivers + NeutronAllowL3AgentFailover: + get_param: NeutronAllowL3AgentFailover NovaCompute0AllNodesDeployment: type: FileInclude Path: nova-compute-instance.yaml @@ -575,7 +619,11 @@ resources: debug: {get_param: Debug} flat-networks: {get_param: NeutronFlatNetworks} host: {get_input: controller_virtual_ip} - metadata_proxy_shared_secret: unset + metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret} + agent_mode: {get_param: NeutronAgentMode} + router_distributed: {get_param: NeutronDVR} + mechanism_drivers: {get_param: NeutronMechanismDrivers} + allow_automatic_l3agent_failover: {get_param: NeutronAllowL3AgentFailover} ovs: enable_tunneling: 'True' local_ip: diff --git a/undercloud-source.yaml b/undercloud-source.yaml index 94795934..b7e230db 100644 --- a/undercloud-source.yaml +++ b/undercloud-source.yaml @@ -170,6 +170,9 @@ parameters: description: The password for the nova service account, used by nova-api. type: string hidden: true + NeutronDVR: + default: 'False' + type: string NtpServer: type: string default: ''