Migrates Apex to Pike
[apex.git] / build / overcloud-full.sh
index 7b00889..098ab02 100755 (executable)
@@ -41,13 +41,13 @@ rm -rf vsperf vsperf.tar.gz
 git clone https://gerrit.opnfv.org/gerrit/vswitchperf vsperf
 tar czf vsperf.tar.gz vsperf
 
-# Increase disk size by 900MB to accommodate more packages
-qemu-img resize overcloud-full_build.qcow2 +900MB
+# 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 \
+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" \
@@ -55,9 +55,6 @@ LIBGUESTFS_BACKEND=direct virt-customize \
     --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" \
@@ -67,18 +64,14 @@ LIBGUESTFS_BACKEND=direct virt-customize \
     --upload ${BUILD_ROOT}/patches/neutron_server_dps.patch:/usr/lib/python2.7/site-packages/ \
     --upload ${BUILD_ROOT}/patches/neutron_openstacksdk_dps.patch:/usr/lib/python2.7/site-packages/ \
     --upload ${BUILD_ROOT}/patches/neutron_openstackclient_dps.patch:/usr/lib/python2.7/site-packages/ \
+    --upload ${BUILD_ROOT}/patches/puppet-neutron-add-sfc.patch:/usr/share/openstack-puppet/modules/neutron/ \
+    --upload ${BUILD_ROOT}/patches/congress-parallel-execution.patch:/usr/lib/python2.7/site-packages/ \
     -a overcloud-full_build.qcow2
+#    --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/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" \
 
-# apply neutron port data plane status patches
-# https://specs.openstack.org/openstack/neutron-specs/specs/backlog/ocata/port-data-plane-status.html
-# Requirement from Doctor project
-# TODO(cgoncalves): code merged in Pike dev cycle. drop from >= OpenStack Pike / > OPNFV Euphrates
-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" \
-    --run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron_openstackclient_dps.patch" \
-    -a overcloud-full_build.qcow2
 
 # Arch dependent on x86
 if [ "$(uname -i)" == 'x86_64' ]; then
@@ -92,65 +85,71 @@ done
 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
 
-# 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/"
+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
 
-# Increase disk size by 900MB to accommodate more packages
-qemu-img resize overcloud-full_build.qcow2 +900MB
+# 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
 
 # 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/ovs27" \
-    --run-command "yumdownloader --destdir=/root/ovs27 openvswitch*2.7* python-openvswitch-2.7*" \
+    --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 python-etcd,puppet-etcd \
     --install patch \
-    --upload ${BUILD_ROOT}/patches/puppet-neutron-ml2-ip-version-fix.patch:/usr/share/openstack-puppet/modules/neutron/ \
-    --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" \
+    --install docker,kubelet,kubeadm,kubectl,kubernetes-cni \
     -a overcloud-full_build.qcow2
-fi
 
     # upload and install barometer packages
-if [ "$(uname -i)" == 'x86_64' ]; then
-    barometer_pkgs overcloud-full_build.qcow2
-fi
+    # FIXME collectd pkgs conflict during upgrade to Pike
+    # barometer_pkgs overcloud-full_build.qcow2
+
+fi # end x86_64 specific items
 
 mv -f overcloud-full_build.qcow2 overcloud-full.qcow2
 popd > /dev/null