X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=build%2Fovercloud-opendaylight.sh;h=0ba506992aa0ce95cfee80c7d9d329679f5bb310;hb=9427a4bd66aa341eb1638d8fe4b75f8b137390c1;hp=3e403bbc8217419ec87eede334c5d7125b16890a;hpb=74c3a21e33e9eb3d69024c00fece652d86d8fd38;p=apex.git diff --git a/build/overcloud-opendaylight.sh b/build/overcloud-opendaylight.sh index 3e403bbc..0ba50699 100755 --- a/build/overcloud-opendaylight.sh +++ b/build/overcloud-opendaylight.sh @@ -8,9 +8,10 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## set -e +source ./cache.sh source ./variables.sh -pushd images > /dev/null +pushd ${BUILD_DIR} > /dev/null cp -f overcloud-full.qcow2 overcloud-full-opendaylight_build.qcow2 @@ -19,7 +20,7 @@ cp -f overcloud-full.qcow2 overcloud-full-opendaylight_build.qcow2 ############################################### # Beryllium Repo -cat > /tmp/opendaylight.repo << EOF +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/ @@ -28,7 +29,7 @@ gpgcheck=0 EOF # Boron Repo -cat > /tmp/opendaylight_boron.repo << EOF +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/ @@ -36,39 +37,91 @@ enabled=1 gpgcheck=0 EOF -# SDNVPN - Copy tunnel setup script -wget https://raw.githubusercontent.com/openstack/fuel-plugin-opendaylight/brahmaputra-sr2/deployment_scripts/puppet/modules/opendaylight/templates/setup_TEPs.py +# 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/ +enabled=1 +gpgcheck=0 +EOF + +# OpenDaylight Puppet Module +rm -rf 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/ 905c4059e0bd1d3a74f2c9613363c6c4d45d70f6 > ${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 + +# cache networking-BGPVPN +populate_cache https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python2-networking-bgpvpn-5.0.1-dev6.noarch.rpm +populate_cache https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-heat-5.0.1-dev6.noarch.rpm +populate_cache https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-dashboard-5.0.1-dev6.noarch.rpm +populate_cache https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-doc-5.0.1-dev6.noarch.rpm +populate_cache https://github.com/oglok/networking-bgpvpn-rpm/raw/stable/newton/python-networking-bgpvpn-tests-5.0.1-dev6.noarch.rpm +pushd ${CACHE_DIR}/ > /dev/null +tar czf ${BUILD_DIR}/networking-bgpvpn.tar.gz *networking-bgpvpn* +popd > /dev/null + +# cache gluon +populate_cache http://artifacts.opnfv.org/netready/$gluon_rpm + +#Gluon puppet module +rm -rf netready +git clone -b master https://gerrit.opnfv.org/gerrit/netready +pushd netready/ > /dev/null +git archive --format=tar.gz HEAD:deploy/puppet/ > ${BUILD_DIR}/puppet-gluon.tar.gz +popd > /dev/null + +# Download quagga/zrpc rpms +populate_cache http://artifacts.opnfv.org/apex/danube/quagga/quagga-3.tar.gz + +# 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 + +# Download ODL for fdio scenarios +populate_cache http://artifacts.opnfv.org/apex/danube/fdio_odls/fdio_odl_carbon.tar.gz # 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 /tmp/opendaylight_boron.repo:/etc/yum.repos.d/opendaylight.repo \ + --upload ${BUILD_DIR}/opendaylight_boron.repo:/etc/yum.repos.d/opendaylight.repo \ --run-command "yum install --downloadonly --downloaddir=/root/boron/ opendaylight" \ - --upload /tmp/opendaylight.repo:/etc/yum.repos.d/opendaylight.repo \ + --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 \ + --run-command "wget ${honeycomb_pkg} -O /root/fdio/${honeycomb_pkg##*/}" \ --install opendaylight,python-networking-odl \ - --install https://github.com/michaeltchapman/networking_rpm/raw/master/openstack-neutron-bgpvpn-2015.2-1.el7.centos.noarch.rpm \ - --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" \ - --upload ./setup_TEPs.py:/tmp \ + --run-command "yum install -y /root/fdio/${honeycomb_pkg##*/}" \ + --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}/networking-bgpvpn.tar.gz:/root/ \ + --run-command "cd /root/ && tar xzf networking-bgpvpn.tar.gz && yum localinstall -y *networking-bgpvpn*.rpm" \ + --run-command "rm -f /etc/neutron/networking_bgpvpn.conf" \ + --run-command "touch /etc/neutron/networking_bgpvpn.conf" \ + --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 \ + --upload ${CACHE_DIR}/$gluon_rpm:/root/\ + --install /root/$gluon_rpm \ + --upload ${CACHE_DIR}/quagga-3.tar.gz:/root/ \ + --run-command "cd /root/ && tar xzf quagga-3.tar.gz" \ + --run-command "yum downgrade -y python-zmq-14.3.1" \ + --install zeromq-4.1.4 \ + --install capnproto-libs,capnproto \ + --run-command "cd /root/quagga; packages=\$(ls |grep -vE 'debuginfo|devel|contrib'); yum -y install \$packages" \ + --run-command "sudo usermod -a -G quaggavt quagga" \ + --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/ \ + --upload ${CACHE_DIR}/fdio_odl_carbon.tar.gz:/root/ \ -a overcloud-full-opendaylight_build.qcow2 - # Move these two lines above the -a overcloud-full-opendaylight_build.qcow2 when the patch has been rebased - #--upload ../opnfv-puppet-tripleo.patch:/tmp \ - #--run-command "cd /etc/puppet/modules/tripleo && patch -Np1 < /tmp/opnfv-puppet-tripleo.patch" \ - -## WORK AROUND -## when OpenDaylight lands in upstream RDO manager this can be removed - -# upload the opendaylight puppet module -rm -rf puppet-opendaylight -git clone -b opnfv_integration https://github.com/dfarrell07/puppet-opendaylight -pushd puppet-opendaylight > /dev/null -git archive --format=tar.gz --prefix=opendaylight/ HEAD > ../puppet-opendaylight.tar.gz -popd > /dev/null -LIBGUESTFS_BACKEND=direct virt-customize --upload puppet-opendaylight.tar.gz:/etc/puppet/modules/ \ - --run-command "cd /etc/puppet/modules/ && tar xzf puppet-opendaylight.tar.gz" \ - -a overcloud-full-opendaylight_build.qcow2 - -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