aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFeng Pan <fpan@redhat.com>2017-08-06 22:26:04 -0400
committerFeng Pan <fpan@redhat.com>2017-08-10 02:18:29 +0000
commitdcedc2b8d50c6ca5f5eb8da8955b57874a65b9a8 (patch)
treed184fbc8033efb2966200e0234b49b2f7c13c184
parent798066086bb90b67136e6d42ab7812541ea85aa1 (diff)
Add support for odl-fdio-dvr scenarios
Change-Id: I2025e3157b97b376b63002003ca17c7206aba546 Signed-off-by: Feng Pan <fpan@redhat.com>
-rw-r--r--manifests/profile/base/neutron/opendaylight.pp37
-rw-r--r--manifests/profile/base/vpp.pp15
2 files changed, 50 insertions, 2 deletions
diff --git a/manifests/profile/base/neutron/opendaylight.pp b/manifests/profile/base/neutron/opendaylight.pp
index 89dbf83..a766b1a 100644
--- a/manifests/profile/base/neutron/opendaylight.pp
+++ b/manifests/profile/base/neutron/opendaylight.pp
@@ -35,7 +35,42 @@ class tripleo::profile::base::neutron::opendaylight (
$odl_api_ips = hiera('opendaylight_api_node_ips'),
$node_name = hiera('bootstack_nodeid')
) {
-
+ if hiera('vpp_enabled', false) and ('odl-router_v2' in hiera('neutron::service_plugins', [])) {
+ file { 'org.opendaylight.groupbasedpolicy.renderer.vpp.startup.cfg':
+ ensure => file,
+ path => '/opt/opendaylight/etc/org.opendaylight.groupbasedpolicy.renderer.vpp.startup.cfg',
+ owner => 'odl',
+ group => 'odl',
+ }
+ $odl_bind_ip = hiera('opendaylight::odl_bind_ip')
+ file_line { 'odl-ip':
+ path => '/opt/opendaylight/etc/org.opendaylight.groupbasedpolicy.renderer.vpp.startup.cfg',
+ line => "odl.ip = ${odl_bind_ip}",
+ match => '^odl.ip =.*$',
+ }
+ file_line { 'gbp.lisp.enabled':
+ path => '/opt/opendaylight/etc/org.opendaylight.groupbasedpolicy.renderer.vpp.startup.cfg',
+ line => "gbp.lisp.enabled = true",
+ }
+ file_line { 'vpp.lisp.mapregister.enabled':
+ path => '/opt/opendaylight/etc/org.opendaylight.groupbasedpolicy.renderer.vpp.startup.cfg',
+ line => "vpp.lisp.mapregister.enabled = true",
+ }
+ file_line { 'vpp.l3.flat.enabled':
+ path => '/opt/opendaylight/etc/org.opendaylight.groupbasedpolicy.renderer.vpp.startup.cfg',
+ line => "vpp.l3.flat.enabled = true",
+ }
+ file { '/opt/opendaylight/etc/custom.properties':
+ ensure => file,
+ path => '/opt/opendaylight/etc/custom.properties',
+ owner => 'odl',
+ group => 'odl',
+ }
+ file_line { 'lisp.authEnabled':
+ path => '/opt/opendaylight/etc/custom.properties',
+ line => "lisp.authEnabled = false",
+ }
+ }
if $step == 1 {
validate_array($odl_api_ips)
if empty($odl_api_ips) {
diff --git a/manifests/profile/base/vpp.pp b/manifests/profile/base/vpp.pp
index 05f52f9..4eff434 100644
--- a/manifests/profile/base/vpp.pp
+++ b/manifests/profile/base/vpp.pp
@@ -24,9 +24,22 @@
# Defaults to hiera('step')
#
class tripleo::profile::base::vpp (
- $step = hiera('step'),
+ $step = hiera('step'),
+ $vpp_ctlplane_cidr = hiera('vpp_ctlplane_cidr', undef)
) {
if $step >= 1 {
include ::fdio
+
+ # Need to use the controller's real IP since we only support noha scenario
+ # If this is a ha scenario, we won't configure here.
+ $controllers = any2array(split(hiera('controller_node_ips'), ','))
+ if !empty($vpp_ctlplane_cidr) and size($controllers) == 1 {
+ exec { 'vpp admin interface config':
+ command => "ip link add vpp-admin type veth peer name veth-admin && ip li set dev veth-admin master br-ctlplane && ifconfig veth-admin up && vppctl create host-interface name vpp-admin && vppctl set int ip addr host-vpp-admin ${vpp_ctlplane_cidr} && vppctl set interface state host-vpp-admin up",
+ path => ['/bin', '/sbin'],
+ unless => 'ip link show veth-admin | grep br-ctlplane',
+ require => Class['fdio'],
+ }
+ }
}
}