debug: {get_input: 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}
             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:
 
         The tunnel types for the Neutron tenant network. To specify multiple
         values, use a comma separated string, like so: 'gre,vxlan'
     default: 'gre'
+  NeutronPublicInterfaceRawDevice:
+    default: ''
+    type: string
+  NeutronDVR:
+    default: 'False'
+    type: string
+  NeutronMetadataProxySharedSecret:
+    default: 'unset'
+    description: Shared secret to prevent spoofing
+    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
+  NeutronAgentMode:
+    default: 'dvr_snat'
+    description: Agent mode for the neutron-l3-agent on the controller hosts
+    type: string
   NovaApiHost:
     type: string
     default: ''  # Has to be here because of the ignored empty value bug
         neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
         neutron_public_interface: {get_param: NeutronPublicInterface}
         neutron_password: {get_param: NeutronPassword}
+        neutron_agent_mode: {get_param: NeutronAgentMode}
+        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}
+        neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
         admin_password: {get_param: AdminPassword}
         rabbit_host: {get_param: RabbitHost}
         rabbit_username: {get_param: RabbitUserName}
 
     default: 'dhcp-option-force=26,1400'
     description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead.
     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
+  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
   NeutronEnableTunnelling:
     type: string
     default: "True"
           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: {get_input: neutron_enable_tunneling}
             local_ip: {get_input: controller_host}
 
       overcloud.yaml to include the deployment of VLAN ports to the control
       plane.
     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
   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
   NovaPassword:
     default: unset
     description: The password for the nova service account, used by nova-api.
           NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
           NeutronPassword: {get_param: NeutronPassword}
           NeutronDnsmasqOptions: {get_param: NeutronDnsmasqOptions}
+          NeutronDVR: {get_param: NeutronDVR}
+          NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
+          NeutronAgentMode: {get_param: NeutronAgentMode}
+          NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
+          NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
           NovaPassword: {get_param: NovaPassword}
           NtpServer: {get_param: NtpServer}
           PublicVirtualInterface: {get_param: PublicVirtualInterface}
           NeutronPassword: {get_param: NeutronPassword}
           NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
           NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
+          NeutronDVR: {get_param: NeutronDVR}
+          NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
+          NeutronAgentMode: {get_param: NeutronComputeAgentMode}
+          NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
+          NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
+          NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
           NovaApiHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
           NovaComputeDriver: {get_param: NovaComputeDriver}
           NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig}