X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=build%2Fovercloud-opendaylight.sh;h=12b47f1e83994f2b09a28c148e4ed36299cc8200;hb=0890153eb47fd29abf6ec419096546103aa22616;hp=66bf53a7e5997a8c4adeeced763be031e524b78c;hpb=645949cbac2bb766d18dfd9f818b6c14545a35e2;p=apex.git diff --git a/build/overcloud-opendaylight.sh b/build/overcloud-opendaylight.sh index 66bf53a7..12b47f1e 100755 --- a/build/overcloud-opendaylight.sh +++ b/build/overcloud-opendaylight.sh @@ -8,6 +8,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## set -e +source ./cache.sh source ./variables.sh pushd ${BUILD_DIR} > /dev/null @@ -18,26 +19,7 @@ cp -f overcloud-full.qcow2 overcloud-full-opendaylight_build.qcow2 ##### Adding OpenDaylight to overcloud ##### ############################################### -# Beryllium Repo cat > ${BUILD_DIR}/opendaylight.repo << EOF -[opendaylight-4-release] -name=CentOS CBS OpenDaylight Beryllium repository -baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-4-release/\$basearch/os/ -enabled=1 -gpgcheck=0 -EOF - -# Boron Repo -cat > ${BUILD_DIR}/opendaylight_boron.repo << EOF -[opendaylight-5-release] -name=CentOS CBS OpenDaylight Boron repository -baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-5-testing/\$basearch/os/ -enabled=1 -gpgcheck=0 -EOF - -# Master Repo -cat > ${BUILD_DIR}/opendaylight_master.repo << EOF [opendaylight-6-release] name=CentOS CBS OpenDaylight Carbon repository baseurl=http://cbs.centos.org/repos/nfv7-opendaylight-6-testing/\$basearch/os/ @@ -47,22 +29,15 @@ EOF # OpenDaylight Puppet Module rm -rf puppet-opendaylight -git clone -b master https://github.com/dfarrell07/puppet-opendaylight +git clone -b stable/carbon https://git.opendaylight.org/gerrit/integration/packaging/puppet-opendaylight pushd puppet-opendaylight > /dev/null -git archive --format=tar.gz --prefix=opendaylight/ HEAD > ${BUILD_DIR}/puppet-opendaylight.tar.gz +git archive --format=tar.gz --prefix=opendaylight/ HEAD > ${BUILD_DIR}/puppet-opendaylight-carbon.tar.gz +git checkout stable/boron +git archive --format=tar.gz --prefix=opendaylight/ HEAD > ${BUILD_DIR}/puppet-opendaylight-boron.tar.gz popd > /dev/null -# networking-BGPVPN -rm -rf networking-bgpvpn -mkdir networking-bgpvpn -pushd networking-bgpvpn > /dev/null -wget https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python2-networking-bgpvpn-5.0.1-dev6.noarch.rpm -wget https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-heat-5.0.1-dev6.noarch.rpm -wget https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-dashboard-5.0.1-dev6.noarch.rpm -wget https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-doc-5.0.1-dev6.noarch.rpm -wget https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-tests-5.0.1-dev6.noarch.rpm -popd > /dev/null -tar czf networking-bgpvpn.tar.gz networking-bgpvpn/ +# cache gluon +populate_cache http://artifacts.opnfv.org/netready/$gluon_rpm #Gluon puppet module rm -rf netready @@ -71,42 +46,50 @@ pushd netready/ > /dev/null git archive --format=tar.gz HEAD:deploy/puppet/ > ${BUILD_DIR}/puppet-gluon.tar.gz popd > /dev/null -# Tar up all quagga/zrpc rpms -pushd ${QUAGGA_RPMS_DIR}/rpmbuild/RPMS > /dev/null -tar --transform "s/^x86_64/quagga/" -czvf ${BUILD_DIR}/quagga.tar.gz x86_64/ -popd > /dev/null +# Download ODL netvirt for VPP +populate_cache http://artifacts.opnfv.org/apex/danube/fdio_netvirt/opendaylight-7.0.0-0.1.20170531snap665.el7.noarch.rpm # install ODL packages -# install Jolokia for ODL HA # Patch in OPNFV custom puppet-tripleO # install Honeycomb # install quagga/zrpc +# upload neutron patch for generic NS linux interface driver + OVS for external networks LIBGUESTFS_BACKEND=direct virt-customize \ - --upload ${BUILD_DIR}/opendaylight_boron.repo:/etc/yum.repos.d/opendaylight.repo \ - --run-command "yum install --downloadonly --downloaddir=/root/boron/ opendaylight" \ - --upload ${BUILD_DIR}/opendaylight_master.repo:/etc/yum.repos.d/opendaylight.repo \ - --run-command "yum install --downloadonly --downloaddir=/root/master/ opendaylight" \ --upload ${BUILD_DIR}/opendaylight.repo:/etc/yum.repos.d/opendaylight.repo \ --install opendaylight,python-networking-odl \ - --run-command "wget https://github.com/rhuss/jolokia/releases/download/v1.3.3/jolokia-1.3.3-bin.tar.gz -O /tmp/jolokia-1.3.3-bin.tar.gz" \ - --run-command "tar -xvf /tmp/jolokia-1.3.3-bin.tar.gz -C /opt/opendaylight/system/org" \ - --install honeycomb \ - --upload ${BUILD_DIR}/puppet-opendaylight.tar.gz:/etc/puppet/modules/ \ - --run-command "cd /etc/puppet/modules/ && tar xzf puppet-opendaylight.tar.gz" \ - --upload ${BUILD_DIR}/networking-bgpvpn.tar.gz:/root/ \ - --run-command "cd /root/ && tar xzf networking-bgpvpn.tar.gz && cd networking-bgpvpn/ && yum localinstall -y *.rpm && rm -rf /root/networking-bgpvpn*" \ - --run-command "rm -f /etc/neutron/networking_bgpvpn.conf" \ - --run-command "touch /etc/neutron/networking_bgpvpn.conf" \ + --upload ${BUILD_DIR}/puppet-opendaylight-boron.tar.gz:/etc/puppet/modules/ \ + --run-command "cd /etc/puppet/modules/ && tar xzf puppet-opendaylight-boron.tar.gz" \ + --upload ${BUILD_DIR}/puppet-opendaylight-carbon.tar.gz:/root/ \ --upload ${BUILD_DIR}/puppet-gluon.tar.gz:/etc/puppet/modules/ \ --run-command "cd /etc/puppet/modules/ && tar xzf puppet-gluon.tar.gz" \ --install epel-release \ --install python-click \ - --install http://artifacts.opnfv.org/netready/gluon-0.0.1-1_20170216.noarch.rpm \ - --upload ${BUILD_DIR}/quagga.tar.gz:/root/ \ - --run-command "cd /root/ && tar xzf quagga.tar.gz" \ - --install zeromq-4.1.4,zeromq-devel-4.1.4 \ - --install capnproto-devel,capnproto-libs,capnproto \ + --upload ${CACHE_DIR}/$gluon_rpm:/root/\ + --install /root/$gluon_rpm \ + --run-command "yum downgrade -y python-zmq-14.3.1" \ + --install capnproto-libs,capnproto \ + --upload ${BUILD_ROOT}/patches/neutron-patch-NSDriver.patch:/usr/lib/python2.7/site-packages/ \ + --upload ${CACHE_DIR}/opendaylight-7.0.0-0.1.20170531snap665.el7.noarch.rpm:/root/ \ + -a overcloud-full-opendaylight_build.qcow2 + +# Arch dependent on x86 +if [ "$(uname -i)" == 'x86_64' ]; then + +# Download quagga/zrpc rpms +populate_cache http://artifacts.opnfv.org/apex/danube/quagga/quagga-3.tar.gz +# Download Honeycomb +populate_cache https://nexus.fd.io/content/repositories/fd.io.stable.1704.centos7/io/fd/hc2vpp/honeycomb/1.17.04-2048.noarch/honeycomb-1.17.04-2048.noarch.rpm + +LIBGUESTFS_BACKEND=direct virt-customize \ + --upload ${CACHE_DIR}/honeycomb-1.17.04-2048.noarch.rpm:/root/fdio/ \ + --run-command "yum install -y /root/fdio/honeycomb-1.17.04-2048.noarch.rpm" \ + --install zeromq-4.1.4 \ + --upload ${CACHE_DIR}/quagga-3.tar.gz:/root/ \ + --run-command "cd /root/ && tar xzf quagga-3.tar.gz" \ + --run-command "cd /root/quagga; packages=\$(ls |grep -vE 'debuginfo|devel|contrib'); yum -y install \$packages" \ + --run-command "sudo usermod -a -G quaggavt quagga" \ -a overcloud-full-opendaylight_build.qcow2 +fi -mv overcloud-full-opendaylight_build.qcow2 overcloud-full-opendaylight.qcow2 +LIBGUESTFS_BACKEND=direct virt-sparsify --compress overcloud-full-opendaylight_build.qcow2 overcloud-full-opendaylight.qcow2 popd > /dev/null