From 2ee71b201c0a607f1814bf5fe3e6971f6357db42 Mon Sep 17 00:00:00 2001 From: Feng Pan Date: Mon, 2 Oct 2017 10:26:32 -0400 Subject: nosdn-fdio scenarios fixes - pin vpp/networking-vpp versions - Add external_network_bridge config back to puppet-neutron Change-Id: Ia58fb55638390757ea3350b2921897c4d315f9b5 Signed-off-by: Feng Pan --- apex/overcloud/overcloud_deploy.py | 6 ++ build/Makefile | 2 +- build/overcloud-full.sh | 13 ++- ...eutron-add-external_network_bridge-option.patch | 106 +++++++++++++++++++++ build/rpm_specs/networking-vpp.spec | 2 +- build/variables.sh | 11 ++- 6 files changed, 134 insertions(+), 6 deletions(-) create mode 100644 build/patches/puppet-neutron-add-external_network_bridge-option.patch diff --git a/apex/overcloud/overcloud_deploy.py b/apex/overcloud/overcloud_deploy.py index 93732bf3..e3248536 100644 --- a/apex/overcloud/overcloud_deploy.py +++ b/apex/overcloud/overcloud_deploy.py @@ -244,6 +244,12 @@ def prep_image(ds, img, tmp_dir, root_pw=None): virt_cmds.append( {con.VIRT_RUN_CMD: "cd /usr/lib/python2.7/site-packages && patch " "-p1 < neutron-patch-NSDriver.patch"}) + if sdn is False: + virt_cmds.extend([ + {con.VIRT_RUN_CMD: "yum remove -y vpp-lib"}, + {con.VIRT_RUN_CMD: "yum install -y " + "/root/nosdn_vpp_rpms/*.rpm"} + ]) if sdn == 'opendaylight': if ds_opts['odl_version'] != con.DEFAULT_ODL_VERSION: diff --git a/build/Makefile b/build/Makefile index 44e92a8a..4e20d3fa 100644 --- a/build/Makefile +++ b/build/Makefile @@ -132,7 +132,7 @@ rpmlint: $(BUILD_DIR)/python-networking-vpp.tar.gz: @echo "Preparing the networking-vpp RPM prerequisites" - git clone $(NETVPP_REPO) $(BUILD_DIR)/python-networking-vpp-$(NETVPP_VERS) + git clone $(NETVPP_REPO) -b $(NETVPP_BRANCH) $(BUILD_DIR)/python-networking-vpp-$(NETVPP_VERS) tar czf $(BUILD_DIR)/python-networking-vpp.tar.gz -C $(BUILD_DIR) python-networking-vpp-$(NETVPP_VERS) .PHONY: networking-vpp-rpm diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh index 9eb124cb..f59dff00 100755 --- a/build/overcloud-full.sh +++ b/build/overcloud-full.sh @@ -73,6 +73,8 @@ LIBGUESTFS_BACKEND=direct virt-customize \ --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-vpp-ml2-type_drivers-setting.patch" \ --upload ${BUILD_ROOT}/patches/tacker-vnffg-input-params.patch:/usr/lib/python2.7/site-packages/ \ --run-command "cd usr/lib/python2.7/site-packages/ && patch -p1 < tacker-vnffg-input-params.patch" \ + --upload ${BUILD_ROOT}/patches/puppet-neutron-add-external_network_bridge-option.patch:/usr/share/openstack-puppet/modules/neutron/ \ + --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-add-external_network_bridge-option.patch" \ -a overcloud-full_build.qcow2 # apply neutron port data plane status patches @@ -113,6 +115,12 @@ enabled=1 gpgcheck=0 EOF +vpp_nosdn_pkg_str='' +for package in ${nosdn_vpp_rpms[@]}; do + wget $package + vpp_nosdn_pkg_str+=" --upload ${BUILD_DIR}/${package##*/}:/root/nosdn_vpp_rpms" +done + # Get Real Time Kernel from kvm4nfv populate_cache $kvmfornfv_uri_base/$kvmfornfv_kernel_rpm @@ -127,12 +135,13 @@ LIBGUESTFS_BACKEND=direct virt-customize \ --upload ${BUILD_DIR}/puppet-fdio.tar.gz:/etc/puppet/modules \ --run-command "cd /etc/puppet/modules && tar xzf puppet-fdio.tar.gz" \ --upload ${BUILD_DIR}/fdio.repo:/etc/yum.repos.d/ \ + --run-command "mkdir /root/nosdn_vpp_rpms" \ + $vpp_nosdn_pkg_str \ --run-command "mkdir /root/fdio" \ - --upload ${BUILD_DIR}/noarch/$netvpp_pkg:/root/fdio \ + --upload ${BUILD_DIR}/noarch/$netvpp_pkg:/root/nosdn_vpp_rpms \ --install honeycomb \ --install vpp-plugins,vpp,vpp-lib,vpp-api-python \ --run-command "rm -f /etc/sysctl.d/80-vpp.conf" \ - --run-command "yum install -y /root/fdio/*.rpm" \ --run-command "curl -f https://copr.fedorainfracloud.org/coprs/leifmadsen/ovs-master/repo/epel-7/leifmadsen-ovs-master-epel-7.repo > /etc/yum.repos.d/leifmadsen-ovs-master-epel-7.repo" \ --run-command "mkdir /root/ovs28" \ --run-command "yumdownloader --destdir=/root/ovs28 openvswitch*2.8* python-openvswitch-2.8*" \ diff --git a/build/patches/puppet-neutron-add-external_network_bridge-option.patch b/build/patches/puppet-neutron-add-external_network_bridge-option.patch new file mode 100644 index 00000000..808bcae0 --- /dev/null +++ b/build/patches/puppet-neutron-add-external_network_bridge-option.patch @@ -0,0 +1,106 @@ +From 48a73ebfd382158b900c041952689128390d14f3 Mon Sep 17 00:00:00 2001 +From: Feng Pan +Date: Sat, 30 Sep 2017 01:02:27 -0400 +Subject: [PATCH] Add external_network_bridge config back + +Change-Id: I67582e2033eb1f849f7e76148f089a7f815d1f78 +--- + manifests/agents/l3.pp | 13 +++++++++++++ + manifests/agents/vpnaas.pp | 14 ++++++++++++++ + ...d_external_network_bridge-options-613a8793ef13d761.yaml | 3 --- + 3 files changed, 27 insertions(+), 3 deletions(-) + delete mode 100644 releasenotes/notes/remove_deprecated_external_network_bridge-options-613a8793ef13d761.yaml + +diff --git a/manifests/agents/l3.pp b/manifests/agents/l3.pp +index 651c7508..df25e3e3 100644 +--- a/manifests/agents/l3.pp ++++ b/manifests/agents/l3.pp +@@ -92,6 +92,12 @@ + # (optional) L3 agent extensions to enable. + # Defaults to $::os_service_default + # ++# === Deprecated Parameters ++# ++# [*external_network_bridge*] ++# (optional) Deprecated. The name of the external bridge ++# Defaults to $::os_service_default ++# + class neutron::agents::l3 ( + $package_ensure = 'present', + $enabled = true, +@@ -113,11 +119,17 @@ class neutron::agents::l3 ( + $purge_config = false, + $availability_zone = $::os_service_default, + $extensions = $::os_service_default, ++ # DEPRECATED PARAMETERS ++ $external_network_bridge = $::os_service_default, + ) { + + include ::neutron::deps + include ::neutron::params + ++ if ! is_service_default ($external_network_bridge) { ++ warning('parameter external_network_bridge is deprecated') ++ } ++ + resources { 'neutron_l3_agent_config': + purge => $purge_config, + } +@@ -132,6 +144,7 @@ class neutron::agents::l3 ( + + neutron_l3_agent_config { + 'DEFAULT/debug': value => $debug; ++ 'DEFAULT/external_network_bridge': value => $external_network_bridge; + 'DEFAULT/interface_driver': value => $interface_driver; + 'DEFAULT/gateway_external_network_id': value => $gateway_external_network_id; + 'DEFAULT/handle_internal_only_routers': value => $handle_internal_only_routers; +diff --git a/manifests/agents/vpnaas.pp b/manifests/agents/vpnaas.pp +index 52eb4026..1bab10e7 100644 +--- a/manifests/agents/vpnaas.pp ++++ b/manifests/agents/vpnaas.pp +@@ -45,12 +45,18 @@ + # in the vpnaas config. + # Defaults to false. + # ++# === Deprecated Parameters ++# ++# [*external_network_bridge*] ++# (optional) Deprecated. Defaults to $::os_service_default ++# + class neutron::agents::vpnaas ( + $package_ensure = present, + $enabled = true, + $manage_service = true, + $vpn_device_driver = 'neutron.services.vpn.device_drivers.ipsec.OpenSwanDriver', + $interface_driver = 'neutron.agent.linux.interface.OVSInterfaceDriver', ++ $external_network_bridge = $::os_service_default, + $ipsec_status_check_interval = $::os_service_default, + $purge_config = false, + ) { +@@ -97,6 +103,14 @@ class neutron::agents::vpnaas ( + 'DEFAULT/interface_driver': value => $interface_driver; + } + ++ if ! is_service_default ($external_network_bridge) { ++ warning('parameter external_network_bridge is deprecated') ++ } ++ ++ neutron_vpnaas_agent_config { ++ 'DEFAULT/external_network_bridge': value => $external_network_bridge; ++ } ++ + if $::neutron::params::vpnaas_agent_package { + ensure_resource( 'package', 'neutron-vpnaas-agent', { + 'ensure' => $package_ensure, +diff --git a/releasenotes/notes/remove_deprecated_external_network_bridge-options-613a8793ef13d761.yaml b/releasenotes/notes/remove_deprecated_external_network_bridge-options-613a8793ef13d761.yaml +deleted file mode 100644 +index 10464012..00000000 +--- a/releasenotes/notes/remove_deprecated_external_network_bridge-options-613a8793ef13d761.yaml ++++ /dev/null +@@ -1,3 +0,0 @@ +---- +-deprecations: +- - Removed deprecated option external_network_bridge. +-- +2.13.4 + diff --git a/build/rpm_specs/networking-vpp.spec b/build/rpm_specs/networking-vpp.spec index 4211f94a..80687836 100644 --- a/build/rpm_specs/networking-vpp.spec +++ b/build/rpm_specs/networking-vpp.spec @@ -2,7 +2,7 @@ Summary: OpenStack Networking for VPP Name: python-networking-vpp -Version: 0.0.1 +Version: 17.07 Release: %{release}%{?git}%{?dist} License: Apache 2.0 diff --git a/build/variables.sh b/build/variables.sh index 376f5682..b0713268 100644 --- a/build/variables.sh +++ b/build/variables.sh @@ -42,8 +42,15 @@ calipso_uri_base="https://git.opnfv.org/calipso/plain/app/install" calipso_script="calipso-installer.py" netvpp_repo="https://github.com/openstack/networking-vpp" -netvpp_branch="master" +netvpp_branch="17.07" netvpp_commit=$(git ls-remote ${netvpp_repo} ${netvpp_branch} | awk '{print substr($1,1,7)}') -netvpp_pkg=python-networking-vpp-0.0.1-1.git${NETVPP_COMMIT}$(rpm -E %dist).noarch.rpm +netvpp_pkg=python-networking-vpp-17.07-1.git${NETVPP_COMMIT}$(rpm -E %dist).noarch.rpm gluon_rpm=gluon-0.0.1-1_20170302.noarch.rpm + +nosdn_vpp_rpms=( +'https://nexus.fd.io/content/repositories/fd.io.centos7/io/fd/vpp/vpp/17.07.01-release.x86_64/vpp-17.07.01-release.x86_64.rpm' +'https://nexus.fd.io/content/repositories/fd.io.centos7/io/fd/vpp/vpp-api-python/17.07.01-release.x86_64/vpp-api-python-17.07.01-release.x86_64.rpm' +'https://nexus.fd.io/content/repositories/fd.io.centos7/io/fd/vpp/vpp-lib/17.07.01-release.x86_64/vpp-lib-17.07.01-release.x86_64.rpm' +'https://nexus.fd.io/content/repositories/fd.io.centos7/io/fd/vpp/vpp-plugins/17.07.01-release.x86_64/vpp-plugins-17.07.01-release.x86_64.rpm' +) \ No newline at end of file -- cgit 1.2.3-korg