From 23d85de69b7921e76dce7ce8080eefaf06b094ff Mon Sep 17 00:00:00 2001 From: Erik Colnick Date: Wed, 8 Oct 2014 07:04:07 -0600 Subject: 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 --- nova-compute-config.yaml | 6 ++++++ nova-compute-instance.yaml | 22 ++++++++++++++++++++ overcloud-source.yaml | 50 +++++++++++++++++++++++++++++++++++++++++++++- undercloud-source.yaml | 3 +++ 4 files changed, 80 insertions(+), 1 deletion(-) 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: '' -- cgit 1.2.3-korg