summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/Makefile79
-rw-r--r--build/build_perf_image.sh11
-rw-r--r--build/c7-opnfv-x86_64-comps.xml18
-rw-r--r--build/cache.sh7
-rwxr-xr-xbuild/overcloud-full.sh24
-rwxr-xr-xbuild/overcloud-onos.sh8
-rwxr-xr-xbuild/overcloud-opendaylight-sfc.sh27
-rw-r--r--build/rpm_specs/opnfv-apex-common.spec4
-rw-r--r--build/rpm_specs/opnfv-apex-onos.spec4
-rw-r--r--build/rpm_specs/opnfv-apex-opendaylight-sfc.spec34
-rw-r--r--build/rpm_specs/opnfv-apex-undercloud.spec4
-rw-r--r--build/rpm_specs/opnfv-apex.spec4
-rw-r--r--build/variables.sh17
-rw-r--r--ci/PR_revision.log3
-rwxr-xr-xci/build.sh3
-rwxr-xr-xci/clean.sh4
-rwxr-xr-xci/deploy.sh4
-rwxr-xr-xci/dev_dep_check.sh (renamed from ci/dev_deploy_check.sh)21
-rwxr-xr-xci/run_smoke_tests.sh3
-rw-r--r--config/deploy/os-nosdn-fdio-noha.yaml12
-rw-r--r--config/deploy/os-odl_l2-fdio-ha.yaml12
-rw-r--r--config/deploy/os-odl_l2-fdio-noha.yaml10
-rw-r--r--config/network/network_settings.yaml45
-rw-r--r--config/network/network_settings_v6.yaml40
-rw-r--r--config/network/network_settings_vlans.yaml42
-rw-r--r--docs/installationprocedure/baremetal.rst23
-rw-r--r--docs/installationprocedure/virtualinstall.rst4
-rw-r--r--docs/releasenotes/release-notes.rst1
-rw-r--r--lib/installer/onos/onos_gw_mac_update.sh2
-rwxr-xr-xlib/overcloud-deploy-functions.sh23
-rw-r--r--lib/python/apex/common/constants.py1
-rw-r--r--lib/python/apex/deploy_settings.py2
-rw-r--r--lib/python/apex/network_settings.py3
-rwxr-xr-xtests/smoke_tests/execute_smoke_tests.sh5
-rw-r--r--tests/smoke_tests/execute_tests.yml4
-rw-r--r--tests/smoke_tests/prepare_undercloud.yml17
36 files changed, 237 insertions, 288 deletions
diff --git a/build/Makefile b/build/Makefile
index 1573ea94..c693e895 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -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
@@ -319,35 +334,6 @@ $(RPMONO):
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
diff --git a/build/build_perf_image.sh b/build/build_perf_image.sh
index 68a1804f..68f74ea2 100644
--- a/build/build_perf_image.sh
+++ b/build/build_perf_image.sh
@@ -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
diff --git a/build/c7-opnfv-x86_64-comps.xml b/build/c7-opnfv-x86_64-comps.xml
index a9b0af0c..67a0e511 100644
--- a/build/c7-opnfv-x86_64-comps.xml
+++ b/build/c7-opnfv-x86_64-comps.xml
@@ -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>
@@ -26,18 +26,6 @@
</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>
<name xml:lang="as">অতিৰিক্ত উন্নয়ন</name>
@@ -7852,7 +7840,6 @@
<groupid>virtualization-tools</groupid>
<groupid>apex-opendaylight</groupid>
<groupid>apex-onos</groupid>
- <groupid>apex-opendaylight-sfc</groupid>
</grouplist>
<optionlist>
<groupid>virtualization-platform</groupid>
@@ -7879,7 +7866,6 @@
<groupid>virtualization-tools</groupid>
<groupid>apex-opendaylight</groupid>
<groupid>apex-onos</groupid>
- <groupid>apex-opendaylight-sfc</groupid>
</grouplist>
<optionlist>
<groupid>kde-desktop</groupid>
diff --git a/build/cache.sh b/build/cache.sh
index 4d41a7a2..5c7e5e73 100644
--- a/build/cache.sh
+++ b/build/cache.sh
@@ -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
diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh
index e35a89f1..fa4444a4 100755
--- a/build/overcloud-full.sh
+++ b/build/overcloud-full.sh
@@ -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/ \
diff --git a/build/overcloud-onos.sh b/build/overcloud-onos.sh
index b695983a..921ad506 100755
--- a/build/overcloud-onos.sh
+++ b/build/overcloud-onos.sh
@@ -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
index 444d284a..00000000
--- a/build/overcloud-opendaylight-sfc.sh
+++ /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
diff --git a/build/rpm_specs/opnfv-apex-common.spec b/build/rpm_specs/opnfv-apex-common.spec
index 6ad5782f..33e14861 100644
--- a/build/rpm_specs/opnfv-apex-common.spec
+++ b/build/rpm_specs/opnfv-apex-common.spec
@@ -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
diff --git a/build/rpm_specs/opnfv-apex-onos.spec b/build/rpm_specs/opnfv-apex-onos.spec
index e99bfa9a..ef1c66da 100644
--- a/build/rpm_specs/opnfv-apex-onos.spec
+++ b/build/rpm_specs/opnfv-apex-onos.spec
@@ -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
index a63ec7c5..00000000
--- a/build/rpm_specs/opnfv-apex-opendaylight-sfc.spec
+++ /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
diff --git a/build/rpm_specs/opnfv-apex-undercloud.spec b/build/rpm_specs/opnfv-apex-undercloud.spec
index 7b688b55..54b8acc1 100644
--- a/build/rpm_specs/opnfv-apex-undercloud.spec
+++ b/build/rpm_specs/opnfv-apex-undercloud.spec
@@ -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
diff --git a/build/rpm_specs/opnfv-apex.spec b/build/rpm_specs/opnfv-apex.spec
index acc8a53e..1844d8c5 100644
--- a/build/rpm_specs/opnfv-apex.spec
+++ b/build/rpm_specs/opnfv-apex.spec
@@ -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
diff --git a/build/variables.sh b/build/variables.sh
index e536600b..c4ac16c8 100644
--- a/build/variables.sh
+++ b/build/variables.sh
@@ -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'
-)
diff --git a/ci/PR_revision.log b/ci/PR_revision.log
index 16cf08f8..4886ee8e 100644
--- a/ci/PR_revision.log
+++ b/ci/PR_revision.log
@@ -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
diff --git a/ci/build.sh b/ci/build.sh
index f3ab497d..f1333ce4 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -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
diff --git a/ci/clean.sh b/ci/clean.sh
index c00a4df2..1e5e320e 100755
--- a/ci/clean.sh
+++ b/ci/clean.sh
@@ -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"
diff --git a/ci/deploy.sh b/ci/deploy.sh
index edc6062a..6d3ded02 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -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
diff --git a/ci/dev_deploy_check.sh b/ci/dev_dep_check.sh
index 0ce135ad..a15eb8b9 100755
--- a/ci/dev_deploy_check.sh
+++ b/ci/dev_dep_check.sh
@@ -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
diff --git a/ci/run_smoke_tests.sh b/ci/run_smoke_tests.sh
index b0599527..8985ed86 100755
--- a/ci/run_smoke_tests.sh
+++ b/ci/run_smoke_tests.sh
@@ -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
diff --git a/config/deploy/os-nosdn-fdio-noha.yaml b/config/deploy/os-nosdn-fdio-noha.yaml
index 4d27ae87..dd87803d 100644
--- a/config/deploy/os-nosdn-fdio-noha.yaml
+++ b/config/deploy/os-nosdn-fdio-noha.yaml
@@ -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
diff --git a/config/deploy/os-odl_l2-fdio-ha.yaml b/config/deploy/os-odl_l2-fdio-ha.yaml
index f1297e82..82836573 100644
--- a/config/deploy/os-odl_l2-fdio-ha.yaml
+++ b/config/deploy/os-odl_l2-fdio-ha.yaml
@@ -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
diff --git a/config/deploy/os-odl_l2-fdio-noha.yaml b/config/deploy/os-odl_l2-fdio-noha.yaml
index 207c6f34..53d6181a 100644
--- a/config/deploy/os-odl_l2-fdio-noha.yaml
+++ b/config/deploy/os-odl_l2-fdio-noha.yaml
@@ -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
diff --git a/config/network/network_settings.yaml b/config/network/network_settings.yaml
index ab9ed962..6cf9ae80 100644
--- a/config/network/network_settings.yaml
+++ b/config/network/network_settings.yaml
@@ -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.
diff --git a/config/network/network_settings_v6.yaml b/config/network/network_settings_v6.yaml
index bfce3ab4..b12614f1 100644
--- a/config/network/network_settings_v6.yaml
+++ b/config/network/network_settings_v6.yaml
@@ -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.
diff --git a/config/network/network_settings_vlans.yaml b/config/network/network_settings_vlans.yaml
index beeae477..c5143641 100644
--- a/config/network/network_settings_vlans.yaml
+++ b/config/network/network_settings_vlans.yaml
@@ -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.
diff --git a/docs/installationprocedure/baremetal.rst b/docs/installationprocedure/baremetal.rst
index 2de6e8a8..878a49d7 100644
--- a/docs/installationprocedure/baremetal.rst
+++ b/docs/installationprocedure/baremetal.rst
@@ -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
diff --git a/docs/installationprocedure/virtualinstall.rst b/docs/installationprocedure/virtualinstall.rst
index d2c81abe..db52601e 100644
--- a/docs/installationprocedure/virtualinstall.rst
+++ b/docs/installationprocedure/virtualinstall.rst
@@ -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
diff --git a/docs/releasenotes/release-notes.rst b/docs/releasenotes/release-notes.rst
index 52b676ec..927c07c9 100644
--- a/docs/releasenotes/release-notes.rst
+++ b/docs/releasenotes/release-notes.rst
@@ -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
diff --git a/lib/installer/onos/onos_gw_mac_update.sh b/lib/installer/onos/onos_gw_mac_update.sh
index 93e63c8e..3b3b0724 100644
--- a/lib/installer/onos/onos_gw_mac_update.sh
+++ b/lib/installer/onos/onos_gw_mac_update.sh
@@ -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}"
diff --git a/lib/overcloud-deploy-functions.sh b/lib/overcloud-deploy-functions.sh
index 1a363e69..516dac97 100755
--- a/lib/overcloud-deploy-functions.sh
+++ b/lib/overcloud-deploy-functions.sh
@@ -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
diff --git a/lib/python/apex/common/constants.py b/lib/python/apex/common/constants.py
index db0a9fd1..741bb4f8 100644
--- a/lib/python/apex/common/constants.py
+++ b/lib/python/apex/common/constants.py
@@ -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]
diff --git a/lib/python/apex/deploy_settings.py b/lib/python/apex/deploy_settings.py
index c27eecf9..5490c6e9 100644
--- a/lib/python/apex/deploy_settings.py
+++ b/lib/python/apex/deploy_settings.py
@@ -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']
diff --git a/lib/python/apex/network_settings.py b/lib/python/apex/network_settings.py
index ca40ba93..c9f7d450 100644
--- a/lib/python/apex/network_settings.py
+++ b/lib/python/apex/network_settings.py
@@ -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)
diff --git a/tests/smoke_tests/execute_smoke_tests.sh b/tests/smoke_tests/execute_smoke_tests.sh
index 245ccc53..5ebbf3a4 100755
--- a/tests/smoke_tests/execute_smoke_tests.sh
+++ b/tests/smoke_tests/execute_smoke_tests.sh
@@ -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
diff --git a/tests/smoke_tests/execute_tests.yml b/tests/smoke_tests/execute_tests.yml
index e2326560..5042d230 100644
--- a/tests/smoke_tests/execute_tests.yml
+++ b/tests/smoke_tests/execute_tests.yml
@@ -1,6 +1,8 @@
---
- hosts: all
- sudo: yes
+ become: yes
+ become_method: sudo
+ become_user: root
tasks:
- name: Copy execute_smoke_tests.sh
diff --git a/tests/smoke_tests/prepare_undercloud.yml b/tests/smoke_tests/prepare_undercloud.yml
index 8f0cb709..69343ffa 100644
--- a/tests/smoke_tests/prepare_undercloud.yml
+++ b/tests/smoke_tests/prepare_undercloud.yml
@@ -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/