nosdn-fdio scenarios fixes 81/43881/3
authorFeng Pan <fpan@redhat.com>
Mon, 2 Oct 2017 14:26:32 +0000 (10:26 -0400)
committerTim Rozet <trozet@redhat.com>
Mon, 2 Oct 2017 21:28:28 +0000 (21:28 +0000)
- pin vpp/networking-vpp versions
- Add external_network_bridge config back to puppet-neutron

Change-Id: Ia58fb55638390757ea3350b2921897c4d315f9b5
Signed-off-by: Feng Pan <fpan@redhat.com>
apex/overcloud/overcloud_deploy.py
build/Makefile
build/overcloud-full.sh
build/patches/puppet-neutron-add-external_network_bridge-option.patch [new file with mode: 0644]
build/rpm_specs/networking-vpp.spec
build/variables.sh

index 93732bf..e324853 100644 (file)
@@ -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:
index 44e92a8..4e20d3f 100644 (file)
@@ -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
index 9eb124c..f59dff0 100755 (executable)
@@ -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 (file)
index 0000000..808bcae
--- /dev/null
@@ -0,0 +1,106 @@
+From 48a73ebfd382158b900c041952689128390d14f3 Mon Sep 17 00:00:00 2001
+From: Feng Pan <fpan@redhat.com>
+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
+
index 4211f94..8068783 100644 (file)
@@ -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
index 376f568..b071326 100644 (file)
@@ -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