git clone https://gerrit.opnfv.org/gerrit/vswitchperf vsperf
tar czf vsperf.tar.gz vsperf
-# Increase disk size by 1200MB to accommodate more packages
-qemu-img resize overcloud-full_build.qcow2 +1200M
+# Increase disk size by 1500MB to accommodate more packages
+qemu-img resize overcloud-full_build.qcow2 +1500M
# expand file system to max disk size
# installing forked apex-puppet-tripleo
# upload neutron port data plane status
-LIBGUESTFS_BACKEND=direct virt-customize \
+# REMOVE Tacker VNFFG patch when moving to Pike
+LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
--run-command "xfs_growfs /dev/sda" \
--upload ${BUILD_DIR}/apex-puppet-tripleo.tar.gz:/etc/puppet/modules \
--run-command "cd /etc/puppet/modules && rm -rf tripleo && tar xzf apex-puppet-tripleo.tar.gz" \
--run-command "cd /usr/lib/python2.7/site-packages/ && rm -rf os_net_config && tar xzf apex-os-net-config.tar.gz" \
--run-command "if ! rpm -qa | grep python-redis; then yum install -y python-redis; fi" \
--install epel-release \
- --run-command "sed -i 's/^#UseDNS.*$/UseDNS no/' /etc/ssh/sshd_config" \
- --run-command "sed -i 's/^GSSAPIAuthentication.*$/GSSAPIAuthentication no/' /etc/ssh/sshd_config" \
- --run-command "rm -f /etc/sysctl.d/80-vpp.conf" \
--install unzip \
--upload ${BUILD_DIR}/vsperf.tar.gz:/var/opt \
--run-command "cd /var/opt && tar xzf vsperf.tar.gz" \
--run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-ml2-ip-version-fix.patch" \
--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" \
+ --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
# apply congress parallel execution patch
# Requirements from Doctor project
# TODO(cgoncalves): code merged in Pike dev cycle. drop from >= OpenStack Pike / > OPNFV Euphrates
-LIBGUESTFS_BACKEND=direct virt-customize \
+LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
--run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron_lib_dps.patch " \
--run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron_server_dps.patch" \
--run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron_openstacksdk_dps.patch" \
rm -rf puppet-fdio
git clone https://git.fd.io/puppet-fdio
pushd puppet-fdio > /dev/null
-#TODO: Remove this when we update to 17.07
-git revert a6e575c8f0af17e62990653bcf4a12c688c21aad --no-edit
git archive --format=tar.gz --prefix=fdio/ HEAD > ${BUILD_DIR}/puppet-fdio.tar.gz
popd > /dev/null
-# Master FD.IO Repo
+# FD.IO Repo
cat > ${BUILD_DIR}/fdio.repo << EOF
-[fdio-master]
-name=fd.io master branch latest merge
-baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7/
+[fdio-1710]
+name=fd.io packages
+baseurl=https://nexus.fd.io/content/repositories/fd.io.stable.1710.centos7/
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
+
+# Kubernetes Repo
+cat > ${BUILD_DIR}/kubernetes.repo << EOF
+[kubernetes]
+name=Kubernetes
+baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
+enabled=1
+gpgcheck=1
+repo_gpgcheck=1
+gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
+ https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
+EOF
+
# Get Real Time Kernel from kvm4nfv
populate_cache $kvmfornfv_uri_base/$kvmfornfv_kernel_rpm
-# packages frozen for fdio scenarios
-fdio_pkg_str=''
-for package in ${fdio_pkgs[@]}; do
- wget "$package"
- fdio_pkg_str+=" --upload ${BUILD_DIR}/${package##*/}:/root/fdio/"
-done
-
# upload dpdk rpms but do not install
# install fd.io yum repo and packages
# upload puppet fdio
# git clone vsperf into the overcloud image
# upload the rt_kvm kernel
-LIBGUESTFS_BACKEND=direct virt-customize \
+LIBGUESTFS_BACKEND=direct $VIRT_CUSTOMIZE \
--run-command "mkdir /root/dpdk_rpms" \
$dpdk_pkg_str \
--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 \
+ --upload ${BUILD_DIR}/kubernetes.repo:/etc/yum.repos.d/ \
--run-command "mkdir /root/fdio" \
- --upload ${BUILD_DIR}/noarch/$netvpp_pkg:/root/fdio \
- $fdio_pkg_str \
- --run-command "yum install -y /root/fdio/*.rpm" \
+ --upload ${BUILD_DIR}/noarch/$netvpp_pkg:/root/nosdn_vpp_rpms \
+ --install honeycomb,vpp-plugins,vpp,vpp-lib,vpp-api-python \
+ --run-command "rm -f /etc/sysctl.d/80-vpp.conf" \
--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*" \
--upload ${CACHE_DIR}/$kvmfornfv_kernel_rpm:/root/ \
- --install python2-networking-sfc \
+ --install "http://mirror.centos.org/centos/7/cloud/x86_64/openstack-ocata/python2-networking-sfc-4.0.0-1.el7.noarch.rpm" \
--install python-etcd,puppet-etcd \
--install patch \
+ --install docker,kubelet,kubeadm,kubectl,kubernetes-cni \
-a overcloud-full_build.qcow2
# upload and install barometer packages
barometer_pkgs overcloud-full_build.qcow2
- # Build OVS with NSH
- 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/*.patch ./
- cp ${BUILD_ROOT}/patches/ovs-fix-build-on-RHEL-7.3.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}/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