summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/Makefile49
-rw-r--r--build/network-environment.yaml1
-rwxr-xr-xbuild/openstack-congress.spec80
-rw-r--r--build/openstack-tacker.spec74
-rw-r--r--build/opnfv-environment.yaml8
-rwxr-xr-xbuild/overcloud-full.sh14
-rwxr-xr-xbuild/overcloud-onos.sh4
-rwxr-xr-xbuild/overcloud-opendaylight-sfc.sh4
-rw-r--r--build/variables.sh7
-rw-r--r--ci/PR_revision.log3
-rwxr-xr-xci/dev_deploy_check.sh3
-rw-r--r--config/deploy/os-nosdn-nofeature-ha.yaml2
-rw-r--r--config/deploy/os-nosdn-nofeature-noha.yaml2
-rw-r--r--config/deploy/os-nosdn-ovs-ha.yaml2
-rw-r--r--config/deploy/os-nosdn-ovs-noha.yaml2
-rw-r--r--config/deploy/os-nosdn-performance-ha.yaml2
-rw-r--r--config/deploy/os-ocl-nofeature-ha.yaml2
-rw-r--r--config/deploy/os-odl_l2-bgpvpn-ha.yaml2
-rw-r--r--config/deploy/os-odl_l2-fdio-ha.yaml2
-rw-r--r--config/deploy/os-odl_l2-fdio-noha.yaml2
-rw-r--r--config/deploy/os-odl_l2-nofeature-ha.yaml2
-rw-r--r--config/deploy/os-odl_l2-sdnvpn-ha.yaml2
-rw-r--r--config/deploy/os-odl_l2-sfc-noha.yaml2
-rw-r--r--config/deploy/os-odl_l3-nofeature-ha.yaml2
-rw-r--r--config/deploy/os-onos-nofeature-ha.yaml2
-rw-r--r--config/deploy/os-onos-sfc-ha.yaml2
-rw-r--r--config/network/network_settings_v6.yaml18
-rw-r--r--lib/common-functions.sh23
-rwxr-xr-xlib/overcloud-deploy-functions.sh12
-rwxr-xr-xlib/post-install-functions.sh31
-rw-r--r--lib/python/apex/network_settings.py4
-rwxr-xr-xlib/virtual-setup-functions.sh18
32 files changed, 335 insertions, 48 deletions
diff --git a/build/Makefile b/build/Makefile
index 84305618..96711d23 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -27,7 +27,7 @@ all_networks="admin_network private_network storage_network external_network api
all: iso
.PHONY: clean
-clean: images-clean rpms-clean iso-clean
+clean: images-clean rpms-clean iso-clean tacker-clean congress-clean
.PHONY: images
images: undercloud overcloud-full overcloud-opendaylight overcloud-onos overcloud-opendaylight-sfc
@@ -85,6 +85,51 @@ python-pep8-check:
pep8 ../tests
###############
+# TACKER #
+###############
+
+.PHONY: tacker-clean
+
+tacker-clean:
+ @rm -rf openstack-tacker-2015.2
+ @rm -f openstack-tacker.tar.gz
+
+openstack-tacker.tar.gz:
+ @echo "Preparing the Tacker RPM prerequisites"
+ git clone http://github.com/trozet/tacker -b SFC_colorado openstack-tacker-2015.2
+ tar czf openstack-tacker.tar.gz openstack-tacker-2015.2
+
+.PHONY: tacker-rpm
+tacker-rpm: openstack-tacker.tar.gz openstack-tacker-2015.2-1.noarch.rpm
+
+openstack-tacker-2015.2-1.noarch.rpm:
+ @echo "Building the Tacker RPM"
+ rpmbuild --clean -bb --target noarch openstack-tacker.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`)'
+
+###############
+# CONGRESS #
+###############
+
+.PHONY: congress-clean
+
+congress-clean:
+ @rm -rf openstack-congress-2016.1
+ @rm -f openstack-congress.tar.gz
+
+openstack-congress.tar.gz:
+ @echo "Preparing the Congress RPM prerequisites"
+ git clone http://github.com/openstack/congress -b stable/mitaka openstack-congress-2016.1
+ cd openstack-congress-2016.1 && curl -O https://radez.fedorapeople.org/openstack-congress.service
+ tar czf openstack-congress.tar.gz openstack-congress-2016.1
+
+.PHONY: congress-rpm
+congress-rpm: openstack-congress.tar.gz openstack-congress-2016.1-1.noarch.rpm
+
+openstack-congress-2016.1-1.noarch.rpm:
+ @echo "Building the Congress RPM"
+ rpmbuild --clean -bb --target noarch openstack-congress.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`)'
+
+###############
# UNDERCLOUD #
###############
@@ -129,7 +174,7 @@ overcloud-full-clean:
.PHONY: overcloud-full
overcloud-full: images/overcloud-full.qcow2
-images/overcloud-full.qcow2:
+images/overcloud-full.qcow2: tacker-rpm congress-rpm
@echo "Building the Apex Base Overcloud Image"
@./overcloud-full.sh
diff --git a/build/network-environment.yaml b/build/network-environment.yaml
index bbd0796f..8b5b070c 100644
--- a/build/network-environment.yaml
+++ b/build/network-environment.yaml
@@ -81,6 +81,7 @@ parameters:
SwiftMgmtNetwork: storage
SwiftProxyNetwork: storage
TackerApiNetwork: internal_api
+ CongressApiNetwork: internal_api
HorizonNetwork: internal_api
MemcachedNetwork: internal_api
RabbitMqNetwork: internal_api
diff --git a/build/openstack-congress.spec b/build/openstack-congress.spec
new file mode 100755
index 00000000..0dd3491c
--- /dev/null
+++ b/build/openstack-congress.spec
@@ -0,0 +1,80 @@
+%define debug_package %{nil}
+
+Name: openstack-congress
+Version: 2016.1
+Release: 1%{?dist}
+Summary: OpenStack servicevm/device manager
+
+Group: Applications/Internet
+License: Apache 2.0
+URL: https://wiki.openstack.org/wiki/Congress/Installation
+Source0: openstack-congress.tar.gz
+
+BuildArch: noarch
+BuildRequires: python-setuptools python2-oslo-config python2-debtcollector
+#Requires: pbr>=0.8 Paste PasteDeploy>=1.5.0 Routes>=1.12.3!=2.0 anyjson>=0.3.3 argparse
+#Requires: Babel>=1.3 eventlet>=0.16.1!=0.17.0 greenlet>=0.3.2 httplib2>=0.7.5 requests>=2.2.0!=2.4.0
+#Requires: iso8601>=0.1.9 kombu>=2.5.0 netaddr>=0.7.12 SQLAlchemy<1.1.0>=0.9.7
+#Requires: WebOb>=1.2.3 python-heatclient>=0.3.0 python-keystoneclient>=1.1.0 alembic>=0.7.2 six>=1.9.0
+#Requires: stevedore>=1.5.0 http oslo.config>=1.11.0 oslo.messaging!=1.17.0!=1.17.1>=1.16.0 oslo.rootwrap>=2.0.0 python-novaclient>=2.22.0
+
+%description
+OpenStack policy manager
+
+%prep
+#git archive --format=tar.gz --prefix=openstack-congress-%{version}/ HEAD > openstack-congress.tar.gz
+
+%setup -q
+
+
+%build
+#rm requirements.txt
+#/usr/bin/python setup.py build
+
+
+%install
+/usr/bin/python setup.py install --prefix=%{buildroot} --install-lib=%{buildroot}/usr/lib/python2.7/site-packages
+
+install -d -m 755 %{buildroot}/var/log/congress/
+install -d -m 755 %{buildroot}/etc/congress/snapshot/
+
+install etc/api-paste.ini %{buildroot}/etc/congress/api-paste.ini
+install etc/policy.json %{buildroot}/etc/congress/policy.json
+tox -egenconfig
+install etc/congress.conf.sample %{buildroot}/etc/congress/congress.conf
+
+install -p -D -m 644 openstack-congress.service %{buildroot}%{_unitdir}/openstack-congress.service
+install -d -m 755 %{buildroot}%{_sharedstatedir}/congress
+
+%pre
+getent group congress >/dev/null || groupadd -r congress
+if ! getent passwd congress >/dev/null; then
+ useradd -r -g congress -G congress,nobody -d %{_sharedstatedir}/congress -s /sbin/nologin -c "OpenStack Congress Daemon" congress
+fi
+exit 0
+
+%post
+%systemd_post openstack-congress
+
+%preun
+%systemd_preun openstack-congress
+
+%postun
+%systemd_postun_with_restart openstack-congress
+
+%files
+
+%config /etc/congress/congress.conf
+/etc/congress/policy.json
+/etc/congress/api-paste.ini
+/bin/congress-server
+/bin/congress-db-manage
+%{_unitdir}/openstack-congress.service
+/usr/lib/python2.7/site-packages/congress/*
+/usr/lib/python2.7/site-packages/congress-*
+/usr/lib/python2.7/site-packages/congress_tempest_tests/*
+/usr/lib/python2.7/site-packages/antlr3runtime/*
+%dir %attr(0750, congress, root) %{_localstatedir}/log/congress
+
+%changelog
+
diff --git a/build/openstack-tacker.spec b/build/openstack-tacker.spec
new file mode 100644
index 00000000..ca5ccd9a
--- /dev/null
+++ b/build/openstack-tacker.spec
@@ -0,0 +1,74 @@
+%define debug_package %{nil}
+
+Name: openstack-tacker
+Version: 2015.2
+Release: 1
+Summary: OpenStack servicevm/device manager
+
+Group: Applications/Internet
+License: Apache 2.0
+URL: https://wiki.openstack.org/wiki/Tacker/Installation
+Source0: openstack-tacker.tar.gz
+
+BuildArch: noarch
+BuildRequires: python-setuptools
+#Requires: pbr>=0.8 Paste PasteDeploy>=1.5.0 Routes>=1.12.3!=2.0 anyjson>=0.3.3 argparse
+#Requires: Babel>=1.3 eventlet>=0.16.1!=0.17.0 greenlet>=0.3.2 httplib2>=0.7.5 requests>=2.2.0!=2.4.0
+#Requires: iso8601>=0.1.9 kombu>=2.5.0 netaddr>=0.7.12 SQLAlchemy<1.1.0>=0.9.7
+#Requires: WebOb>=1.2.3 python-heatclient>=0.3.0 python-keystoneclient>=1.1.0 alembic>=0.7.2 six>=1.9.0
+#Requires: stevedore>=1.5.0 http oslo.config>=1.11.0 oslo.messaging!=1.17.0!=1.17.1>=1.16.0 oslo.rootwrap>=2.0.0 python-novaclient>=2.22.0
+
+%description
+OpenStack servicevm/device manager
+
+%prep
+%setup -q
+
+
+%build
+rm requirements.txt
+#/usr/bin/python setup.py build
+
+
+%install
+/usr/bin/python setup.py install --prefix=%{buildroot} --install-lib=%{buildroot}/usr/lib/python2.7/site-packages
+#remove tests
+rm -rf %{buildroot}/usr/lib/python2.7/site-packages/tacker/tests
+
+install -p -D -m 644 apex/systemd/openstack-tacker.service %{buildroot}%{_unitdir}/openstack-tacker.service
+
+install -d -m 755 %{buildroot}%{_localstatedir}/cache/tacker
+install -d -m 755 %{buildroot}%{_sharedstatedir}/tacker
+install -d -m 755 %{buildroot}%{_localstatedir}/log/tacker
+
+%pre
+getent group tacker >/dev/null || groupadd -r tacker
+if ! getent passwd tacker >/dev/null; then
+ useradd -r -g tacker -G tacker,nobody -d %{_sharedstatedir}/tacker -s /sbin/nologin -c "OpenStack Tacker Daemon" tacker
+fi
+exit 0
+
+%post
+%systemd_post openstack-tacker
+
+%preun
+%systemd_preun openstack-tacker
+
+%postun
+%systemd_postun_with_restart openstack-tacker
+
+%files
+/bin/tacker-server
+/bin/tacker-db-manage
+/bin/tacker-rootwrap
+/etc/init.d/tacker-server
+%{_unitdir}/openstack-tacker.service
+/etc/rootwrap.d/servicevm.filters
+%config(noreplace) %attr(-, root, tacker) %{_sysconfdir}/tacker/*
+/usr/lib/python2.7/site-packages/tacker/*
+/usr/lib/python2.7/site-packages/tacker-*
+%dir %attr(0750, tacker, root) %{_localstatedir}/cache/tacker
+%dir %attr(0750, tacker, root) %{_sharedstatedir}/tacker
+%dir %attr(0750, tacker, root) %{_localstatedir}/log/tacker
+
+%changelog
diff --git a/build/opnfv-environment.yaml b/build/opnfv-environment.yaml
index 61915c96..4f9fd986 100644
--- a/build/opnfv-environment.yaml
+++ b/build/opnfv-environment.yaml
@@ -8,9 +8,15 @@ parameters:
ControllerEnableSwiftStorage: false
# CloudDomain:
EnableSahara: false
- EnableTacker: false
+ EnableTacker: true
ExtraConfig:
tripleo::ringbuilder::build_ring: False
+ nova::nova_public_key:
+ type: 'ssh-rsa'
+ replace_public_key:
+ nova::nova_private_key:
+ type: 'ssh-rsa'
+ replace_private_key:
nova::policy::policies:
nova-os_compute_api:servers:show:host_status:
key: 'os_compute_api:servers:show:host_status'
diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh
index 7eb22d1d..6a72705a 100755
--- a/build/overcloud-full.sh
+++ b/build/overcloud-full.sh
@@ -13,7 +13,6 @@ source ./variables.sh
source ./functions.sh
populate_cache "$rdo_images_uri/overcloud-full.tar"
-populate_cache "$openstack_congress"
if [ ! -d images/ ]; then mkdir images; fi
tar -xf cache/overcloud-full.tar -C images/
@@ -53,7 +52,7 @@ done
# tar up the congress puppet module
rm -rf puppet-congress
-git clone https://github.com/radez/puppet-congress
+git clone -b stable/mitaka https://github.com/radez/puppet-congress
pushd puppet-congress > /dev/null
git archive --format=tar.gz --prefix=congress/ origin/stable/mitaka > ../puppet-congress.tar.gz
popd > /dev/null
@@ -89,7 +88,8 @@ tar czf vsperf.tar.gz vsperf
# tar up the tacker puppet module
rm -rf puppet-tacker
-git clone https://github.com/radez/puppet-tacker
+# TODO move this back to radez puppet-tacker after PR is accepted
+git clone -b fix_db_sync https://github.com/trozet/puppet-tacker
pushd puppet-tacker > /dev/null
git archive --format=tar.gz --prefix=tacker/ HEAD > ../puppet-tacker.tar.gz
popd > /dev/null
@@ -120,7 +120,8 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--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" \
- --install "$openstack_congress" \
+ --upload ../noarch/openstack-congress-2016.1-1.el7.centos.noarch.rpm:/root/ \
+ --install /root/openstack-congress-2016.1-1.el7.centos.noarch.rpm \
--install "python2-congressclient" \
--upload puppet-congress.tar.gz:/etc/puppet/modules/ \
--run-command "cd /etc/puppet/modules/ && tar xzf puppet-congress.tar.gz" \
@@ -133,9 +134,12 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--upload vsperf.tar.gz:/var/opt \
--run-command "cd /var/opt && tar xzf vsperf.tar.gz" \
--upload /tmp/tacker.repo:/etc/yum.repos.d/ \
- --install "openstack-tacker,python-tackerclient" \
+ --install "python-tackerclient" \
+ --upload ../noarch/openstack-tacker-2015.2-1.noarch.rpm:/root/ \
+ --install /root/openstack-tacker-2015.2-1.noarch.rpm \
--upload puppet-tacker.tar.gz:/etc/puppet/modules/ \
--run-command "cd /etc/puppet/modules/ && tar xzf puppet-tacker.tar.gz" \
+ --run-command "yum install -y https://dl.dropboxusercontent.com/u/7079970/rabbitmq-server-3.6.3-5.el7ost.noarch.rpm" \
-a overcloud-full_build.qcow2
mv -f overcloud-full_build.qcow2 overcloud-full.qcow2
diff --git a/build/overcloud-onos.sh b/build/overcloud-onos.sh
index e13923d9..4b8b1350 100755
--- a/build/overcloud-onos.sh
+++ b/build/overcloud-onos.sh
@@ -19,8 +19,8 @@ cp -f overcloud-full.qcow2 overcloud-full-onos_build.qcow2
#######################################
# upgrade ovs into ovs 2.5.90 with NSH function
-curl -L -O ${onos_ovs_uri}/package_ovs_rpm_new.tar.gz
-tar -xzf package_ovs_rpm_new.tar.gz
+curl -L -O ${onos_ovs_uri}/package_ovs_rpm2.tar.gz
+tar -xzf package_ovs_rpm2.tar.gz
LIBGUESTFS_BACKEND=direct virt-customize --upload ${ovs_kmod_rpm_name}:/root/ \
--run-command "yum install -y /root/${ovs_kmod_rpm_name}" \
--upload ${ovs_rpm_name}:/root/ \
diff --git a/build/overcloud-opendaylight-sfc.sh b/build/overcloud-opendaylight-sfc.sh
index 5032ba06..7f8508a8 100755
--- a/build/overcloud-opendaylight-sfc.sh
+++ b/build/overcloud-opendaylight-sfc.sh
@@ -20,8 +20,8 @@ cp -f overcloud-full-opendaylight.qcow2 overcloud-full-opendaylight-sfc_build.qc
# upgrade ovs into ovs 2.5.90 with NSH function
if ! [[ -f "$ovs_rpm_name" && -f "$ovs_kmod_rpm_name" ]]; then
- curl -L -O ${onos_ovs_uri}/package_ovs_rpm_new.tar.gz
- tar -xzf package_ovs_rpm_new.tar.gz
+ curl -L -O ${onos_ovs_uri}/package_ovs_rpm2.tar.gz
+ tar -xzf package_ovs_rpm2.tar.gz
fi
LIBGUESTFS_BACKEND=direct virt-customize --upload ${ovs_kmod_rpm_name}:/root/ \
diff --git a/build/variables.sh b/build/variables.sh
index 6632b526..134cc295 100644
--- a/build/variables.sh
+++ b/build/variables.sh
@@ -12,9 +12,8 @@ rdo_images_uri=https://ci.centos.org/artifacts/rdo/images/mitaka/delorean/stable
onos_release_uri=https://downloads.onosproject.org/nightly/
onos_release_file=onos-1.6.0-rc2.tar.gz
onos_jdk_uri=https://www.dropbox.com/s/qyujpib8zyhzeev
-onos_ovs_uri=https://www.dropbox.com/s/7rfr9l2qz3a36cc
-openstack_congress=https://radez.fedorapeople.org/openstack-congress-2016.1-1.fc24.noarch.rpm
-doctor_driver=https://raw.githubusercontent.com/muroi/congress/doctor-poc/congress/datasources/doctor_driver.py
+onos_ovs_uri=https://www.dropbox.com/s/2dyd8zyt2l6p586
+doctor_driver=https://raw.githubusercontent.com/openstack/congress/master/congress/datasources/doctor_driver.py
dpdk_uri_base=http://artifacts.opnfv.org/ovsnfv
dpdk_rpms=(
@@ -25,5 +24,5 @@ dpdk_rpms=(
'ovs4opnfv-32930523-openvswitch-2.5.90-0.12032.gitc61e93d6.1.el7.centos.x86_64.rpm'
)
-ovs_rpm_name=openvswitch-2.5.90-0.11974.gitc4623bb8.1.el7.centos.x86_64.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
diff --git a/ci/PR_revision.log b/ci/PR_revision.log
index de684ef5..fa978dfe 100644
--- a/ci/PR_revision.log
+++ b/ci/PR_revision.log
@@ -16,3 +16,6 @@
40,Move mongo to step 1
42, congress typo
44,Fixes nova host/ip bug
+43,Add support for live migration and resize
+41,Add pcs cleanup exec
+50,Fix rabbitmq ipv6 config \ No newline at end of file
diff --git a/ci/dev_deploy_check.sh b/ci/dev_deploy_check.sh
index 831ff1fd..68a9ac2b 100755
--- a/ci/dev_deploy_check.sh
+++ b/ci/dev_deploy_check.sh
@@ -45,3 +45,6 @@ done
# Make sure jinja2 is installed
easy_install-3.4 jinja2
+
+# TODO(cgoncalves): remove once congress RPM is downloaded from upstream
+easy_install-3.4 tox
diff --git a/config/deploy/os-nosdn-nofeature-ha.yaml b/config/deploy/os-nosdn-nofeature-ha.yaml
index 6e85fa20..286b5162 100644
--- a/config/deploy/os-nosdn-nofeature-ha.yaml
+++ b/config/deploy/os-nosdn-nofeature-ha.yaml
@@ -5,6 +5,6 @@ deploy_options:
sdn_controller: false
sdn_l3: false
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: false
diff --git a/config/deploy/os-nosdn-nofeature-noha.yaml b/config/deploy/os-nosdn-nofeature-noha.yaml
index cfdc5dd3..2d1b44ad 100644
--- a/config/deploy/os-nosdn-nofeature-noha.yaml
+++ b/config/deploy/os-nosdn-nofeature-noha.yaml
@@ -5,6 +5,6 @@ deploy_options:
sdn_controller: false
sdn_l3: false
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: false
diff --git a/config/deploy/os-nosdn-ovs-ha.yaml b/config/deploy/os-nosdn-ovs-ha.yaml
index 739b3e3d..11b093f0 100644
--- a/config/deploy/os-nosdn-ovs-ha.yaml
+++ b/config/deploy/os-nosdn-ovs-ha.yaml
@@ -5,7 +5,7 @@ deploy_options:
sdn_controller: false
sdn_l3: false
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: false
dataplane: ovs_dpdk
diff --git a/config/deploy/os-nosdn-ovs-noha.yaml b/config/deploy/os-nosdn-ovs-noha.yaml
index 9cb783d3..3082dcb4 100644
--- a/config/deploy/os-nosdn-ovs-noha.yaml
+++ b/config/deploy/os-nosdn-ovs-noha.yaml
@@ -5,7 +5,7 @@ deploy_options:
sdn_controller: false
sdn_l3: false
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: false
dataplane: ovs_dpdk
diff --git a/config/deploy/os-nosdn-performance-ha.yaml b/config/deploy/os-nosdn-performance-ha.yaml
index c975e24d..acbc1d34 100644
--- a/config/deploy/os-nosdn-performance-ha.yaml
+++ b/config/deploy/os-nosdn-performance-ha.yaml
@@ -5,7 +5,7 @@ deploy_options:
sdn_controller: false
sdn_l3: false
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: false
vsperf: false
diff --git a/config/deploy/os-ocl-nofeature-ha.yaml b/config/deploy/os-ocl-nofeature-ha.yaml
index 710a0be9..4ad1ee2b 100644
--- a/config/deploy/os-ocl-nofeature-ha.yaml
+++ b/config/deploy/os-ocl-nofeature-ha.yaml
@@ -5,6 +5,6 @@ deploy_options:
sdn_controller: opencontrail
sdn_l3: false
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: false
diff --git a/config/deploy/os-odl_l2-bgpvpn-ha.yaml b/config/deploy/os-odl_l2-bgpvpn-ha.yaml
index 73507772..1d29c2bf 100644
--- a/config/deploy/os-odl_l2-bgpvpn-ha.yaml
+++ b/config/deploy/os-odl_l2-bgpvpn-ha.yaml
@@ -5,6 +5,6 @@ deploy_options:
sdn_controller: opendaylight
sdn_l3: false
tacker: false
- congress: false
+ congress: true
sfc: false
vpn: true
diff --git a/config/deploy/os-odl_l2-fdio-ha.yaml b/config/deploy/os-odl_l2-fdio-ha.yaml
index c7a9d8e0..c66b35b6 100644
--- a/config/deploy/os-odl_l2-fdio-ha.yaml
+++ b/config/deploy/os-odl_l2-fdio-ha.yaml
@@ -6,7 +6,7 @@ deploy_options:
sdn_l3: false
odl_version: boron
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: false
vpp: true
diff --git a/config/deploy/os-odl_l2-fdio-noha.yaml b/config/deploy/os-odl_l2-fdio-noha.yaml
index ca090154..15942fd6 100644
--- a/config/deploy/os-odl_l2-fdio-noha.yaml
+++ b/config/deploy/os-odl_l2-fdio-noha.yaml
@@ -6,7 +6,7 @@ deploy_options:
sdn_l3: false
odl_version: boron
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: false
vpp: true
diff --git a/config/deploy/os-odl_l2-nofeature-ha.yaml b/config/deploy/os-odl_l2-nofeature-ha.yaml
index e614fd49..4c88eeb3 100644
--- a/config/deploy/os-odl_l2-nofeature-ha.yaml
+++ b/config/deploy/os-odl_l2-nofeature-ha.yaml
@@ -6,6 +6,6 @@ deploy_options:
sdn_l3: false
odl_version: beryllium
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: false
diff --git a/config/deploy/os-odl_l2-sdnvpn-ha.yaml b/config/deploy/os-odl_l2-sdnvpn-ha.yaml
index ca35a0fe..f6904f05 100644
--- a/config/deploy/os-odl_l2-sdnvpn-ha.yaml
+++ b/config/deploy/os-odl_l2-sdnvpn-ha.yaml
@@ -5,6 +5,6 @@ deploy_options:
sdn_controller: opendaylight
sdn_l3: false
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: true
diff --git a/config/deploy/os-odl_l2-sfc-noha.yaml b/config/deploy/os-odl_l2-sfc-noha.yaml
index e8f3f986..fa9a7868 100644
--- a/config/deploy/os-odl_l2-sfc-noha.yaml
+++ b/config/deploy/os-odl_l2-sfc-noha.yaml
@@ -6,6 +6,6 @@ deploy_options:
sdn_l3: false
odl_version: boron
tacker: true
- congress: false
+ congress: true
sfc: true
vpn: false
diff --git a/config/deploy/os-odl_l3-nofeature-ha.yaml b/config/deploy/os-odl_l3-nofeature-ha.yaml
index 47650459..e54f28b0 100644
--- a/config/deploy/os-odl_l3-nofeature-ha.yaml
+++ b/config/deploy/os-odl_l3-nofeature-ha.yaml
@@ -5,6 +5,6 @@ deploy_options:
sdn_controller: opendaylight
sdn_l3: true
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: false
diff --git a/config/deploy/os-onos-nofeature-ha.yaml b/config/deploy/os-onos-nofeature-ha.yaml
index 1de52298..0d083dda 100644
--- a/config/deploy/os-onos-nofeature-ha.yaml
+++ b/config/deploy/os-onos-nofeature-ha.yaml
@@ -5,6 +5,6 @@ deploy_options:
sdn_controller: onos
sdn_l3: true
tacker: true
- congress: false
+ congress: true
sfc: false
vpn: false
diff --git a/config/deploy/os-onos-sfc-ha.yaml b/config/deploy/os-onos-sfc-ha.yaml
index e0c8d9e8..f0b78511 100644
--- a/config/deploy/os-onos-sfc-ha.yaml
+++ b/config/deploy/os-onos-sfc-ha.yaml
@@ -5,6 +5,6 @@ deploy_options:
sdn_controller: onos
sdn_l3: true
tacker: true
- congress: false
+ congress: true
sfc: true
vpn: false
diff --git a/config/network/network_settings_v6.yaml b/config/network/network_settings_v6.yaml
index 8ca5eaca..dd2d066e 100644
--- a/config/network/network_settings_v6.yaml
+++ b/config/network/network_settings_v6.yaml
@@ -30,12 +30,15 @@ dns_servers: ["8.8.8.8", "8.8.4.4"]
# network is used as the OpenStack management network which
# carries e.g. communication between its internal components.
# This network must be IPv4 currently.
+domain_name: 'opnfvapex.com'
admin_network:
enabled: true
network_type: bridged
bridged_interface: ''
bond_interfaces: ''
+ compute_interface: nic1
+ controller_interface: nic1
vlan: native
usable_ip_range: 192.0.2.11,192.0.2.99
gateway: 192.0.2.1
@@ -53,6 +56,11 @@ admin_network:
private_network:
enabled: true
cidr: 11.0.0.0/24
+ vlan: native
+ cidr: 11.0.0.0/24
+ compute_interface: nic2
+ controller_interface: nic2
+
# "public" network is used for external connectivity.
# The external network provides Internet access for virtual
@@ -65,6 +73,9 @@ public_network:
enabled: true
network_type: ''
bridged_interface: ''
+ compute_interface: nic3
+ controller_interface: nic3
+ vlan: native
cidr: 2001:db8::/64
gateway: 2001:db8::1
provisioner_ip: 2001:db8::1
@@ -76,11 +87,18 @@ public_network:
storage_network:
enabled: true
cidr: fd00:fd00:fd00:2000::/64
+ vlan: native
+ compute_interface: nic4
+ controller_interface: nic4
+
# "api" is an optional network used by internal openstack api services.
api_network:
enabled: true
cidr: fd00:fd00:fd00:4000::/64
+ vlan: native
+ compute_interface: nic5
+ controller_interface: nic5
#public_network:
# enabled: true #If disabled, public_network traffic will collapse to admin network
diff --git a/lib/common-functions.sh b/lib/common-functions.sh
index 2ace9970..6941093c 100644
--- a/lib/common-functions.sh
+++ b/lib/common-functions.sh
@@ -21,13 +21,19 @@ function prefix2mask {
}
##find ip of interface
-##params: interface name
+##params: interface name, address family
function find_ip {
+ local af
if [[ -z "$1" ]]; then
return 1
fi
+ if [[ -z "$2" ]]; then
+ af=4
+ else
+ af=$2
+ fi
- python3.4 -B $LIB/python/apex_python_utils.py find-ip -i $1
+ python3.4 -B $LIB/python/apex_python_utils.py find-ip -i $1 -af $af
}
##attach interface to OVS and set the network config correctly
@@ -287,3 +293,16 @@ function verify_internet {
return 1
fi
}
+
+##tests if overcloud nodes have external connectivity
+#params:none
+function test_overcloud_connectivity {
+ for node in $(undercloud_connect stack ". stackrc && nova list" | grep -Eo "controller-[0-9]+|compute-[0-9]+" | tr -d -) ; do
+ if ! overcloud_connect $node "ping -c 2 $ping_site > /dev/null"; then
+ echo "${blue}Node ${node} was unable to ping site ${ping_site}${reset}"
+ return 1
+ fi
+ done
+ echo "${blue}Overcloud external connectivity OK${reset}"
+}
+
diff --git a/lib/overcloud-deploy-functions.sh b/lib/overcloud-deploy-functions.sh
index 5b0e1aca..e613dae0 100755
--- a/lib/overcloud-deploy-functions.sh
+++ b/lib/overcloud-deploy-functions.sh
@@ -212,10 +212,18 @@ if [ "$debug" == 'TRUE' ]; then
LIBGUESTFS_BACKEND=direct virt-customize -a overcloud-full.qcow2 --root-password password:opnfvapex
fi
-if [ "${deploy_options_array['tacker']}" == 'True' ]; then
- sed -i '/EnableTacker/\\c EnableTacker: true' opnfv-environment.yaml
+if [ "${deploy_options_array['tacker']}" == 'False' ]; then
+ sed -i '/EnableTacker:/c\ EnableTacker: false' opnfv-environment.yaml
fi
+# Create a key for use by nova for live migration
+echo "Creating nova SSH key for nova resize support"
+ssh-keygen -f nova_id_rsa -b 1024 -P ""
+public_key=\'\$(cat nova_id_rsa.pub | cut -d ' ' -f 2)\'
+sed -i "s#replace_public_key:#key: \$public_key#g" opnfv-environment.yaml
+python -c 'open("opnfv-environment-new.yaml", "w").write((open("opnfv-environment.yaml").read().replace("replace_private_key:", "key: \"" + "".join(open("nova_id_rsa").readlines()).replace("\\n","\\\n") + "\"")))'
+mv -f opnfv-environment-new.yaml opnfv-environment.yaml
+
source stackrc
set -o errexit
# Workaround for APEX-207 where sometimes swift proxy is down
diff --git a/lib/post-install-functions.sh b/lib/post-install-functions.sh
index af72d8f9..a7499feb 100755
--- a/lib/post-install-functions.sh
+++ b/lib/post-install-functions.sh
@@ -11,7 +11,8 @@
##Post configuration after install
##params: none
function configure_post_install {
- local opnfv_attach_networks ovs_ip ip_range net_cidr tmp_ip
+ local opnfv_attach_networks ovs_ip ip_range net_cidr tmp_ip af public_network_ipv6
+ public_network_ipv6=False
opnfv_attach_networks="admin_network public_network"
echo -e "${blue}INFO: Post Install Configuration Running...${reset}"
@@ -41,9 +42,19 @@ EOI
eval "ip_range=\${${network}_usable_ip_range}"
ovs_ip=${ip_range##*,}
eval "net_cidr=\${${network}_cidr}"
+ if [[ $ovs_ip =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
+ af=4
+ else
+ af=6
+ if [ "$network" == "public_network" ]; then
+ public_network_ipv6=True
+ fi
+ #enable ipv6 on bridge interface
+ echo 0 > /proc/sys/net/ipv6/conf/${NET_MAP[$network]}/disable_ipv6
+ fi
sudo ip addr add ${ovs_ip}/${net_cidr##*/} dev ${NET_MAP[$network]}
sudo ip link set up ${NET_MAP[$network]}
- tmp_ip=$(find_ip ${NET_MAP[$network]})
+ tmp_ip=$(find_ip ${NET_MAP[$network]} $af)
if [ -n "$tmp_ip" ]; then
echo -e "${blue}INFO: OVS Bridge ${NET_MAP[$network]} IP set: ${tmp_ip}${reset}"
continue
@@ -81,7 +92,11 @@ if [[ -n "$public_network_vlan" && "$public_network_vlan" != 'native' ]]; then
else
neutron net-create external --router:external=True --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }')
fi
-neutron subnet-create --name external-net --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }') --disable-dhcp external --gateway ${public_network_gateway} --allocation-pool start=${public_network_floating_ip_range%%,*},end=${public_network_floating_ip_range##*,} ${public_network_cidr}
+if [ "$public_network_ipv6" == "True" ]; then
+ neutron subnet-create --name external-net --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }') external --ip_version 6 --ipv6_ra_mode slaac --ipv6_address_mode slaac --gateway ${public_network_gateway} --allocation-pool start=${public_network_floating_ip_range%%,*},end=${public_network_floating_ip_range##*,} ${public_network_cidr}
+else
+ neutron subnet-create --name external-net --tenant-id \$(openstack project show service | grep id | awk '{ print \$4 }') --disable-dhcp external --gateway ${public_network_gateway} --allocation-pool start=${public_network_floating_ip_range%%,*},end=${public_network_floating_ip_range##*,} ${public_network_cidr}
+fi
echo "Removing sahara endpoint and service"
sahara_service_id=\$(openstack service list | grep sahara | cut -d ' ' -f 2)
@@ -108,7 +123,8 @@ fi
EOI
# for virtual, we NAT public network through Undercloud
- if [ "$virtual" == "TRUE" ]; then
+ # same goes for baremetal if only jumphost has external connectivity
+ if [ "$virtual" == "TRUE" ] || ! test_overcloud_connectivity && [ "$public_network_ipv6" != "True" ]; then
if ! configure_undercloud_nat ${public_network_cidr}; then
echo -e "${red}ERROR: Unable to NAT undercloud with external net: ${public_network_cidr}${reset}"
exit 1
@@ -174,4 +190,11 @@ source stackrc
echo "Undercloud IP: $UNDERCLOUD, please connect by doing 'opnfv-util undercloud'"
echo "Overcloud dashboard available at http://\$(heat output-show overcloud PublicVip | sed 's/"//g')/dashboard"
EOI
+
+if [[ "$ha_enabled" == 'True' ]]; then
+ if [ "$debug" == "TRUE" ]; then
+ echo "${blue}\nChecking pacemaker service status\n${reset}"
+ fi
+ overcloud_connect "controller0" "for i in \$(sudo pcs status | grep '^* ' | cut -d ' ' -f 2 | cut -d '_' -f 1 | uniq); do echo \"WARNING: Service: \$i not running\"; done"
+fi
}
diff --git a/lib/python/apex/network_settings.py b/lib/python/apex/network_settings.py
index f2807664..c81256eb 100644
--- a/lib/python/apex/network_settings.py
+++ b/lib/python/apex/network_settings.py
@@ -223,7 +223,7 @@ class NetworkSettings:
- introspection_range
- public_network:
- provisioner_ip
- - floating_ip
+ - floating_ip_range
- gateway
"""
if network == constants.ADMIN_NETWORK:
@@ -236,7 +236,7 @@ class NetworkSettings:
elif network == constants.PUBLIC_NETWORK:
self._config_ip(network, 'provisioner_ip', 1)
self._config_ip_range(network=network,
- setting='floating_ip',
+ setting='floating_ip_range',
end_offset=2, count=20)
self._config_gateway(network)
diff --git a/lib/virtual-setup-functions.sh b/lib/virtual-setup-functions.sh
index e7410da7..ed4d4dfd 100755
--- a/lib/virtual-setup-functions.sh
+++ b/lib/virtual-setup-functions.sh
@@ -40,6 +40,17 @@ EOF
fi
for i in $(seq 0 $vm_index); do
+ if [ "$VM_COMPUTES" -gt 0 ]; then
+ capability="profile:compute"
+ VM_COMPUTES=$((VM_COMPUTES - 1))
+ else
+ capability="profile:control"
+ if [[ "${deploy_options_array['sdn_controller']}" == 'opendaylight' && "$ha_enabled" == "True" && "$ramsize" -lt 10240 ]]; then
+ echo "WARN: RAM per controller too low. OpenDaylight specified in HA deployment requires at least 10GB"
+ echo "INFO: Increasing RAM per controller to 10GB"
+ ramsize=10240
+ fi
+ fi
if ! virsh list --all | grep baremetal${i} > /dev/null; then
define_vm baremetal${i} network 41 'admin_network' $vcpus $ramsize
for n in private_network public_network storage_network api_network; do
@@ -54,13 +65,6 @@ EOF
#virsh vol-list default | grep baremetal${i} 2>&1> /dev/null || virsh vol-create-as default baremetal${i}.qcow2 41G --format qcow2
mac=$(virsh domiflist baremetal${i} | grep admin_network | awk '{ print $5 }')
- if [ "$VM_COMPUTES" -gt 0 ]; then
- capability="profile:compute"
- VM_COMPUTES=$((VM_COMPUTES - 1))
- else
- capability="profile:control"
- fi
-
cat >> $CONFIG/instackenv-virt.json << EOF
{
"pm_addr": "192.168.122.1",