Big Switch Neutron ML2 plugin integration
[apex-tripleo-heat-templates.git] / puppet / manifests / overcloud_controller.pp
index c2b12a6..fdb16ea 100644 (file)
@@ -220,6 +220,7 @@ if hiera('step') >= 3 {
   include ::nova::network::neutron
   include ::nova::vncproxy
   include ::nova::scheduler
+  include ::nova::scheduler::filter
 
   include ::neutron
   include ::neutron::server
@@ -238,12 +239,31 @@ if hiera('step') >= 3 {
   class { 'neutron::plugins::ml2':
     flat_networks => split(hiera('neutron_flat_networks'), ','),
     tenant_network_types => [hiera('neutron_tenant_network_type')],
+    mechanism_drivers   => [hiera('neutron_mechanism_drivers')],
   }
   class { 'neutron::agents::ml2::ovs':
     bridge_mappings => split(hiera('neutron_bridge_mappings'), ','),
     tunnel_types => split(hiera('neutron_tunnel_types'), ','),
   }
 
+  if 'cisco_ucsm' in hiera('neutron_mechanism_drivers') {
+    include ::neutron::plugins::ml2::cisco::ucsm
+  }
+  if 'cisco_nexus' in hiera('neutron_mechanism_drivers') {
+    include ::neutron::plugins::ml2::cisco::nexus
+    include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
+  }
+
+  if hiera('neutron_enable_bigswitch_ml2', false) {
+    include neutron::plugins::ml2::bigswitch::restproxy
+  }
+  neutron_l3_agent_config {
+    'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false);
+  }
+  neutron_dhcp_agent_config {
+    'DEFAULT/ovs_use_veth': value => hiera('neutron_ovs_use_veth', false);
+  }
+
   Service['neutron-server'] -> Service['neutron-dhcp-service']
   Service['neutron-server'] -> Service['neutron-l3']
   Service['neutron-server'] -> Service['neutron-ovs-agent-service']