Add networking-vpp ML2 mechanism driver support
authorFeng Pan <fpan@redhat.com>
Tue, 7 Mar 2017 14:34:35 +0000 (09:34 -0500)
committerFeng Pan <fpan@redhat.com>
Wed, 15 Mar 2017 14:25:56 +0000 (10:25 -0400)
Implements: blueprint fdio-integration-tripleo

Change-Id: I5af0b8bbfa3ea6ace9a5cce4aa2fc1fab49ab9f2
Signed-off-by: Feng Pan <fpan@redhat.com>
manifests/profile/base/neutron/agents/vpp.pp [new file with mode: 0644]
manifests/profile/base/neutron/plugins/ml2.pp
manifests/profile/base/neutron/plugins/ml2/vpp.pp [new file with mode: 0644]
releasenotes/notes/vpp-ml2-9c1321fa30f3b172.yaml [new file with mode: 0644]

diff --git a/manifests/profile/base/neutron/agents/vpp.pp b/manifests/profile/base/neutron/agents/vpp.pp
new file mode 100644 (file)
index 0000000..e961aa7
--- /dev/null
@@ -0,0 +1,49 @@
+# Copyright 2017 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::profile::base::neutron::agents::vpp
+#
+# Neutron VPP Agent profile for tripleo
+#
+# === Parameters
+#
+# [*step*]
+#   (Optional) The current step in deployment. See tripleo-heat-templates
+#   for more details.
+#   Defaults to hiera('step')
+#
+# [*etcd_host*]
+#   (Optional) etcd server VIP.
+#   Defaults to hiera('etcd_vip')
+#
+# [*etcd_port*]
+#   (Optional) etcd server listening port.
+#   Defaults to 2379
+#
+class tripleo::profile::base::neutron::agents::vpp(
+  $step      = hiera('step'),
+  $etcd_host = hiera('etcd_vip'),
+  $etcd_port = 2379,
+) {
+  if empty($etcd_host) {
+    fail('etcd_vip not set in hieradata')
+  }
+
+  if $step >= 4 {
+    class { '::neutron::agents::ml2::vpp':
+      etcd_host => $etcd_host,
+      etcd_port => $etcd_port,
+    }
+  }
+}
index 52d4ca1..1702fed 100644 (file)
@@ -81,5 +81,9 @@ class tripleo::profile::base::neutron::plugins::ml2 (
       include ::neutron::plugins::ml2::fujitsu
       include ::neutron::plugins::ml2::fujitsu::fossw
     }
+
+    if 'vpp' in $mechanism_drivers {
+      include ::tripleo::profile::base::neutron::plugins::ml2::vpp
+    }
   }
 }
diff --git a/manifests/profile/base/neutron/plugins/ml2/vpp.pp b/manifests/profile/base/neutron/plugins/ml2/vpp.pp
new file mode 100644 (file)
index 0000000..217e4cf
--- /dev/null
@@ -0,0 +1,49 @@
+# Copyright 2017 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::profile::base::neutron::plugins::ml2::vpp
+#
+# VPP Neutron ML2 profile for tripleo
+#
+# === Parameters
+#
+# [*step*]
+#   (Optional) The current step in deployment. See tripleo-heat-templates
+#   for more details.
+#   Defaults to hiera('step')
+#
+# [*etcd_host*]
+#   (Optional) etcd server VIP.
+#   Defaults to hiera('etcd_vip')
+#
+# [*etcd_port*]
+#   (Optional) etcd server listening port.
+#   Defaults to 2379
+#
+class tripleo::profile::base::neutron::plugins::ml2::vpp (
+  $step      = hiera('step'),
+  $etcd_host = hiera('etcd_vip'),
+  $etcd_port = 2379,
+) {
+  if empty($etcd_host) {
+    fail('etcd_vip not set in hieradata')
+  }
+
+  if $step >= 4 {
+    class { '::neutron::plugins::ml2::vpp':
+      etcd_host => $etcd_host,
+      etcd_port => $etcd_port,
+    }
+  }
+}
diff --git a/releasenotes/notes/vpp-ml2-9c1321fa30f3b172.yaml b/releasenotes/notes/vpp-ml2-9c1321fa30f3b172.yaml
new file mode 100644 (file)
index 0000000..2f8ae14
--- /dev/null
@@ -0,0 +1,3 @@
+---
+features:
+  - Adds support for networking-vpp ML2 mechanism driver and agent.