Fixes port binding controller for OpenDaylight
authorTim Rozet <trozet@redhat.com>
Wed, 22 Mar 2017 23:55:31 +0000 (19:55 -0400)
committerTim Rozet <trozet@redhat.com>
Mon, 27 Mar 2017 20:19:48 +0000 (16:19 -0400)
In Ocata and later, the port binding controller for ODL was changed by
default to be the pseudo agent controller, which requires a new feature
"host config" for OVS.  This patch modifies the default to use
network-topology, which will work without any new host config features
implemented (previous way of port binding).

Closes-Bug: 1675211

Depends-On: I5004fdeb238dea81bc4f7e9437843a8a080d5b46

Change-Id: I6a6969d1d6b8d8b8ac31fecd57af85eb653245d2
Signed-off-by: Tim Rozet <trozet@redhat.com>
environments/neutron-opendaylight.yaml
puppet/services/neutron-plugin-ml2-odl.yaml [new file with mode: 0644]

index ed7292b..4644725 100644 (file)
@@ -3,6 +3,7 @@ resource_registry:
   OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
   OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
   OS::TripleO::Services::ComputeNeutronCorePlugin: OS::Heat::None
+  OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/neutron-plugin-ml2-odl.yaml
   OS::TripleO::Services::OpenDaylightApi: ../puppet/services/opendaylight-api.yaml
   OS::TripleO::Services::OpenDaylightOvs: ../puppet/services/opendaylight-ovs.yaml
   OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
diff --git a/puppet/services/neutron-plugin-ml2-odl.yaml b/puppet/services/neutron-plugin-ml2-odl.yaml
new file mode 100644 (file)
index 0000000..acacadf
--- /dev/null
@@ -0,0 +1,45 @@
+heat_template_version: ocata
+
+description: >
+  OpenStack Neutron ML2/OpenDaylight plugin configured with Puppet
+
+parameters:
+  ServiceNetMap:
+    default: {}
+    description: Mapping of service_name -> network name. Typically set
+                 via parameter_defaults in the resource registry.  This
+                 mapping overrides those in ServiceNetMapDefaults.
+    type: json
+  DefaultPasswords:
+    default: {}
+    type: json
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+  OpenDaylightPortBindingController:
+    description: OpenDaylight port binding controller
+    type: string
+    default: 'network-topology'
+
+resources:
+
+  NeutronMl2Base:
+    type: ./neutron-plugin-ml2.yaml
+    properties:
+      ServiceNetMap: {get_param: ServiceNetMap}
+      DefaultPasswords: {get_param: DefaultPasswords}
+      EndpointMap: {get_param: EndpointMap}
+
+outputs:
+  role_data:
+    description: Role data for the Neutron ML2/ODL plugin.
+    value:
+      service_name: neutron_plugin_ml2_odl
+      config_settings:
+        map_merge:
+          - get_attr: [NeutronMl2Base, role_data, config_settings]
+          - neutron::plugins::ml2::opendaylight::port_binding_controller: {get_param: OpenDaylightPortBindingController}
+      step_config: |
+        include ::tripleo::profile::base::neutron::plugins::ml2