From f8fd162ac74c83cd972311ee152b09bad6312999 Mon Sep 17 00:00:00 2001 From: Ricardo Noriega Date: Wed, 18 Apr 2018 09:50:50 -0400 Subject: Fixing os-odl-sfc scenario We need to build again OVS2.6 and apply yyang patches. apex-tripleo-heat-templates: I230b31dc9ed0ecc5046064628ba2f2505e589522 apex-puppet-tripleo: Icd433ddc6ae7de19a09f9e33b410a362c317138a Change-Id: Ia61216f6bd23ecaaa87b151452268c8ca04dc193 Signed-off-by: Ricardo Noriega --- build/CentOS-Updates.repo | 2 +- build/build_ovs_nsh.sh | 25 +++++++++++++++++++++++++ build/opnfv-environment.yaml | 2 +- build/overcloud-full.sh | 27 +++++++++++++++++++++++++++ 4 files changed, 54 insertions(+), 2 deletions(-) create mode 100755 build/build_ovs_nsh.sh diff --git a/build/CentOS-Updates.repo b/build/CentOS-Updates.repo index 8fc45d89..0bf2daa7 100644 --- a/build/CentOS-Updates.repo +++ b/build/CentOS-Updates.repo @@ -1,5 +1,5 @@ #released updates [updates-old] name=CentOS-$releasever - Old Updates -baseurl=http://mirror.centos.org/centos/7.3.1611/updates/x86_64/ +baseurl=http://mirror.centos.org/centos/7/updates/x86_64/ gpgcheck=0 diff --git a/build/build_ovs_nsh.sh b/build/build_ovs_nsh.sh new file mode 100755 index 00000000..52d4701f --- /dev/null +++ b/build/build_ovs_nsh.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +############################################################################## +# Copyright (c) 2016 Tim Rozet (Red Hat) and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -e + +yum -y install rpm-build autoconf automake libtool systemd-units openssl openssl-devel python python-twisted-core python-zope-interface python-six desktop-file-utils groff graphviz procps-ng libcap-ng libcap-ng-devel PyQt4 selinux-policy-devel kernel-devel kernel-headers kernel-tools +./boot.sh +libtoolize --force +aclocal +autoheader +automake --force-missing --add-missing +autoconf +./configure +yum -y install rpmdevtools +# hack due to build pulling in kernel vxlan header +kernel_vxlan="/usr/src/kernels/$(rpm -q kernel-headers | grep -Eo '[0-9].*x86_64')/include/net/vxlan.h" +sed -i '/struct vxlan_metadata {/a\ u32 gpe;' $kernel_vxlan +make rpm-fedora RPMBUILD_OPT="\"-D kversion `rpm -q kernel | rpmdev-sort | tail -n -1 | sed 's/^kernel-//'`\" --without check" +make rpm-fedora-kmod RPMBUILD_OPT="\"-D kversion `rpm -q kernel | rpmdev-sort | tail -n -1 | sed 's/^kernel-//'`\"" diff --git a/build/opnfv-environment.yaml b/build/opnfv-environment.yaml index 84bd2f7c..962d9f37 100644 --- a/build/opnfv-environment.yaml +++ b/build/opnfv-environment.yaml @@ -104,7 +104,7 @@ parameter_defaults: - OS::TripleO::Services::NeutronApi - OS::TripleO::Services::NeutronCorePlugin - OS::TripleO::Services::NeutronOvsAgent -# - OS::TripleO::Services::NeutronSfcApi + - OS::TripleO::Services::NeutronSfcApi - OS::TripleO::Services::RabbitMQ - OS::TripleO::Services::HAproxy - OS::TripleO::Services::Keepalived diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh index 4740066f..d4fef46c 100755 --- a/build/overcloud-full.sh +++ b/build/overcloud-full.sh @@ -69,6 +69,7 @@ LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \ --upload ${BUILD_ROOT}/patches/congress-parallel-execution.patch:/usr/lib/python2.7/site-packages/ \ --upload ${BUILD_ROOT}/patches/puppet-neutron-vpp-ml2-type_drivers-setting.patch:/usr/share/openstack-puppet/modules/neutron/ \ --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-vpp-ml2-type_drivers-setting.patch" \ + --run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-add-sfc.patch" \ --install openstack-utils \ -a overcloud-full_build.qcow2 # --upload ${BUILD_ROOT}/patches/puppet-neutron-add-external_network_bridge-option.patch:/usr/share/openstack-puppet/modules/neutron/ \ @@ -154,6 +155,32 @@ LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \ # upload and install barometer packages barometer_pkgs overcloud-full_build.qcow2 + # Build OVS with NS + rm -rf ovs_nsh_patches + rm -rf ovs + git clone https://github.com/yyang13/ovs_nsh_patches.git + git clone https://github.com/openvswitch/ovs.git + pushd ovs > /dev/null + git checkout v2.6.1 + cp ../ovs_nsh_patches/v2.6.1_centos7/*.patch ./ + # Hack for build servers that have no git config + git config user.email "apex@opnfv.com" + git config user.name "apex" + git am *.patch + popd > /dev/null + tar czf ovs.tar.gz ovs + +LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \ + --upload ${BUILD_ROOT}/CentOS-Updates.repo:/etc/yum.repos.d/ \ + --run-command "yum -y install kernel-devel-\$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' kernel)" \ + --run-command "yum -y install kernel-headers-\$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' kernel)" \ + --run-command "yum -y install kernel-tools-\$(rpm -q --queryformat '%{VERSION}-%{RELEASE}' kernel)" \ + --upload ${BUILD_ROOT}/build_ovs_nsh.sh:/root/ \ + --upload ovs.tar.gz:/root/ \ + --run-command "cd /root/ && tar xzf ovs.tar.gz" \ + --run-command "cd /root/ovs && /root/build_ovs_nsh.sh" \ + -a overcloud-full_build.qcow2 + fi # end x86_64 specific items mv -f overcloud-full_build.qcow2 overcloud-full.qcow2 -- cgit 1.2.3-korg