aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/profile
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/profile')
-rw-r--r--manifests/profile/base/neutron/agents/vpp.pp31
-rw-r--r--manifests/profile/base/neutron/plugins/ml2/vpp.pp6
2 files changed, 32 insertions, 5 deletions
diff --git a/manifests/profile/base/neutron/agents/vpp.pp b/manifests/profile/base/neutron/agents/vpp.pp
index 6c55b86..0b06b57 100644
--- a/manifests/profile/base/neutron/agents/vpp.pp
+++ b/manifests/profile/base/neutron/agents/vpp.pp
@@ -31,19 +31,40 @@
# (Optional) etcd server listening port.
# Defaults to 2379
#
+# [*physnet_mapping*]
+# (Optional) physnet mapping, example: 'datacentre:eth1'. Note that the
+# interface specified here is a kernel interface name that is bound to
+# VPP.
+# Defaults to []
+#
+# [*type_drivers*]
+# (optional) List of network type driver entrypoints to be loaded
+# Could be an array that can contain flat, vlan or vxlan
+# Defaults to hiera('neutron::plugins::ml2::type_drivers', undef)
+#
class tripleo::profile::base::neutron::agents::vpp(
- $step = Integer(hiera('step')),
- $etcd_host = hiera('etcd_vip'),
- $etcd_port = 2379,
+ $step = Integer(hiera('step')),
+ $etcd_host = hiera('etcd_vip'),
+ $etcd_port = 2379,
+ $physnet_mapping = [],
+ $type_drivers = hiera('neutron::plugins::ml2::type_drivers', undef),
) {
if empty($etcd_host) {
fail('etcd_vip not set in hieradata')
}
if $step >= 4 {
+ if $::hostname in hiera('controller_node_names') {
+ $service_plugins = hiera('neutron::service_plugins')
+ } else {
+ $service_plugins = undef
+ }
class { '::neutron::agents::ml2::vpp':
- etcd_host => $etcd_host,
- etcd_port => $etcd_port,
+ etcd_host => $etcd_host,
+ etcd_port => $etcd_port,
+ physnets => vpp_physnet_mapping($physnet_mapping),
+ type_drivers => $type_drivers,
+ service_plugins => $service_plugins,
}
}
}
diff --git a/manifests/profile/base/neutron/plugins/ml2/vpp.pp b/manifests/profile/base/neutron/plugins/ml2/vpp.pp
index 7d59239..0312eff 100644
--- a/manifests/profile/base/neutron/plugins/ml2/vpp.pp
+++ b/manifests/profile/base/neutron/plugins/ml2/vpp.pp
@@ -41,9 +41,15 @@ class tripleo::profile::base::neutron::plugins::ml2::vpp (
}
if $step >= 4 {
+ if $::hostname in hiera('controller_node_names') {
+ $l3_hosts = strip(hiera('controller_node_names').split(',')[0])
+ } else {
+ $l3_hosts = undef
+ }
class { '::neutron::plugins::ml2::vpp':
etcd_host => $etcd_host,
etcd_port => $etcd_port,
+ l3_hosts => $l3_hosts,
}
}
}