aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/profile/base/neutron
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-08-30 01:23:45 +0000
committerGerrit Code Review <review@openstack.org>2016-08-30 01:23:45 +0000
commit66e52a73cf60c8972040929a19b4d56cd7c20737 (patch)
treec0af7607877ff2710c33f9110364157bd885adaa /manifests/profile/base/neutron
parent1047dba66ea9cadb4bc702eae5c0bc362bbc4ccc (diff)
parent844aabfe39edd0dde2de2486130f3a473554522c (diff)
Merge "Add ML2/OVN support for neutron profile"
Diffstat (limited to 'manifests/profile/base/neutron')
-rw-r--r--manifests/profile/base/neutron/agents/ovn.pp38
-rw-r--r--manifests/profile/base/neutron/plugins/ml2.pp3
-rw-r--r--manifests/profile/base/neutron/plugins/ml2/ovn.pp46
3 files changed, 87 insertions, 0 deletions
diff --git a/manifests/profile/base/neutron/agents/ovn.pp b/manifests/profile/base/neutron/agents/ovn.pp
new file mode 100644
index 0000000..443b164
--- /dev/null
+++ b/manifests/profile/base/neutron/agents/ovn.pp
@@ -0,0 +1,38 @@
+# Copyright 2016 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::ovn
+#
+# OVN Neutron agent profile for tripleo
+#
+# [*ovn_db_host*]
+# The IP-Address/Hostname where OVN DBs are deployed
+#
+# [*step*]
+# (Optional) The current step in deployment. See tripleo-heat-templates
+# for more details.
+# Defaults to hiera('step')
+#
+class tripleo::profile::base::neutron::agents::ovn (
+ $ovn_db_host,
+ $step = hiera('step')
+) {
+ if $step >= 4 {
+ $ovn_sbdb_port = hiera('ovn::southbound::port')
+ class { '::ovn::controller':
+ ovn_remote => "tcp:${ovn_db_host}:${ovn_sbdb_port}",
+ ovn_encap_type => hiera('ovn::southboud::encap_type')
+ }
+ }
+}
diff --git a/manifests/profile/base/neutron/plugins/ml2.pp b/manifests/profile/base/neutron/plugins/ml2.pp
index 401e627..4f4de0b 100644
--- a/manifests/profile/base/neutron/plugins/ml2.pp
+++ b/manifests/profile/base/neutron/plugins/ml2.pp
@@ -68,5 +68,8 @@ class tripleo::profile::base::neutron::plugins::ml2 (
include ::tripleo::profile::base::neutron::plugins::ml2::opendaylight
}
+ if 'ovn' in $mechanism_drivers {
+ include ::tripleo::profile::base::neutron::plugins::ml2::ovn
+ }
}
}
diff --git a/manifests/profile/base/neutron/plugins/ml2/ovn.pp b/manifests/profile/base/neutron/plugins/ml2/ovn.pp
new file mode 100644
index 0000000..46477a7
--- /dev/null
+++ b/manifests/profile/base/neutron/plugins/ml2/ovn.pp
@@ -0,0 +1,46 @@
+# Copyright 2016 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::ovn
+#
+# OVN Neutron ML2 profile for tripleo
+#
+# [*ovn_db_host*]
+# The IP-Address/Hostname where OVN DBs are deployed
+#
+# [*step*]
+# (Optional) The current step in deployment. See tripleo-heat-templates
+# for more details.
+# Defaults to hiera('step')
+#
+class tripleo::profile::base::neutron::plugins::ml2::ovn (
+ $ovn_db_host,
+ $step = hiera('step')
+) {
+ if $step >= 4 {
+ if $::hostname == $ovn_db_host {
+ # NOTE: we might split northd from plugin later, in the case of
+ # micro-services, where neutron-server & northd are not in the same
+ # containers
+ include ::ovn::northd
+ }
+ $ovn_nb_port = hiera('ovn::northbound::port')
+ $ovn_sb_port = hiera('ovn::southbound::port')
+ class { '::neutron::plugins::ml2::ovn':
+ ovn_nb_connection => "tcp:${ovn_db_host}:${ovn_nb_port}",
+ ovn_sb_connection => "tcp:${ovn_db_host}:${ovn_sb_port}",
+ }
+ }
+}
+