Merge "Migrate to stable/newton"
authorTim Rozet <trozet@redhat.com>
Fri, 11 Nov 2016 19:26:47 +0000 (19:26 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Fri, 11 Nov 2016 19:26:47 +0000 (19:26 +0000)
1  2 
build/Makefile
build/overcloud-full.sh
build/variables.sh
lib/overcloud-deploy-functions.sh

diff --combined build/Makefile
@@@ -17,30 -17,30 +17,30 @@@ export RPMCOM = $(shell pwd)/noarch/opn
  export RPMUDR = $(shell pwd)/noarch/opnfv-apex-undercloud-$(RPMVERS)-$(shell echo ${RELEASE} | tr -d '_-').noarch.rpm
  export RPMODL = $(shell pwd)/noarch/opnfv-apex-$(RPMVERS)-$(shell echo ${RELEASE} | tr -d '_-').noarch.rpm
  export RPMONO = $(shell pwd)/noarch/opnfv-apex-onos-$(RPMVERS)-$(shell echo ${RELEASE} | tr -d '_-').noarch.rpm
 -export RPMSFC = $(shell pwd)/noarch/opnfv-apex-opendaylight-sfc-$(RPMVERS)-$(shell echo ${RELEASE} | tr -d '_-').noarch.rpm
  
  
  .PHONY: all
  all: iso
  
  .PHONY: clean
 -clean: images-clean rpms-clean iso-clean tacker-clean congress-clean vpp-clean
 +clean: images-clean rpms-clean iso-clean tacker-clean tackerclient-clean congress-clean vpp-clean
  
  .PHONY: images
 -images: undercloud overcloud-full overcloud-opendaylight overcloud-onos overcloud-opendaylight-sfc
 +images: undercloud overcloud-full overcloud-opendaylight overcloud-onos
  
  .PHONY: images-clean
 -images-clean: undercloud-clean overcloud-full-clean overcloud-opendaylight-clean overcloud-onos-clean overcloud-opendaylight-sfc-clean
 -      @rm -rf images/
 +images-clean: undercloud-clean overcloud-full-clean overcloud-opendaylight-clean overcloud-onos-clean
 +      rm -rf images/
  
  .PHONY: rpms
 -rpms: common-rpm undercloud-rpm opendaylight-rpm onos-rpm opendaylight-sfc-rpm
 +rpms: common-rpm undercloud-rpm opendaylight-rpm onos-rpm
  
  .PHONY: rpms-check
 -rpms-check: common-rpm-check undercloud-rpm-check opendaylight-rpm-check onos-rpm-check opendaylight-sfc-rpm-check
 +rpms-check: common-rpm-check undercloud-rpm-check opendaylight-rpm-check onos-rpm-check
  
  .PHONY: rpms-clean
 -rpms-clean: common-rpm-clean undercloud-rpm-clean opendaylight-rpm-clean onos-rpm-clean opendaylight-sfc-rpm-clean
 +rpms-clean: common-rpm-clean undercloud-rpm-clean opendaylight-rpm-clean onos-rpm-clean
 +      rm -rf noarch
  
  opnfv-apex-common.tar.gz:
        pushd ../ && git archive --format=tar.gz --prefix=opnfv-apex-common-$(RPMVERS)/ HEAD > build/opnfv-apex-common.tar.gz
@@@ -57,9 -57,6 +57,9 @@@ $(RPMCOM)
        # build the common RPM
        rpmbuild --clean -ba rpm_specs/opnfv-apex-common.spec -D '_topdir %(echo `pwd`)' -D '_builddir %(echo `pwd`)' -D '_sourcedir %(echo `pwd`)' -D '_rpmdir %(echo `pwd`)' -D '_specdir %(echo `pwd`)' -D '_srcrpmdir %(echo `pwd`)' -D "release $(shell echo $(RELEASE) | tr -d '_-')"
  
 +.PHONY: common-rpm-clean
 +common-rpm-clean:
 +
  ##################
  #  PYTHON TESTS  #
  ##################
@@@ -91,8 -88,8 +91,8 @@@ python-pep8-check
  .PHONY: tacker-clean
  
  tacker-clean:
 -      @rm -rf openstack-tacker-2015.2
 -      @rm -f openstack-tacker.tar.gz
 +      rm -rf openstack-tacker-2015.2
 +      rm -f openstack-tacker.tar.gz
  
  openstack-tacker.tar.gz:
        @echo "Preparing the Tacker RPM prerequisites"
@@@ -111,9 -108,10 +111,9 @@@ openstack-tacker-2015.2-1.trozet.noarch
  #################
  
  .PHONY: tackerclient-clean
 -
  tackerclient-clean:
 -      @rm -rf python-tackerclient-2015.2
 -      @rm -f python-tackerclient.tar.gz
 +      rm -rf python-tackerclient-2015.2
 +      rm -f python-tackerclient.tar.gz
  
  python-tackerclient.tar.gz:
        @echo "Preparing the TackerClient RPM prerequisites"
@@@ -211,9 -209,7 +211,9 @@@ networking-vpp
  
  .PHONY: undercloud-clean
  undercloud-clean:
 -      @rm -f images/undercloud.*
 +      rm -f images/undercloud.*
 +      rm -rf opnfv-tht.tar.gz
 +      rm -rf opnfv-tht/
  
  .PHONY: undercloud
  undercloud: images/undercloud.qcow2
@@@ -240,26 -236,19 +240,26 @@@ $(RPMUDR)
        @echo "Building the Apex Undercloud RPM"
        rpmbuild --clean -ba rpm_specs/opnfv-apex-undercloud.spec -D '_topdir %(echo `pwd`)' -D '_builddir %(echo `pwd`)' -D '_sourcedir %(echo `pwd`)' -D '_rpmdir %(echo `pwd`)' -D '_specdir %(echo `pwd`)' -D '_srcrpmdir %(echo `pwd`)' -D "release $(shell echo $(RELEASE) | tr -d '_-')"
  
 +.PHONY: undercloud-rpm-clean
 +undercloud-rpm-clean:
 +
  ###############
  #  OVERCLOUD  #
  ###############
  
  .PHONY: overcloud-full-clean
  overcloud-full-clean:
 -      @rm -rf images/overcloud-full.d
 -      @rm -f images/overcloud-full.*
 +      rm -rf images/overcloud-full.d
 +      rm -f images/overcloud-full.*
 +      rm -rf opnfv-puppet-tripleo.tar.gz
 +      rm -rf opnfv-puppet-tripleo/
 +      rm -rf os-net-config.tar.gz
 +      rm -rf os-net-config/
  
  .PHONY: overcloud-full
  overcloud-full: images/overcloud-full.qcow2
  
- images/overcloud-full.qcow2: tacker-rpm tackerclient-rpm congress-rpm networking-vpp-rpm
+ images/overcloud-full.qcow2: congress-rpm networking-vpp-rpm
        @echo "Building the Apex Base Overcloud Image"
        @./overcloud-full.sh
  
@@@ -293,9 -282,6 +293,9 @@@ $(RPMODL)
        # build the overcloud RPM
        rpmbuild --clean -ba rpm_specs/opnfv-apex.spec -D '_topdir %(echo `pwd`)' -D '_builddir %(echo `pwd`)' -D '_sourcedir %(echo `pwd`)' -D '_rpmdir %(echo `pwd`)' -D '_specdir %(echo `pwd`)' -D '_srcrpmdir %(echo `pwd`)' -D "release $(shell echo $(RELEASE) | tr -d '_-')"
  
 +.PHONY: opendaylight-rpm-clean
 +opendaylight-rpm-clean:
 +
  ###############
  #    ONOS     #
  ###############
@@@ -315,8 -301,7 +315,8 @@@ images/overcloud-full-onos.qcow2: image
  
  .PHONY: onos-rpm-clean
  onos-rpm-clean:
 -      @rpmbuild --clean rpm_specs/opnfv-apex-onos.spec -D "release $(shell echo $RELEASE | tr -d '_-')"
 +      @#rpmbuild --clean rpm_specs/opnfv-apex-onos.spec -D "release $(shell echo $RELEASE | tr -d '_-')"
 +      rm -rf opnfv-apex-onos.tar.gz
  
  opnfv-apex-onos.tar.gz: images/overcloud-full-onos.qcow2
        tar -czf opnfv-apex-onos.tar.gz --xform="s:images/overcloud-full-onos.qcow2:opnfv-apex-onos-$(RPMVERS)/build/images/overcloud-full-onos.qcow2:" images/overcloud-full-onos.qcow2
@@@ -333,6 -318,35 +333,6 @@@ $(RPMONO)
        # build the overcloud RPM
        rpmbuild --clean -ba rpm_specs/opnfv-apex-onos.spec -D '_topdir %(echo `pwd`)' -D '_builddir %(echo `pwd`)' -D '_sourcedir %(echo `pwd`)' -D '_rpmdir %(echo `pwd`)' -D '_specdir %(echo `pwd`)' -D '_srcrpmdir %(echo `pwd`)' -D "release $(shell echo $(RELEASE) | tr -d '_-')"
  
 -###############
 -#   ODL-SFC   #
 -###############
 -
 -.PHONY: overcloud-opendaylight-sfc-clean
 -overcloud-opendaylight-sfc-clean:
 -      @rm -f images/overcloud-full-opendaylight-sfc.qcow2
 -
 -.PHONY: overcloud-opendaylight-sfc
 -overcloud-opendaylight-sfc: images/overcloud-full-opendaylight-sfc.qcow2
 -
 -images/overcloud-full-opendaylight-sfc.qcow2: images/overcloud-full-opendaylight.qcow2
 -      @echo "Building the Apex OpenDaylight Overcloud Image"
 -      @./overcloud-opendaylight-sfc.sh
 -
 -opnfv-apex-opendaylight-sfc.tar.gz: images/overcloud-full-opendaylight-sfc.qcow2
 -      tar -czf opnfv-apex-opendaylight-sfc.tar.gz --xform="s:images/overcloud-full-opendaylight-sfc.qcow2:opnfv-apex-opendaylight-sfc-$(RPMVERS)/build/images/overcloud-full-opendaylight-sfc.qcow2:" images/overcloud-full-opendaylight-sfc.qcow2
 -
 -.PHONY: opendaylight-sfc-rpm-check
 -opendaylight-sfc-rpm-check: opnfv-apex-opendaylight-sfc.tar.gz
 -      rpmbuild --clean -bi -bl rpm_specs/opnfv-apex-opendaylight-sfc.spec -D '_topdir %(echo `pwd`)' -D '_builddir %(echo `pwd`)' -D '_sourcedir %(echo `pwd`)' -D '_rpmdir %(echo `pwd`)' -D '_specdir %(echo `pwd`)' -D '_srcrpmdir %(echo `pwd`)' -D "release $(shell echo $(RELEASE) | tr -d '_-')"
 -
 -.PHONY: opendaylight-sfc-rpm
 -opendaylight-sfc-rpm: opnfv-apex-opendaylight-sfc.tar.gz $(RPMSFC)
 -
 -$(RPMSFC):
 -      @echo "Building the Apex OpenDaylight SFC RPM"
 -      rpmbuild --clean -ba rpm_specs/opnfv-apex-opendaylight-sfc.spec -D '_topdir %(echo `pwd`)' -D '_builddir %(echo `pwd`)' -D '_sourcedir %(echo `pwd`)' -D '_rpmdir %(echo `pwd`)' -D '_specdir %(echo `pwd`)' -D '_srcrpmdir %(echo `pwd`)' -D "release $(shell echo $(RELEASE) | tr -d '_-')"
 -
  ###############
  #    ISO      #
  ###############
@@@ -371,6 -385,7 +371,6 @@@ iso:       iso-clean images rpms $(CENTISO
        @ln $(RPMUDR) centos/Packages
        @ln $(RPMODL) centos/Packages
        @ln $(RPMONO) centos/Packages
 -      @ln $(RPMSFC) centos/Packages
        # add packages to the centos packages
        cd centos/Packages && yumdownloader openvswitch
        cd centos/Packages && yumdownloader openstack-tripleo
diff --combined build/overcloud-full.sh
@@@ -18,11 -18,6 +18,6 @@@ if [ ! -d images/ ]; then mkdir images
  tar -xf cache/overcloud-full.tar -C images/
  mv -f images/overcloud-full.qcow2 images/overcloud-full_build.qcow2
  
- # Add extra space to the overcloud image
- qemu-img resize images/overcloud-full_build.qcow2 +1G
- LIBGUESTFS_BACKEND=direct virt-customize -a images/overcloud-full_build.qcow2 \
-                                          --run-command 'resize2fs /dev/sda'
  ##########################################################
  #####  Prep initial overcloud image with common deps #####
  ##########################################################
@@@ -105,7 -100,6 +100,7 @@@ popd > /dev/nul
  # upload the tacker puppet module and untar it
  LIBGUESTFS_BACKEND=direct virt-customize \
      --upload ../opnfv-puppet-tripleo.tar.gz:/etc/puppet/modules \
 +    --run-command "yum update -y python-ipaddress rabbitmq-server erlang*" \
      --run-command "if ! rpm -qa | grep python-redis; then yum install -y python-redis; fi" \
      --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 "puppet module install cristifalcas/etcd" \
      --run-command "yum update -y puppet" \
      --install "centos-release-qemu-ev" \
 -    --run-command "yum update -y qemu-kvm-ev" \
 +    --run-command "yum install -y qemu-kvm-ev-2.3.0-31.el7_2.21.1.x86_64" \
      --run-command "yum remove -y qemu-system-x86" \
      --upload ../os-net-config.tar.gz:/usr/lib/python2.7/site-packages \
      --run-command "cd /usr/lib/python2.7/site-packages/ && rm -rf os_net_config && tar xzf os-net-config.tar.gz" \
 -    --upload ../noarch/openstack-congress-2016.1-1.el7.centos.noarch.rpm:/root/ \
 -    --install /root/openstack-congress-2016.1-1.el7.centos.noarch.rpm \
 +    --upload ../noarch/$openstack_congress_pkg:/root/ \
 +    --install /root/$openstack_congress_pkg \
      --install "python2-congressclient" \
      --upload puppet-congress.tar.gz:/etc/puppet/modules/ \
      --run-command "cd /etc/puppet/modules/ && tar xzf puppet-congress.tar.gz" \
      --run-command "cd /etc/puppet/modules && tar xzf puppet-fdio.tar.gz" \
      --upload vsperf.tar.gz:/var/opt \
      --run-command "cd /var/opt && tar xzf vsperf.tar.gz" \
-     --upload ../noarch/python-tackerclient-2015.2-1.trozet.noarch.rpm:/root/ \
-     --install /root/python-tackerclient-2015.2-1.trozet.noarch.rpm \
-     --upload ../noarch/openstack-tacker-2015.2-1.trozet.noarch.rpm:/root/ \
-     --install /root/openstack-tacker-2015.2-1.trozet.noarch.rpm \
      --upload puppet-tacker.tar.gz:/etc/puppet/modules/ \
      --run-command "cd /etc/puppet/modules/ && tar xzf puppet-tacker.tar.gz" \
      --run-command "pip install python-senlinclient" \
@@@ -172,6 -162,23 +163,6 @@@ git am *.patc
  popd > /dev/null
  tar czf ovs.tar.gz ovs
  
 -# Required packages to redirect stdin with virt-customize
 -virt_pkg_str="./$libguestfs_pkg "
 -wget $virt_uri_base/$libguestfs_pkg
 -for package in ${virt_pkgs[@]}; do
 -  wget "$virt_uri_base/$package"
 -  virt_pkg_str+=" ./$package"
 -done
 -
 -if ! sudo yum -y install ${virt_pkg_str}; then
 -  if [ "$(rpm -q libguestfs)" != "$(rpm -qpf $libguestfs_pkg)" ]; then
 -    echo "ERROR: Failed to update libguestfs"
 -    exit 1
 -  fi
 -fi
 -
 -
 -
  # BUILD NSH OVS
  LIBGUESTFS_BACKEND=direct virt-customize \
      --upload ../build_ovs_nsh.sh:/root/ \
diff --combined build/variables.sh
@@@ -8,13 -8,12 +8,13 @@@
  # http://www.apache.org/licenses/LICENSE-2.0
  ##############################################################################
  
- rdo_images_uri=http://artifacts.opnfv.org/apex/colorado
+ rdo_images_uri=http://buildlogs.centos.org/centos/7/cloud/x86_64/tripleo_images/newton/delorean
  onos_release_uri=https://downloads.onosproject.org/nightly/
  onos_release_file=onos-1.6.0-rc2.tar.gz
  onos_jdk_uri=http://artifacts.opnfv.org/apex/colorado
  onos_ovs_uri=http://artifacts.opnfv.org/apex/colorado
  onos_ovs_pkg=package_ovs_rpm3.tar.gz
 +openstack_congress_pkg="openstack-congress-2016.1-1$(rpm -E '%dist').noarch.rpm"
  doctor_driver=https://raw.githubusercontent.com/openstack/congress/master/congress/datasources/doctor_driver.py
  if [ -z ${GS_PATHNAME+x} ]; then
      GS_PATHNAME=/colorado
@@@ -36,3 -35,19 +36,3 @@@ fdio_pkgs=
  'vpp-python-api-16.09-release.x86_64.rpm'
  )
  honeycomb_pkg='honeycomb-1.16.9-FINAL.noarch.rpm'
 -
 -
 -ovs_rpm_name=openvswitch-2.5.90-1.el7.centos.x86_64.rpm
 -ovs_kmod_rpm_name=openvswitch-kmod-2.5.90-1.el7.centos.x86_64.rpm
 -
 -virt_uri_base=https://people.redhat.com/~rjones/libguestfs-RHEL-7.3-preview
 -libguestfs_pkg='libguestfs-1.32.7-3.el7.x86_64.rpm'
 -virt_pkgs=(
 -'libguestfs-tools-1.32.7-3.el7.noarch.rpm'
 -'libguestfs-tools-c-1.32.7-3.el7.x86_64.rpm'
 -'supermin-5.1.16-4.el7.x86_64.rpm'
 -'supermin5-5.1.16-4.el7.x86_64.rpm'
 -'supermin-helper-5.1.16-4.el7.x86_64.rpm'
 -'perl-Sys-Guestfs-1.32.7-3.el7.x86_64.rpm'
 -'python-libguestfs-1.32.7-3.el7.x86_64.rpm'
 -)
@@@ -15,9 -15,7 +15,7 @@@ function overcloud_deploy 
    local num_control_nodes
  
    if [[ "${#deploy_options_array[@]}" -eq 0 || "${deploy_options_array['sdn_controller']}" == 'opendaylight' ]]; then
-     if [ "${deploy_options_array['sdn_l3']}" == 'True' ]; then
-       DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight_l3.yaml"
-     elif [ "${deploy_options_array['sfc']}" == 'True' ]; then
+     if [ "${deploy_options_array['sfc']}" == 'True' ]; then
        DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight_sfc.yaml"
      elif [ "${deploy_options_array['vpn']}" == 'True' ]; then
        DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight_sdnvpn.yaml"
      elif [ "${deploy_options_array['vpn']}" == 'true' ]; then
        DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight_sdnvpn.yaml"
      else
-       DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight.yaml"
+       DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/neutron-opendaylight-l3.yaml"
      fi
      SDN_IMAGE=opendaylight
 -    if [ "${deploy_options_array['sfc']}" == 'True' ]; then
 -      SDN_IMAGE+=-sfc
 -      if [ ! -f $RESOURCES/overcloud-full-${SDN_IMAGE}.qcow2 ]; then
 -          echo "${red} $RESOURCES/overcloud-full-${SDN_IMAGE}.qcow2 is required to execute an SFC deployment."
 -          echo "Please install the opnfv-apex-opendaylight-sfc package to provide this overcloud image for deployment.${reset}"
 -          exit 1
 -      fi
 -    fi
    elif [ "${deploy_options_array['sdn_controller']}" == 'opendaylight-external' ]; then
      DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight-external.yaml"
      SDN_IMAGE=opendaylight
@@@ -59,6 -65,7 +57,6 @@@
    # Make sure the correct overcloud image is available
    if [ ! -f $RESOURCES/overcloud-full-${SDN_IMAGE}.qcow2 ]; then
        echo "${red} $RESOURCES/overcloud-full-${SDN_IMAGE}.qcow2 is required to execute your deployment."
 -      echo "Both ONOS and OpenDaylight are currently deployed from this image."
        echo "Please install the opnfv-apex package to provide this overcloud image for deployment.${reset}"
        exit 1
    fi
@@@ -108,7 -115,6 +106,7 @@@ EO
                                                   --run-command "sed -i 's/\\(^\\s\\+\\)\\(start_daemon "$OVS_VSWITCHD_PRIORITY"\\)/\\1umask 0002 \\&\\& \\2/' /usr/share/openvswitch/scripts/ovs-ctl" \
                                                   -a overcloud-full.qcow2
        fi
 +
  EOI
  
    elif [ "${deploy_options_array['dataplane']}" != 'ovs' ]; then
      ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" "LIBGUESTFS_BACKEND=direct virt-customize -a overcloud-full.qcow2 --root-password password:opnfvapex"
    fi
  
 +  # upgrade ovs into ovs 2.5.90 with NSH function if SFC is enabled
 +  if [[ "${deploy_options_array['sfc']}" == 'True' && "${deploy_options_array['dataplane']}" == 'ovs' ]]; then
 +    ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
 +         LIBGUESTFS_BACKEND=direct virt-customize --run-command "yum install -y /root/ovs/rpm/rpmbuild/RPMS/x86_64/${ovs_kmod_rpm_name}" \
 +                                                  --run-command "yum upgrade -y /root/ovs/rpm/rpmbuild/RPMS/x86_64/${ovs_rpm_name}" \
 +                                                  -a overcloud-full.qcow2
 +EOI
 +  fi
 +
    # Set ODL version accordingly
    if [[ "${deploy_options_array['sdn_controller']}" == 'opendaylight' && "${deploy_options_array['odl_version']}" == 'boron' ]]; then
      ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
@@@ -199,10 -196,6 +197,10 @@@ if [ -n "${public_network_controller_in
  fi
  EOI
  
 +    echo -e "${blue}INFO: Including /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml ${reset}"
 +    if [ "$debug" == 'TRUE' ]; then
 +      ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" "cat /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml"
 +    fi
      DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml"
    fi