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)
36 files changed:
build/Makefile
build/build_perf_image.sh
build/c7-opnfv-x86_64-comps.xml
build/cache.sh
build/overcloud-full.sh
build/overcloud-onos.sh
build/overcloud-opendaylight-sfc.sh [deleted file]
build/rpm_specs/opnfv-apex-common.spec
build/rpm_specs/opnfv-apex-onos.spec
build/rpm_specs/opnfv-apex-opendaylight-sfc.spec [deleted file]
build/rpm_specs/opnfv-apex-undercloud.spec
build/rpm_specs/opnfv-apex.spec
build/variables.sh
ci/PR_revision.log
ci/build.sh
ci/clean.sh
ci/deploy.sh
ci/dev_dep_check.sh [moved from ci/dev_deploy_check.sh with 70% similarity]
ci/run_smoke_tests.sh
config/deploy/os-nosdn-fdio-noha.yaml
config/deploy/os-odl_l2-fdio-ha.yaml
config/deploy/os-odl_l2-fdio-noha.yaml
config/network/network_settings.yaml
config/network/network_settings_v6.yaml
config/network/network_settings_vlans.yaml
docs/installationprocedure/baremetal.rst
docs/installationprocedure/virtualinstall.rst
docs/releasenotes/release-notes.rst
lib/installer/onos/onos_gw_mac_update.sh
lib/overcloud-deploy-functions.sh
lib/python/apex/common/constants.py
lib/python/apex/deploy_settings.py
lib/python/apex/network_settings.py
tests/smoke_tests/execute_smoke_tests.sh
tests/smoke_tests/execute_tests.yml
tests/smoke_tests/prepare_undercloud.yml

index 1573ea9..c693e89 100644 (file)
@@ -17,30 +17,30 @@ export RPMCOM = $(shell pwd)/noarch/opnfv-apex-common-$(RPMVERS)-$(shell echo ${
 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,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  #
 ##################
@@ -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"
@@ -108,10 +111,9 @@ openstack-tacker-2015.2-1.trozet.noarch.rpm:
 #################
 
 .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"
@@ -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
@@ -236,14 +240,21 @@ $(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
@@ -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     #
 ###############
@@ -301,7 +315,8 @@ images/overcloud-full-onos.qcow2: images/overcloud-full.qcow2
 
 .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
@@ -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      #
 ###############
@@ -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
index 68a1804..68f74ea 100644 (file)
@@ -41,3 +41,14 @@ if [ "$CATEGORY" == "kernel" ]; then
   fi
 fi
 
+if [ "$CATEGORY" == "vpp" ]; then
+  if [ "$KEY" == "main-core" ]; then
+    sudo sed -i "/${ROLE}VPPMainCore:/c\  ${ROLE}VPPMainCore: '${VALUE}'" /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml
+  fi
+  if [ "$KEY" == "corelist-workers" ]; then
+    sudo sed -i "/${ROLE}VPPCorelistWorkers:/c\  ${ROLE}VPPCorelistWorkers: '${VALUE}'" /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml
+  fi
+  if [ "$KEY" == "uio-driver" ]; then
+    sudo sed -i "/${ROLE}UIODriver:/c\  ${ROLE}UIODriver: '${VALUE}'" /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml
+  fi
+fi
\ No newline at end of file
index a9b0af0..67a0e51 100644 (file)
@@ -3,7 +3,7 @@
 <comps>
   <group>
     <id>apex-opendaylight</id>
-    <name>OPNFV Apex OpenDaylight (non-sfc) Support</name>
+    <name>OPNFV Apex OpenDaylight Support</name>
     <description>Disk images and configuration files used to launch an Apex OpenDaylight deployment.</description>
     <default>false</default>
     <uservisible>false</uservisible>
@@ -15,7 +15,7 @@
   </group>
   <group>
     <id>apex-onos</id>
-    <name>OPNFV Apex ONOS (non-sfc) Support</name>
+    <name>OPNFV Apex ONOS Support</name>
     <description>Disk images and configuration files used to launch an Apex ONOS deployment.</description>
     <default>false</default>
     <uservisible>false</uservisible>
       <packagereq type="mandatory">opnfv-undercloud</packagereq>
     </packagelist>
   </group>
-  <group>
-    <id>apex-opendaylight-sfc</id>
-    <name>OPNFV Apex OpenDaylight SFC Support</name>
-    <description>Disk images and configuration files used to launch an Apex ODL SFC deployment.</description>
-    <default>false</default>
-    <uservisible>false</uservisible>
-    <packagelist>
-      <packagereq type="mandatory">opnfv-apex-opendaylight-sfc</packagereq>
-      <packagereq type="mandatory">opnfv-common</packagereq>
-      <packagereq type="mandatory">opnfv-undercloud</packagereq>
-    </packagelist>
-  </group>
   <group>
     <id>additional-devel</id>
     <name>Additional Development</name>
       <groupid>virtualization-tools</groupid>
       <groupid>apex-opendaylight</groupid>
       <groupid>apex-onos</groupid>
-      <groupid>apex-opendaylight-sfc</groupid>
     </grouplist>
     <optionlist>
       <groupid>virtualization-platform</groupid>
       <groupid>virtualization-tools</groupid>
       <groupid>apex-opendaylight</groupid>
       <groupid>apex-onos</groupid>
-      <groupid>apex-opendaylight-sfc</groupid>
     </grouplist>
     <optionlist>
       <groupid>kde-desktop</groupid>
index 4d41a7a..5c7e5e7 100644 (file)
@@ -38,12 +38,15 @@ function curl_file {
 }
 
 # $1 =  download url
+# $2 =  remote md5
 function populate_cache {
     local my_md5
     cache_dir
 
     # get the file name
     filename="${1##*/}"
+    # copy passed in md5
+    remote_md5=$2
 
     # check if the cache file exists
     # and if it has an md5 compare that
@@ -53,7 +56,9 @@ function populate_cache {
         curl_file $1 $filename
     else
         echo "Cache file exists...comparing MD5 checksum"
-        remote_md5="$(curl -sf -L ${1}.md5 | awk {'print $1'})"
+        if [ -z $remote_md5 ]; then
+            remote_md5="$(curl -sf -L ${1}.md5 | awk {'print $1'})"
+        fi
         if [ -z "$remote_md5" ]; then
             echo "Got empty MD5 from remote for $filename, skipping MD5 check"
             curl_file $1 $filename
index e35a89f..fa4444a 100755 (executable)
@@ -100,6 +100,7 @@ popd > /dev/null
 # 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" \
@@ -116,12 +117,12 @@ LIBGUESTFS_BACKEND=direct virt-customize \
     --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" \
@@ -162,23 +163,6 @@ git am *.patch
 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/ \
index b695983..921ad50 100755 (executable)
@@ -18,15 +18,9 @@ cp -f overcloud-full.qcow2 overcloud-full-onos_build.qcow2
 #####    Adding ONOS to overcloud #####
 #######################################
 
-# upgrade ovs into ovs 2.5.90 with NSH function
-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-onos_build.qcow2
-
-
 # get the onos files
 rm -rf puppet-onos
-populate_cache "$onos_release_uri/$onos_release_file"
+populate_cache "$onos_release_uri/$onos_release_file" "$(curl https://downloads.onosproject.org/nightly/ | grep $onos_release_file | grep -o -e '[0-9a-f]\{32\}')"
 populate_cache "$onos_jdk_uri/jdk-8u51-linux-x64.tar.gz"
 
 LIBGUESTFS_BACKEND=direct virt-customize --upload $CACHE_DIR/$onos_release_file:/opt/ \
diff --git a/build/overcloud-opendaylight-sfc.sh b/build/overcloud-opendaylight-sfc.sh
deleted file mode 100755 (executable)
index 444d284..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-##############################################################################
-# Copyright (c) 2015 Tim Rozet (Red Hat), Dan Radez (Red Hat) and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set -e
-source ./variables.sh
-pushd images > /dev/null
-
-################################################
-#####    Adding SFC+OpenDaylight overcloud #####
-################################################
-
-#copy opendaylight overcloud full to odl-sfc
-cp -f overcloud-full-opendaylight.qcow2 overcloud-full-opendaylight-sfc_build.qcow2
-
-# upgrade ovs into ovs 2.5.90 with NSH function
-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-opendaylight-sfc_build.qcow2
-
-mv overcloud-full-opendaylight-sfc_build.qcow2 overcloud-full-opendaylight-sfc.qcow2
-popd > /dev/null
index 6ad5782..33e1486 100644 (file)
@@ -1,5 +1,5 @@
 Name:          opnfv-apex-common
-Version:       3.0
+Version:       4.0
 Release:       %{release}
 Summary:       Scripts for OPNFV deployment using RDO Manager
 
@@ -136,6 +136,8 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/
 %doc %{_docdir}/opnfv/inventory.yaml.example
 
 %changelog
+* Wed Nov 2 2016 Dan Radez <dradez@redhat.com> - 4.0-1
+- Version update for Danube
 * Fri Sep 16 2016 Dan Radez <dradez@redhat.com> - 3.0-13
 - adding bash completion script
 * Tue Aug 30 2016 Tim Rozet <trozet@redhat.com> - 3.0-12
index e99bfa9..ef1c66d 100644 (file)
@@ -1,5 +1,5 @@
 Name:          opnfv-apex-onos
-Version:       3.0
+Version:       4.0
 Release:       %{release}
 Summary:       Overcloud Disk images for OPNFV Apex ONOS deployment
 
@@ -28,6 +28,8 @@ install build/images/overcloud-full-onos.qcow2 %{buildroot}%{_var}/opt/opnfv/ima
 %{_var}/opt/opnfv/images/overcloud-full-onos.qcow2
 
 %changelog
+* Wed Nov 2 2016 Dan Radez <dradez@redhat.com> - 4.0-1
+- Version update for Danube
 * Mon Apr 04 2016 Dan Radez <dradez@redhat.com> - 3.0-0
 - Version update for Colorado
 * Mon Mar 07 2016 Dan Radez <dradez@redhat.com> - 2.1-1
diff --git a/build/rpm_specs/opnfv-apex-opendaylight-sfc.spec b/build/rpm_specs/opnfv-apex-opendaylight-sfc.spec
deleted file mode 100644 (file)
index a63ec7c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-Name:          opnfv-apex-opendaylight-sfc
-Version:       3.0
-Release:       %{release}
-Summary:       Overcloud Disk images for OPNFV Apex OpenDaylight with SFC deployment
-
-Group:         System Environment
-License:       Apache 2.0
-URL:           https://gerrit.opnfv.org/gerrit/apex.git
-Source0:       opnfv-apex-opendaylight-sfc.tar.gz
-
-Provides:       opnfv-apex-sdn
-BuildArch:     noarch
-Requires:      opnfv-apex-common opnfv-apex-undercloud
-
-%description
-Overcloud Disk images for OPNFV Apex OpenDaylight with SFC deployment
-https://wiki.opnfv.org/apex
-
-%prep
-%setup -q
-
-%install
-mkdir -p %{buildroot}%{_var}/opt/opnfv/images/
-install build/images/overcloud-full-opendaylight-sfc.qcow2 %{buildroot}%{_var}/opt/opnfv/images/
-
-%files
-%defattr(644, root, root, -)
-%{_var}/opt/opnfv/images/overcloud-full-opendaylight-sfc.qcow2
-
-%changelog
-* Mon Apr 04 2016 Dan Radez <dradez@redhat.com> - 3.0-0
-- Version update for Colorado
-* Tue Jan 19 2016 Dan Radez <dradez@redhat.com> - 2.1-1
-- Initial Packaging
index 7b688b5..54b8acc 100644 (file)
@@ -1,5 +1,5 @@
 Name:          opnfv-apex-undercloud
-Version:       3.0
+Version:       4.0
 Release:       %{release}
 Summary:       Scripts and Disk images to launch the Undercloud for OPNFV Apex
 
@@ -35,6 +35,8 @@ install build/nics-template.yaml.jinja2 %{buildroot}%{_var}/opt/opnfv/
 
 
 %changelog
+* Wed Nov 2 2016 Dan Radez <dradez@redhat.com> - 4.0-1
+- Version update for Danube
 * Tue May 24 2016 Tim Rozet <trozet@redhat.com> - 3.0-1
 - Adds jinja2 nic templates
 * Mon Apr 04 2016 Dan Radez <dradez@redhat.com> - 3.0-0
index acc8a53..1844d8c 100644 (file)
@@ -1,5 +1,5 @@
 Name:          opnfv-apex
-Version:       3.0
+Version:       4.0
 Release:       %{release}
 Summary:       Overcloud Disk images for OPNFV Apex OpenDaylight deployment
 
@@ -28,6 +28,8 @@ install build/images/overcloud-full-opendaylight.qcow2 %{buildroot}%{_var}/opt/o
 %{_var}/opt/opnfv/images/overcloud-full-opendaylight.qcow2
 
 %changelog
+* Wed Nov 2 2016 Dan Radez <dradez@redhat.com> - 4.0-1
+- Version update for Danube
 * Mon Apr 04 2016 Dan Radez <dradez@redhat.com> - 3.0-0
 - Version update for Colorado
 * Wed Jan 20 2016 Dan Radez <dradez@redhat.com> - 2.1-4
index e536600..c4ac16c 100644 (file)
@@ -14,6 +14,7 @@ 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
@@ -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'
-)
index 16cf08f..4886ee8 100644 (file)
@@ -45,3 +45,6 @@
 86,Moves sdnvpn config to env file
 87,Pass vlan flag to fdio module when vlan is used for tenant network
 88,Default tenant_nic to its physical name
+89,Add enic workaround for UCS with OVS DPDK
+90,removing /%(tenantid)s from tacker heat_uri
+94,Add defaults to vpp_main_core and vpp_corelist_workers
\ No newline at end of file
index f3ab497..f1333ce 100755 (executable)
@@ -132,9 +132,6 @@ if [[ "$MAKE_TARGETS" == "images" ]]; then
         if [[ $commit_file_list == *build/rpm_specs/opnfv-apex-onos.spec* ]]; then
             MAKE_TARGETS+=" onos-rpm-check"
         fi
-        if [[ $commit_file_list == *build/rpm_specs/opnfv-apex-opendaylight-sfc.spec* ]]; then
-            MAKE_TARGETS+=" opendaylight-sfc-rpm-check"
-        fi
     fi
 fi
 
index c00a4df..1e5e320 100755 (executable)
@@ -30,8 +30,8 @@ for lib in common-functions parse-functions; do
 done
 
 vm_index=4
-ovs_bridges="br-admin br-tenant br-public br-storage"
-ovs_bridges+=" br-private br-external" # Legecy names, remove in E river
+ovs_bridges="br-admin br-tenant br-external br-storage"
+ovs_bridges+=" br-private br-public" # Legacy names, remove in E river
 
 #OPNFV_NETWORK_TYPES=$(python3 -c 'from apex.common.constants import OPNFV_NETWORK_TYPES; print(" ".join(OPNFV_NETWORK_TYPES))')
 OPNFV_NETWORK_TYPES+=" admin tenant external storage api"
index edc6062..6d3ded0 100755 (executable)
@@ -24,10 +24,12 @@ green=$(tput setaf 2 || echo "")
 
 interactive="FALSE"
 ping_site="8.8.8.8"
-ntp_server="pool.ntp.org"
 post_config="TRUE"
 debug="FALSE"
 
+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
+
 declare -i CNT
 declare UNDERCLOUD
 declare -A deploy_options_array
similarity index 70%
rename from ci/dev_deploy_check.sh
rename to ci/dev_dep_check.sh
index 0ce135a..a15eb8b 100755 (executable)
@@ -51,3 +51,24 @@ easy_install-3.4 jinja2
 
 # TODO(cgoncalves): remove once congress RPM is downloaded from upstream
 easy_install-3.4 tox
+
+# Required packages to redirect stdin with virt-customize
+virt_uri_base=https://people.redhat.com/~rjones/libguestfs-RHEL-7.3-preview
+virt_pkgs=(
+'libguestfs-1.32.7-3.el7.x86_64.rpm'
+'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'
+)
+
+for pkg in ${virt_pkgs[@]}; do
+    if ! rpm -q ${pkg%-*-*}; then
+        if ! sudo yum -y install $virt_uri_base/$pkg; then
+            echo "ERROR: Failed to update $pkg"
+        fi
+    fi
+done
index b059952..8985ed8 100755 (executable)
@@ -2,4 +2,7 @@
 
 source ../lib/utility-functions.sh
 
+export ANSIBLE_HOST_KEY_CHECKING=False
+
+echo 'See ~stack/smoke-tests.out on the undercloud for result log'
 ansible-playbook -i "$(get_undercloud_ip)," ../tests/smoke_tests/smoke_tests.yml
index 4d27ae8..dd87803 100644 (file)
@@ -15,9 +15,21 @@ deploy_options:
       kernel:
         hugepages: 1024
         hugepagesz: 2M
+        intel_iommu: 'on'
+        iommu: pt
+        isolcpus: 1,2
+      vpp:
+        main-core: 1
+        corelist-workers: 2
+        uio-driver: uio_pci_generic
     Compute:
       kernel:
         hugepagesz: 2M
         hugepages: 2048
         intel_iommu: 'on'
         iommu: pt
+        isolcpus: 1,2
+      vpp:
+        main-core: 1
+        corelist-workers: 2
+        uio-driver: uio_pci_generic
index f1297e8..8283657 100644 (file)
@@ -16,9 +16,21 @@ deploy_options:
       kernel:
         hugepages: 1024
         hugepagesz: 2M
+        intel_iommu: 'on'
+        iommu: pt
+        isolcpus: 1,2
+      vpp:
+        main-core: 1
+        corelist-workers: 2
+        uio-driver: uio_pci_generic
     Compute:
       kernel:
         hugepagesz: 2M
         hugepages: 2048
         intel_iommu: 'on'
         iommu: pt
+        isolcpus: 1,2
+      vpp:
+        main-core: 1
+        corelist-workers: 2
+        uio-driver: uio_pci_generic
index 207c6f3..53d6181 100644 (file)
@@ -18,9 +18,19 @@ deploy_options:
         hugepagesz: 2M
         intel_iommu: 'on'
         iommu: pt
+        isolcpus: 1,2
+      vpp:
+        main-core: 1
+        corelist-workers: 2
+        uio-driver: uio_pci_generic
     Compute:
       kernel:
         hugepagesz: 2M
         hugepages: 2048
         intel_iommu: 'on'
         iommu: pt
+        isolcpus: 1,2
+      vpp:
+        main-core: 1
+        corelist-workers: 2
+        uio-driver: uio_pci_generic
index ab9ed96..6cf9ae8 100644 (file)
@@ -56,6 +56,7 @@ syslog:
   server: 10.128.1.24
   transport: 'tcp'
 
+# Common network settings
 networks:                            # Network configurations
   admin:                             # Admin configuration (pxe and jumpstart),
     enabled: true
@@ -67,7 +68,9 @@ networks:                            # Network configurations
       ip: 192.0.2.1                  # IP to assign to Installer VM on this network
     usable_ip_range:
       - 192.0.2.11
-      - 192.0.2.99                   # Usable ip range, if empty entire range is usable
+      - 192.0.2.99                   # Usable ip range for the overcloud node IPs (including VIPs) and last IP will be
+                                     # used for host bridge (i.e. br-admin). If empty entire range is usable.
+                                     # Cannot overlap with dhcp_range or introspection_range.
     gateway: 192.0.2.1               # Gateway (only needed when public_network is disabled)
     cidr: 192.0.2.0/24               # Subnet in CIDR format 192.168.1.0/24
     dhcp_range:
@@ -79,14 +82,14 @@ networks:                            # Network configurations
         members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
           - nic1
       controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
-        phys_type: bond
+        phys_type: interface
         members:
           - nic1
                                      #
   tenant:                            # Tenant network configuration
     enabled: true
     cidr: 11.0.0.0/24                # Subnet in CIDR format 192.168.1.0/24
-    mtu: 64000                       # Tenant network MTU
+    mtu: 1500                        # Tenant network MTU
     overlay_id_range: 2,65535        # Tenant network Overlay segmentation ID range:
                                      # VNI, VLAN-ID, etc.
     segmentation_type: vxlan         # Tenant network segmentation type:
@@ -106,7 +109,7 @@ networks:                            # Network configurations
   external:                          # Can contain 1 or more external networks
     - public:                        # "public" network will be the network the installer VM attaches to
       enabled: true
-      mtu: 64000                     # Public network MTU
+      mtu: 1500                      # Public network MTU
       installer_vm:                  # Network settings for the Installer VM on admin network (note only valid on 'public' external network)
         nic_type: interface          # Indicates if this VM will be bridged to an interface, or to a bond
         vlan: native
@@ -117,10 +120,11 @@ networks:                            # Network configurations
       gateway: 192.168.37.1
       floating_ip_range:
         - 192.168.37.200
-        - 192.168.37.220             #Range to allocate to floating IPs for the public network with Neutron
+        - 192.168.37.220             # Range to allocate to floating IPs for the public network with Neutron
       usable_ip_range:
         - 192.168.37.10
-        - 192.168.37.199             # Usable IP range on the public network, usually this is a shared subnet
+        - 192.168.37.199             # Usable ip range for the overcloud node IPs (including VIPs) and last IP will be used for host
+                                     # bridge (i.e. br-public). If empty entire range is usable.  Cannot overlap with dhcp_range or introspection_range.
       nic_mapping:                   # Mapping of network configuration for Overcloud Nodes
         compute:                     # Mapping for compute profile (nodes that will be used as Compute nodes)
           phys_type: interface       # Physical interface type (interface or bond)
@@ -138,7 +142,7 @@ networks:                            # Network configurations
           gateway: 192.168.37.1
     - private_cloud:                 # another external network
       enabled: false
-      mtu: 64000
+      mtu: 1500
       installer_vm:                  # Network settings for the Installer VM on admin network (note only valid on 'public' external network)
         nic_type: interface          # Indicates if this VM will be bridged to an interface, or to a bond
         vlan: 101
@@ -149,10 +153,11 @@ networks:                            # Network configurations
       gateway: 192.168.38.1
       floating_ip_range:
         - 192.168.38.200
-        - 192.168.38.220             #Range to allocate to floating IPs for the public network with Neutron
+        - 192.168.38.220             # Range to allocate to floating IPs for the public network with Neutron
       usable_ip_range:
         - 192.168.38.10
-        - 192.168.38.199             # Usable IP range on the public network, usually this is a shared subnet
+        - 192.168.38.199             # Usable IP range for overcloud nodes (including VIPs), usually this is a shared subnet.
+                                     # Cannot overlap with dhcp_range or introspection_range.
       nic_mapping:                   # Mapping of network configuration for Overcloud Nodes
         compute:                     # Mapping for compute profile (nodes that will be used as Compute nodes)
           phys_type: interface       # Physical interface type (interface or bond)
@@ -173,15 +178,15 @@ networks:                            # Network configurations
   storage:                           # Storage network configuration
     enabled: true
     cidr: 12.0.0.0/24                # Subnet in CIDR format
-    mtu: 64000                       # Tenant network MTU
+    mtu: 1500                        # Storage network MTU
     nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
       compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
-        phys_type: bond              # Physical interface type (interface or bond)
+        phys_type: interface         # Physical interface type (interface or bond)
         vlan: native                 # VLAN tag to use with this NIC
         members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
           - nic4                     # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
       controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
-        phys_type: bond
+        phys_type: interface
         vlan: native
         members:
           - nic4
@@ -190,31 +195,23 @@ networks:                            # Network configurations
     enabled: false
     cidr: fd00:fd00:fd00:4000::/64   # Subnet in CIDR format
     vlan: 13                         # VLAN tag to use for Overcloud hosts on this network
-    mtu: 64000                       # Tenant network MTU
+    mtu: 1500                        # Api network MTU
     nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
       compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
-        phys_type: bond              # Physical interface type (interface or bond)
+        phys_type: interface         # Physical interface type (interface or bond)
         vlan: native                 # VLAN tag to use with this NIC
         members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
           - nic5                     # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
       controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
-        phys_type: bond
+        phys_type: interface
         vlan: native
         members:
           - nic5
 
-# JOID specific settings
-joid:
-
-# Compass specific settings
-compass:
-
 # Apex specific settings
 apex:
   networks:
     admin:
       introspection_range:
         - 192.0.2.100
-        - 192.0.2.120                # Range used for introspection phase (examining nodes)
-# Fuel specific settings
-fuel:
+        - 192.0.2.120                # Range used for introspection phase (examining nodes).  This cannot overlap with dhcp_range or usable_ip_range.
index bfce3ab..b12614f 100644 (file)
@@ -56,6 +56,7 @@ syslog:
   server: 10.128.1.24
   transport: 'tcp'
 
+# Common network settings
 networks:                            # Network configurations
   admin:                             # Admin configuration (pxe and jumpstart),
     enabled: true
@@ -67,26 +68,29 @@ networks:                            # Network configurations
       ip: 192.0.2.1                  # IP to assign to Installer VM on this network
     usable_ip_range:
       - 192.0.2.11
-      - 192.0.2.99                   # Usable ip range, if empty entire range is usable
+      - 192.0.2.99                   # Usable ip range for the overcloud node IPs (including VIPs) and last IP will be
+                                     # used for host bridge (i.e. br-admin).
+                                     # If empty entire range is usable.  Cannot overlap with dhcp_range or introspection_range.
     gateway: 192.0.2.1               # Gateway (only needed when public_network is disabled)
     cidr: 192.0.2.0/24               # Subnet in CIDR format 192.168.1.0/24
     dhcp_range:
       - 192.0.2.2
-      - 192.0.2.10                   # DHCP range for the admin network, if empty it will be automatically provisioned
+      - 192.0.2.10                   # DHCP range for the admin network, if empty it will be automatically provisioned.
+                                     # Cannot overlap with usable_ip_range or introspection_range.
     nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
       compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
         phys_type: interface         # Physical interface type (interface or bond)
         members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
           - nic1
       controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
-        phys_type: bond
+        phys_type: interface
         members:
           - nic1
                                      #
   tenant:                            # Tenant network configuration
     enabled: true
     cidr: 11.0.0.0/24                # Subnet in CIDR format 192.168.1.0/24
-    mtu: 64000                       # Tenant network MTU
+    mtu: 1500                        # Tenant network MTU
     overlay_id_range: 2,65535        # Tenant network Overlay segmentation ID range:
                                      # VNI, VLAN-ID, etc.
     segmentation_type: vxlan         # Tenant network segmentation type:
@@ -106,7 +110,7 @@ networks:                            # Network configurations
   external:                          # Can contain 1 or more external networks
     - public:                        # "public" network will be the network the installer VM attaches to
       enabled: true
-      mtu: 64000                     # Public network MTU
+      mtu: 1500                      # Public network MTU
       installer_vm:                  # Network settings for the Installer VM on admin network (note only valid on 'public' external network)
         nic_type: interface          # Indicates if this VM will be bridged to an interface, or to a bond
         vlan: native
@@ -117,7 +121,7 @@ networks:                            # Network configurations
       gateway: 2001:db8::1
       floating_ip_range:
           - 2001:db8:0:0:0:0:0:2
-          - 2001:db8:0:0:ffff:ffff:ffff:ffff
+          - 2001:db8:0:0:ffff:ffff:ffff:ffff # Floating IPs range to assign to the overcloud (External IPs to be NAT'ed to Tenant IP)
       nic_mapping:                   # Mapping of network configuration for Overcloud Nodes
         compute:                     # Mapping for compute profile (nodes that will be used as Compute nodes)
           phys_type: interface       # Physical interface type (interface or bond)
@@ -137,15 +141,15 @@ networks:                            # Network configurations
   storage:                           # Storage network configuration
     enabled: true
     cidr: fd00:fd00:fd00:2000::/64   # Subnet in CIDR format
-    mtu: 64000                       # Tenant network MTU
+    mtu: 1500                        # Storage network MTU
     nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
       compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
-        phys_type: bond              # Physical interface type (interface or bond)
+        phys_type: interface         # Physical interface type (interface or bond)
         vlan: native                 # VLAN tag to use with this NIC
         members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
           - nic4                     # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
       controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
-        phys_type: bond
+        phys_type: interface
         vlan: native
         members:
           - nic4
@@ -154,31 +158,23 @@ networks:                            # Network configurations
     enabled: true
     cidr: fd00:fd00:fd00:4000::/64   # Subnet in CIDR format
     vlan: 13                         # VLAN tag to use for Overcloud hosts on this network
-    mtu: 64000                       # Tenant network MTU
+    mtu: 1500                        # Api network MTU
     nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
       compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
-        phys_type: bond              # Physical interface type (interface or bond)
-        vlan: native                     # VLAN tag to use with this NIC
+        phys_type: interface         # Physical interface type (interface or bond)
+        vlan: native                 # VLAN tag to use with this NIC
         members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
           - nic5                     # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
       controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
-        phys_type: bond
+        phys_type: interface
         vlan: native
         members:
           - nic5
 
-# JOID specific settings
-joid:
-
-# Compass specific settings
-compass:
-
 # Apex specific settings
 apex:
   networks:
     admin:
       introspection_range:
         - 192.0.2.100
-        - 192.0.2.120                # Range used for introspection phase (examining nodes)
-# Fuel specific settings
-fuel:
+        - 192.0.2.120                # Range used for introspection phase (examining nodes).  This cannot overlap with dhcp_range or usable_ip_range.
index beeae47..c514364 100644 (file)
@@ -56,6 +56,7 @@ syslog:
   server: 10.128.1.24
   transport: 'tcp'
 
+# Common network settings
 networks:                            # Network configurations
   admin:                             # Admin configuration (pxe and jumpstart),
     enabled: true
@@ -67,26 +68,29 @@ networks:                            # Network configurations
       ip: 192.0.2.1                  # IP to assign to Installer VM on this network
     usable_ip_range:
       - 192.0.2.11
-      - 192.0.2.99                   # Usable ip range, if empty entire range is usable
+      - 192.0.2.99                   # Usable ip range for the overcloud node IPs (including VIPs) and last IP will be
+                                     # used for host bridge (i.e. br-admin). If empty entire range is usable.
+                                     # Cannot overlap with dhcp_range.
     gateway: 192.0.2.1               # Gateway (only needed when public_network is disabled)
     cidr: 192.0.2.0/24               # Subnet in CIDR format 192.168.1.0/24
     dhcp_range:
       - 192.0.2.2
-      - 192.0.2.10                   # DHCP range for the admin network, if empty it will be automatically provisioned
+      - 192.0.2.10                   # DHCP range for the admin network, if empty it will be automatically provisioned.
+                                     # Cannot overlap with usable_ip_range or introspection_range.
     nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
       compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
         phys_type: interface         # Physical interface type (interface or bond)
         members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
           - nic1
       controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
-        phys_type: bond
+        phys_type: interface
         members:
           - nic1
                                      #
   tenant:                            # Tenant network configuration
     enabled: true
     cidr: 11.0.0.0/24                # Subnet in CIDR format 192.168.1.0/24
-    mtu: 64000                       # Tenant network MTU
+    mtu: 1500                        # Tenant network MTU
     overlay_id_range: 2,65535        # Tenant network Overlay segmentation ID range:
                                      # VNI, VLAN-ID, etc.
     segmentation_type: vxlan         # Tenant network segmentation type:
@@ -106,7 +110,7 @@ networks:                            # Network configurations
   external:                          # Can contain 1 or more external networks
     - public:                        # "public" network will be the network the installer VM attaches to
       enabled: true
-      mtu: 64000                     # Public network MTU
+      mtu: 1500                      # Public network MTU
       installer_vm:                  # Network settings for the Installer VM on admin network (note only valid on 'public' external network)
         nic_type: interface          # Indicates if this VM will be bridged to an interface, or to a bond
         vlan: 501
@@ -138,7 +142,7 @@ networks:                            # Network configurations
           gateway: 192.168.37.1
     - private_cloud:                 # another external network
       enabled: false
-      mtu: 64000
+      mtu: 1500
       installer_vm:                  # Network settings for the Installer VM on admin network (note only valid on 'public' external network)
         nic_type: interface          # Indicates if this VM will be bridged to an interface, or to a bond
         vlan: 501
@@ -152,7 +156,9 @@ networks:                            # Network configurations
         - 192.168.38.220             # Range to allocate to floating IPs for the public network with Neutron
       usable_ip_range:
         - 192.168.38.10
-        - 192.168.38.199             # Usable IP range on the public network, usually this is a shared subnet
+        - 192.168.38.199             # Usable ip range for the overcloud node IPs (including VIPs) and last IP will be used for host
+                                     # bridge (i.e. br-public). If empty entire range is usable.
+                                     # Cannot overlap with dhcp_range or introspection_range.
       nic_mapping:                   # Mapping of network configuration for Overcloud Nodes
         compute:                     # Mapping for compute profile (nodes that will be used as Compute nodes)
           phys_type: interface       # Physical interface type (interface or bond)
@@ -173,15 +179,15 @@ networks:                            # Network configurations
   storage:                           # Storage network configuration
     enabled: true
     cidr: 12.0.0.0/24                # Subnet in CIDR format
-    mtu: 64000                       # Tenant network MTU
+    mtu: 1500                        # Storage network MTU
     nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
       compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
-        phys_type: bond              # Physical interface type (interface or bond)
+        phys_type: interface         # Physical interface type (interface or bond)
         vlan: 201                    # VLAN tag to use with this NIC
         members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
           - nic4                     # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
       controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
-        phys_type: bond
+        phys_type: interface
         vlan: 201
         members:
           - nic4
@@ -189,31 +195,23 @@ networks:                            # Network configurations
   api:                               # API network configuration
     enabled: false
     cidr: fd00:fd00:fd00:4000::/64   # Subnet in CIDR format
-    mtu: 64000                       # Tenant network MTU
+    mtu: 1500                        # Api network MTU
     nic_mapping:                     # Mapping of network configuration for Overcloud Nodes
       compute:                       # Mapping for compute profile (nodes that will be used as Compute nodes)
-        phys_type: bond              # Physical interface type (interface or bond)
+        phys_type: interface         # Physical interface type (interface or bond)
         vlan: 101                    # VLAN tag to use with this NIC
         members:                     # Physical NIC members of this mapping (Single value allowed for interface phys_type)
           - nic5                     # Note, for Apex you may also use the logical nic name (found by nic order), such as "nic1"
       controller:                    # Mapping for controller profile (nodes that will be used as Controller nodes)
-        phys_type: bond
+        phys_type: interface
         vlan: 101
         members:
           - nic5
 
-# JOID specific settings
-joid:
-
-# Compass specific settings
-compass:
-
 # Apex specific settings
 apex:
   networks:
     admin:
       introspection_range:
         - 192.0.2.100
-        - 192.0.2.120                # Range used for introspection phase (examining nodes)
-# Fuel specific settings
-fuel:
+        - 192.0.2.120                # Range used for introspection phase (examining nodes).  This cannot overlap with dhcp_range or usable_ip_range.
index 2de6e8a..878a49d 100644 (file)
@@ -119,7 +119,6 @@ Install Bare Metal Jumphost
 
     - opnfv-apex                  - OpenDaylight L2 / L3 and ONOS support *
     - opnfv-apex-onos             - ONOS support *
-    - opnfv-apex-opendaylight-sfc - OpenDaylight SFC support *
     - opnfv-apex-undercloud       - (reqed) Undercloud Image
     - opnfv-apex-common           - (reqed) Supporting config files and scripts
     - python34-markupsafe         - (reqed) Dependency of opnfv-apex-common **
@@ -127,9 +126,9 @@ Install Bare Metal Jumphost
     - python3-ipmi                - (reqed) Dependency of opnfv-apex-common **
 
     \* One or more of these RPMs is required
-    Only one of opnfv-apex, opnfv-apex-onos and opnfv-apex-opendaylight-sfc is
-    required. It is safe to leave the unneeded SDN controller's RPMs
-    uninstalled if you do not intend to use them.
+    Only one of opnfv-apex or opnfv-apex-onos is required. It is safe to leave
+    the unneeded SDN controller's RPMs uninstalled if you do not intend to use
+    them.
 
     ** These RPMs are not yet distributed by CentOS or EPEL.
     Apex has built these for distribution with Apex while CentOS and EPEL do
@@ -185,18 +184,20 @@ IPMI configuration information gathered in section
     - ``ipmi_user``: IPMI username
     - ``ipmi_password``: IPMI password
     - ``pm_type``: Power Management driver to use for the node
+        values: pxe_ipmitool (tested) or pxe_wol (untested) or pxe_amt (untested)
     - ``cpus``: (Introspected*) CPU cores available
     - ``memory``: (Introspected*) Memory available in Mib
     - ``disk``: (Introspected*) Disk space available in Gb
     - ``arch``: (Introspected*) System architecture
-    - ``capabilities``: (Opt**) Node role (profile:control or profile:compute)
+    - ``capabilities``: (Opt**) Node's role in deployment
+        values: profile:control or profile:compute
 
-\* *Introspection looks up the overcloud node's resources and overrides these
+    \* Introspection looks up the overcloud node's resources and overrides these
     value. You can leave default values and Apex will get the correct values when
-    it runs introspection on the nodes.*
+    it runs introspection on the nodes.
 
-** *If capabilities profile is not specified then Apex will select node's roles
-   in the OPNFV cluster in a non-deterministic fashion.*
+    ** If capabilities profile is not specified then Apex will select node's roles
+    in the OPNFV cluster in a non-deterministic fashion.
 
 Creating the Settings Files
 ---------------------------
@@ -245,5 +246,5 @@ Follow the steps below to execute:
 3.  When the deployment is complete the undercloud IP and ovecloud dashboard
     url will be printed. OPNFV has now been deployed using Apex.
 
-.. _`Execution Requirements (Bare Metal Only)`: requirements.html#execution-requirements-bare-metal-only
-.. _`Network Requirements`: requirements.html#network-requirements
+.. _`Execution Requirements (Bare Metal Only)`: index.html#execution-requirements-bare-metal-only
+.. _`Network Requirements`: index.html#network-requirements
index d2c81ab..db52601 100644 (file)
@@ -65,5 +65,5 @@ Verifying the Setup - VMs
 To verify the set you can follow the instructions in the `Verifying the Setup`_
 section.
 
-.. _`Install Bare Metal Jumphost`: baremetal.html
-.. _`Verifying the Setup`: verification.html
+.. _`Install Bare Metal Jumphost`: index.html#install-bare-metal-jumphost
+.. _`Verifying the Setup`: index.html#verifying-the-setup
index 52b676e..927c07c 100644 (file)
@@ -224,7 +224,6 @@ Software Deliverables
 - Apex .iso file
 - Apex overcloud .rpm (opnfv-apex) - For nosdn and OpenDaylight Scenarios
 - Apex overcloud onos .rpm (opnfv-apex-onos) - ONOS Scenarios
-- Apex overcloud ODL SFC .rpm (opnfv-apex-opendaylight-sfc) - ODL SFC Scenario
 - Apex undercloud .rpm (opnfv-apex-undercloud)
 - Apex common .rpm (opnfv-apex-common)
 - build.sh - Builds the above artifacts
index 93e63c8..3b3b072 100644 (file)
@@ -38,7 +38,7 @@ EOI
   fi
 
   # get gateway mac
-  GW_MAC=$(arping ${GW_IP} -c 1 -I br-public | grep -Eo '([0-9a-fA-F]{2})(([/\s:-][0-9a-fA-F]{2}){5})')
+  GW_MAC=$(arping ${GW_IP} -c 1 -I br-external | grep -Eo '([0-9a-fA-F]{2})(([/\s:-][0-9a-fA-F]{2}){5})')
 
   if [ -z "$GW_MAC" ]; then
     echo "ERROR: Failed to find gateway mac for ${GW_IP}"
index 1a363e6..516dac9 100755 (executable)
@@ -27,14 +27,6 @@ function overcloud_deploy {
       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
@@ -65,7 +57,6 @@ function overcloud_deploy {
   # 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
@@ -115,6 +106,7 @@ EOF
                                                  --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
@@ -126,6 +118,15 @@ EOI
     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
@@ -196,6 +197,10 @@ if [ -n "${public_network_controller_interface}" ]; then
 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
 
index db0a9fd..741bb4f 100644 (file)
@@ -18,6 +18,7 @@ COMPUTE = 'compute'
 OPNFV_NETWORK_TYPES = [ADMIN_NETWORK, TENANT_NETWORK, EXTERNAL_NETWORK,
                        STORAGE_NETWORK, API_NETWORK]
 DNS_SERVERS = ["8.8.8.8", "8.8.4.4"]
+NTP_SERVER = ["pool.ntp.org"]
 COMPUTE = 'compute'
 CONTROLLER = 'controller'
 ROLES = [COMPUTE, CONTROLLER]
index c27eecf..5490c6e 100644 (file)
@@ -24,7 +24,7 @@ REQ_DEPLOY_SETTINGS = ['sdn_controller',
 OPT_DEPLOY_SETTINGS = ['performance', 'vsperf']
 
 VALID_ROLES = ['Controller', 'Compute', 'ObjectStorage']
-VALID_PERF_OPTS = ['kernel', 'nova']
+VALID_PERF_OPTS = ['kernel', 'nova', 'vpp']
 VALID_DATAPLANES = ['ovs', 'ovs_dpdk', 'fdio']
 
 
index ca40ba9..c9f7d45 100644 (file)
@@ -21,6 +21,7 @@ from .common.constants import (
     ROLES,
     DOMAIN_NAME,
     DNS_SERVERS,
+    NTP_SERVER,
     ADMIN_NETWORK,
     EXTERNAL_NETWORK,
     OPNFV_NETWORK_TYPES,
@@ -113,6 +114,7 @@ class NetworkSettings(dict):
         if 'dns-domain' not in self:
             self['domain_name'] = DOMAIN_NAME
         self['dns_servers'] = self.get('dns_nameservers', DNS_SERVERS)
+        self['ntp_servers'] = self.get('ntp', NTP_SERVER)
 
     def _validate_overcloud_nic_order(self, network):
         """
@@ -333,6 +335,7 @@ class NetworkSettings(dict):
         bash_str += flatten('ip_addr_family', self.get_ip_addr_family())
         bash_str += flatten('dns_servers', self['dns_servers'], ' ')
         bash_str += flatten('domain_name', self['dns-domain'], ' ')
+        bash_str += flatten('ntp_server', self['ntp_servers'][0], ' ')
         if path:
             with open(path, 'w') as file:
                 file.write(bash_str)
index 245ccc5..5ebbf3a 100755 (executable)
@@ -1,6 +1,3 @@
 #!/usr/bin/env bash
 
-cd ~/provisioning/python
-export PYTHONPATH=$PYTHONPATH:$(pwd)
-
-python unit_test_suite.py ~stack/overcloudrc
\ No newline at end of file
+python ~/snaps/snaps/unit_test_suite.py -e ~stack/overcloudrc -n external -l INFO &> ~stack/snoke-tests.out
\ No newline at end of file
index e232656..5042d23 100644 (file)
@@ -1,6 +1,8 @@
 ---
 - hosts: all
-  sudo: yes
+  become: yes
+  become_method: sudo
+  become_user: root
 
   tasks:
    - name: Copy execute_smoke_tests.sh
index 8f0cb70..69343ff 100644 (file)
@@ -1,16 +1,9 @@
 ---
 - hosts: all
-  sudo: yes
+  become: yes
+  become_method: sudo
+  become_user: root
 
   tasks:
-   - yum: name=libffi
-   - yum: name=libffi-devel
-   - pip: name=python-keystoneclient
-   - pip: name=python-glanceclient
-   - pip: name=python-neutronclient
-   - pip: name=python-novaclient
-   - pip: name=scp
-   - pip: name=PyYAML
-   - pip: name=ansible==2.1.0
-
-   - git: repo=https://nougat.cablelabs.com/SNAPS/provisioning.git dest=~/provisioning
+   - git: repo=https://gerrit.cablelabs.com/snaps-provisioning dest=~/snaps
+   - command: pip install -e ~/snaps/