From 8d121bd212e984072667320639f6712f1f164c79 Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Wed, 7 Sep 2016 22:26:35 -0400 Subject: Enables networking-vpp in nosdn-fdio scenario - Add puppet neutron support for configuring both ML2 driver and networking-vpp agent - Update THT to invoke new puppet classes. JIRA: APEX-261 opnfv-tht-pr: 76 Change-Id: Iab21713eb711e9f24fa66cba30c895e43a3e945e Signed-off-by: Feng Pan (cherry picked from commit d327766d7e7ff91f4ed1a11cfcda70254420f524) --- build/overcloud-full.sh | 3 ++ .../manifests/agents/ml2/networking-vpp.pp | 56 ++++++++++++++++++++++ .../manifests/plugins/ml2/networking-vpp.pp | 33 +++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 build/puppet-neutron/manifests/agents/ml2/networking-vpp.pp create mode 100644 build/puppet-neutron/manifests/plugins/ml2/networking-vpp.pp (limited to 'build') diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh index 0357ba05..21667070 100755 --- a/build/overcloud-full.sh +++ b/build/overcloud-full.sh @@ -115,6 +115,7 @@ LIBGUESTFS_BACKEND=direct virt-customize \ $dpdk_pkg_str \ $fdio_pkg_str \ --upload ../networking-vpp.noarch.rpm:/root/fdio \ + --run-command "pip install distro flask_restful" \ --run-command "yum install -y etcd" \ --run-command "pip install python-etcd" \ --install "centos-release-qemu-ev" \ @@ -149,6 +150,8 @@ LIBGUESTFS_BACKEND=direct virt-customize \ --run-command "mkdir /root/fdio_neutron_l3" \ --upload ../neutron/agent/l3/namespaces.py:/root/fdio_neutron_l3/ \ --upload ../neutron/agent/l3/router_info.py:/root/fdio_neutron_l3/ \ + --upload ../puppet-neutron/manifests/agents/ml2/networking-vpp.pp:/etc/puppet/modules/neutron/manifests/agents/ml2/ \ + --upload ../puppet-neutron/manifests/plugins/ml2/networking-vpp.pp:/etc/puppet/modules/neutron/manifests/plugins/ml2/ \ -a overcloud-full_build.qcow2 mv -f overcloud-full_build.qcow2 overcloud-full.qcow2 diff --git a/build/puppet-neutron/manifests/agents/ml2/networking-vpp.pp b/build/puppet-neutron/manifests/agents/ml2/networking-vpp.pp new file mode 100644 index 00000000..c25c2817 --- /dev/null +++ b/build/puppet-neutron/manifests/agents/ml2/networking-vpp.pp @@ -0,0 +1,56 @@ +# == Class: neutron::agents::ml2::networking-vpp +# +# Setups networking-vpp Neutron agent for ML2 plugin. +# +# === Parameters +# +# [*package_ensure*] +# (optional) Package ensure state. +# Defaults to 'present'. +# +# [*enabled*] +# (required) Whether or not to enable the agent. +# Defaults to true. +# +# [*manage_service*] +# (optional) Whether to start/stop the service +# Defaults to true +# +# [*physnets*] +# List of : +# tuples mapping physical network names to agent's node-specific physical +# network interfaces. Defaults to empty list. +# +# [*flat_network_if*] +# VPP interface used for flat network +# Defaults to ''. +# +class neutron::agents::ml2::networking-vpp ( + $package_ensure = 'present', + $enabled = true, + $manage_service = true, + $physnets = '', + $flat_network_if = '', +) { + + include ::neutron::params + + if $manage_service { + if $enabled { + $service_ensure = 'running' + } else { + $service_ensure = 'stopped' + } + } + + neutron_plugin_ml2 { + 'ml2_vpp/physnets': value => $physnets; + 'ml2_vpp/flat_network_if': value => $flat_network_if; + }-> + service { 'networking-vpp-agent': + ensure => $service_ensure, + name => 'networking-vpp-agent', + enable => $enabled, + tag => 'neutron-service', + } +} \ No newline at end of file diff --git a/build/puppet-neutron/manifests/plugins/ml2/networking-vpp.pp b/build/puppet-neutron/manifests/plugins/ml2/networking-vpp.pp new file mode 100644 index 00000000..26548d3a --- /dev/null +++ b/build/puppet-neutron/manifests/plugins/ml2/networking-vpp.pp @@ -0,0 +1,33 @@ +# +# Install the networking-vpp ML2 mechanism driver and generate config file +# from parameters in the other classes. +# +# === Parameters +# +# [*package_ensure*] +# (optional) The intended state of the networking-vpp +# package, i.e. any of the possible values of the 'ensure' +# property for a package resource type. +# Defaults to 'present' +# +# [*agents*] +# Networking-vpp agents's addresses +# Defaults to $::os_service_default +# +class neutron::plugins::ml2::networking-vpp ( + $package_ensure = 'present', + $agents = $::os_service_default, +) { + require ::neutron::plugins::ml2 + + ensure_resource('package', 'networking-vpp', + { + ensure => $package_ensure, + tag => 'openstack', + } + ) + + neutron_plugin_ml2 { + 'ml2_vpp/agents': value => $agents; + } +} -- cgit 1.2.3-korg