Fixing os-odl-sfc scenario 71/55971/7
authorRicardo Noriega <rnoriega@redhat.com>
Wed, 18 Apr 2018 13:50:50 +0000 (09:50 -0400)
committerRicardo Noriega <rnoriega@redhat.com>
Tue, 24 Apr 2018 12:32:01 +0000 (14:32 +0200)
  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 <rnoriega@redhat.com>
build/CentOS-Updates.repo
build/build_ovs_nsh.sh [new file with mode: 0755]
build/opnfv-environment.yaml
build/overcloud-full.sh

index 8fc45d8..0bf2daa 100644 (file)
@@ -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 (executable)
index 0000000..52d4701
--- /dev/null
@@ -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-//'`\""
index 84bd2f7..962d9f3 100644 (file)
@@ -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
index 4740066..d4fef46 100755 (executable)
@@ -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