summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/Makefile47
-rw-r--r--build/c7-opnfv-x86_64-comps.xml18
-rwxr-xr-xbuild/overcloud-full.sh13
-rwxr-xr-xbuild/overcloud-onos.sh6
-rwxr-xr-xbuild/overcloud-opendaylight-sfc.sh27
-rw-r--r--build/puppet-neutron/lib/puppet/provider/neutron_agent_vpp/ini_setting.rb15
-rw-r--r--build/puppet-neutron/lib/puppet/type/neutron_agent_vpp.rb28
-rw-r--r--build/puppet-neutron/manifests/agents/ml2/networking-vpp.pp33
-rw-r--r--build/puppet-neutron/manifests/plugins/ml2/networking-vpp.pp28
-rw-r--r--build/rpm_specs/networking-vpp.spec50
-rw-r--r--build/rpm_specs/opnfv-apex-opendaylight-sfc.spec34
-rw-r--r--build/variables.sh15
-rw-r--r--ci/PR_revision.log3
-rwxr-xr-xci/build.sh3
-rwxr-xr-xci/clean.sh4
-rwxr-xr-xci/deploy.sh3
-rw-r--r--docs/installationprocedure/baremetal.rst7
-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.sh16
-rw-r--r--lib/python/apex/network_settings.py2
-rwxr-xr-xlib/undercloud-functions.sh1
22 files changed, 183 insertions, 173 deletions
diff --git a/build/Makefile b/build/Makefile
index b002ed6e..9c66c82b 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -17,7 +17,6 @@ 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
@@ -27,20 +26,20 @@ all: iso
clean: images-clean rpms-clean iso-clean tacker-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
+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
opnfv-apex-common.tar.gz:
pushd ../ && git archive --format=tar.gz --prefix=opnfv-apex-common-$(RPMVERS)/ HEAD > build/opnfv-apex-common.tar.gz
@@ -197,11 +196,11 @@ $(MAVEN_FILE):
networking-vpp-rpm: networking-vpp.noarch.rpm
networking-vpp.noarch.rpm: networking-vpp
- pushd networking-vpp && python setup.py bdist_rpm --binary-only
- mv networking-vpp/dist/*.rpm networking-vpp.noarch.rpm
+ pushd networking-vpp && rpmbuild --clean -bb ../rpm_specs/networking-vpp.spec
+ mv networking-vpp/build/rpm/noarch/*.rpm networking-vpp.noarch.rpm
networking-vpp:
- git clone -b stable_vlan_rewrite https://github.com/fepan/networking-vpp.git
+ git clone https://git.openstack.org/openstack/networking-vpp
###############
# UNDERCLOUD #
@@ -319,35 +318,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 +355,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/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/overcloud-full.sh b/build/overcloud-full.sh
index 8ea52217..4fd3f1e8 100755
--- a/build/overcloud-full.sh
+++ b/build/overcloud-full.sh
@@ -105,6 +105,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" \
@@ -118,13 +119,15 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--run-command "pip install distro flask_restful" \
--run-command "yum install -y etcd" \
--run-command "pip install python-etcd" \
+ --run-command "puppet module install cristifalcas/etcd" \
+ --run-command "yum update -y puppet" \
--install "centos-release-qemu-ev" \
- --run-command "yum update -y" \
+ --run-command "yum update -y qemu-kvm-ev" \
--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" \
@@ -132,7 +135,6 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--run-command "sed -i \"s/'--detailed-exitcodes',/'--detailed-exitcodes','-l','syslog','-l','console',/g\" /var/lib/heat-config/hooks/puppet" \
--run-command "yum install -y /root/fdio/*.rpm" \
--run-command "rm -f /etc/sysctl.d/80-vpp.conf" \
- --run-command "tar zxvf /root/fdio/vpp_papi*.tar.gz -C /" \
--install unzip \
--upload puppet-fdio.tar.gz:/etc/puppet/modules \
--run-command "cd /etc/puppet/modules && tar xzf puppet-fdio.tar.gz" \
@@ -151,6 +153,9 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--upload ../neutron/agent/l3/router_info.py:/root/fdio_neutron_l3/ \
--upload ../puppet-neutron/manifests/agents/ml2/networking-vpp.pp:/etc/puppet/modules/neutron/manifests/agents/ml2/ \
--upload ../puppet-neutron/manifests/plugins/ml2/networking-vpp.pp:/etc/puppet/modules/neutron/manifests/plugins/ml2/ \
+ --upload ../puppet-neutron/lib/puppet/type/neutron_agent_vpp.rb:/etc/puppet/modules/neutron/lib/puppet/type/ \
+ --mkdir /etc/puppet/modules/neutron/lib/puppet/provider/neutron_agent_vpp \
+ --upload ../puppet-neutron/lib/puppet/provider/neutron_agent_vpp/ini_setting.rb:/etc/puppet/modules/neutron/lib/puppet/provider/neutron_agent_vpp/ \
-a overcloud-full_build.qcow2
rm -rf ovs_nsh_patches
diff --git a/build/overcloud-onos.sh b/build/overcloud-onos.sh
index b695983a..2b3e5225 100755
--- a/build/overcloud-onos.sh
+++ b/build/overcloud-onos.sh
@@ -18,12 +18,6 @@ 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"
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/puppet-neutron/lib/puppet/provider/neutron_agent_vpp/ini_setting.rb b/build/puppet-neutron/lib/puppet/provider/neutron_agent_vpp/ini_setting.rb
new file mode 100644
index 00000000..595904ce
--- /dev/null
+++ b/build/puppet-neutron/lib/puppet/provider/neutron_agent_vpp/ini_setting.rb
@@ -0,0 +1,15 @@
+Puppet::Type.type(:neutron_agent_vpp).provide(
+ :ini_setting,
+ :parent => Puppet::Type.type(:openstack_config).provider(:ini_setting)
+) do
+
+ def self.file_path
+ '/etc/neutron/plugins/ml2/vpp_agent.ini'
+ end
+
+ # added for backwards compatibility with older versions of inifile
+ def file_path
+ self.class.file_path
+ end
+
+end \ No newline at end of file
diff --git a/build/puppet-neutron/lib/puppet/type/neutron_agent_vpp.rb b/build/puppet-neutron/lib/puppet/type/neutron_agent_vpp.rb
new file mode 100644
index 00000000..f43a8b41
--- /dev/null
+++ b/build/puppet-neutron/lib/puppet/type/neutron_agent_vpp.rb
@@ -0,0 +1,28 @@
+Puppet::Type.newtype(:neutron_agent_vpp) do
+
+ ensurable
+
+ newparam(:name, :namevar => true) do
+ desc 'Section/setting name to manage from vpp agent config.'
+ newvalues(/\S+\/\S+/)
+ end
+
+ newproperty(:value) do
+ desc 'The value of the setting to be defined.'
+ munge do |value|
+ value = value.to_s.strip
+ value.capitalize! if value =~ /^(true|false)$/i
+ value
+ end
+ end
+
+ newparam(:ensure_absent_val) do
+ desc 'A value that is specified as the value property will behave as if ensure => absent was specified'
+ defaultto('<SERVICE DEFAULT>')
+ end
+
+ autorequire(:package) do
+ 'networking-vpp'
+ end
+
+end \ No newline at end of file
diff --git a/build/puppet-neutron/manifests/agents/ml2/networking-vpp.pp b/build/puppet-neutron/manifests/agents/ml2/networking-vpp.pp
index c25c2817..6184e006 100644
--- a/build/puppet-neutron/manifests/agents/ml2/networking-vpp.pp
+++ b/build/puppet-neutron/manifests/agents/ml2/networking-vpp.pp
@@ -21,20 +21,34 @@
# tuples mapping physical network names to agent's node-specific physical
# network interfaces. Defaults to empty list.
#
-# [*flat_network_if*]
-# VPP interface used for flat network
-# Defaults to ''.
+# [*etcd_host*]
+# etcd server host name/ip
+# Defaults to 127.0.0.1.
+#
+# [*etcd_port*]
+# etcd server listening port.
+# Defaults to 4001.
#
class neutron::agents::ml2::networking-vpp (
$package_ensure = 'present',
$enabled = true,
$manage_service = true,
$physnets = '',
- $flat_network_if = '',
+ $etcd_host = '127.0.0.1',
+ $etcd_port = 4001,
) {
include ::neutron::params
+ Neutron_agent_vpp<||> ~> Service['networking-vpp-agent']
+
+ neutron_agent_vpp {
+ 'ml2_vpp/physnets': value => $physnets;
+ 'ml2_vpp/etcd_host': value => $etcd_host;
+ 'ml2_vpp/etcd_port': value => $etcd_port;
+ 'DEFAULT/host': value => $::fqdn;
+ }
+
if $manage_service {
if $enabled {
$service_ensure = 'running'
@@ -43,14 +57,9 @@ class neutron::agents::ml2::networking-vpp (
}
}
- neutron_plugin_ml2 {
- 'ml2_vpp/physnets': value => $physnets;
- 'ml2_vpp/flat_network_if': value => $flat_network_if;
- }->
service { 'networking-vpp-agent':
- ensure => $service_ensure,
- name => 'networking-vpp-agent',
- enable => $enabled,
- tag => 'neutron-service',
+ ensure => $service_ensure,
+ name => 'networking-vpp-agent',
+ enable => $enabled,
}
} \ No newline at end of file
diff --git a/build/puppet-neutron/manifests/plugins/ml2/networking-vpp.pp b/build/puppet-neutron/manifests/plugins/ml2/networking-vpp.pp
index 26548d3a..cf8fe178 100644
--- a/build/puppet-neutron/manifests/plugins/ml2/networking-vpp.pp
+++ b/build/puppet-neutron/manifests/plugins/ml2/networking-vpp.pp
@@ -10,13 +10,28 @@
# property for a package resource type.
# Defaults to 'present'
#
-# [*agents*]
-# Networking-vpp agents's addresses
-# Defaults to $::os_service_default
+# [*etcd_host*]
+# (required) etcd server host name or IP.
+# Defaults to '127.0.0.1'
+#
+# [*etcd_port*]
+# (optional) etcd server listening port.
+# Defaults to 4001.
+#
+# [*etcd_user*]
+# (optional) User name for etcd authentication
+# Defaults to ''.
+#
+# [*etcd_pass*]
+# (optional) Password for etcd authentication
+# Defaults to ''.
#
class neutron::plugins::ml2::networking-vpp (
$package_ensure = 'present',
- $agents = $::os_service_default,
+ $etcd_host = '127.0.0.1',
+ $etcd_port = 4001,
+ $etcd_user = '',
+ $etcd_pass = '',
) {
require ::neutron::plugins::ml2
@@ -28,6 +43,9 @@ class neutron::plugins::ml2::networking-vpp (
)
neutron_plugin_ml2 {
- 'ml2_vpp/agents': value => $agents;
+ 'ml2_vpp/etcd_host': value => $etcd_host;
+ 'ml2_vpp/etcd_port': value => $etcd_port;
+ 'ml2_vpp/etcd_user': value => $etcd_user;
+ 'ml2_vpp/etcd_pass': value => $etcd_pass;
}
}
diff --git a/build/rpm_specs/networking-vpp.spec b/build/rpm_specs/networking-vpp.spec
new file mode 100644
index 00000000..2fd4e049
--- /dev/null
+++ b/build/rpm_specs/networking-vpp.spec
@@ -0,0 +1,50 @@
+%define name networking-vpp
+%define version %(python setup.py --version)
+%define release 1
+%define _topdir %(pwd)/build/rpm
+%define _builddir %(pwd)
+%define _rpmdir %(pwd)/build/rpm
+
+Summary: OpenStack Networking for VPP
+Name: %{name}
+Version: %{version}
+Release: %{release}
+License: Apache 2.0
+Group: Development/Libraries
+BuildArch: noarch
+Requires: vpp
+Vendor: OpenStack <openstack-dev@lists.openstack.org>
+Packager: Feng Pan <fpan@redhat.com>
+Url: http://www.openstack.org/
+
+%description
+ML2 Mechanism driver and small control plane for OpenVPP forwarder
+
+%prep
+cat << EOF > %{_builddir}/networking-vpp-agent.service
+[Unit]
+Description=Networking VPP ML2 Agent
+
+[Service]
+ExecStartPre=/usr/bin/systemctl is-active vpp
+ExecStart=/usr/bin/vpp-agent --config-file /etc/neutron/plugins/ml2/vpp_agent.ini
+Type=simple
+Restart=on-failure
+RestartSec=5s
+
+[Install]
+WantedBy=multi-user.target
+
+EOF
+
+%install
+/usr/bin/python setup.py install -O1 --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
+mkdir -p %{buildroot}/usr/lib/systemd/system
+install %{_builddir}/networking-vpp-agent.service %{buildroot}/usr/lib/systemd/system
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files -f INSTALLED_FILES
+%defattr(-,root,root)
+%attr(644,root,root) /usr/lib/systemd/system/networking-vpp-agent.service
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/variables.sh b/build/variables.sh
index 0308580d..6d657186 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
@@ -29,16 +30,12 @@ dpdk_rpms=(
fdio_uri_base=http://artifacts.opnfv.org/apex/colorado
fdio_pkgs=(
-'vpp-16.09-rc1~7_gea60221~b1030.x86_64.rpm'
-'vpp-devel-16.09-rc1~7_gea60221~b1030.x86_64.rpm'
-'vpp-lib-16.09-rc1~7_gea60221~b1030.x86_64.rpm'
-'vpp_papi-1.0.linux-x86_64.tar.gz'
+'vpp-16.09-release.x86_64.rpm'
+'vpp-devel-16.09-release.x86_64.rpm'
+'vpp-lib-16.09-release.x86_64.rpm'
+'vpp-python-api-16.09-release.x86_64.rpm'
)
-honeycomb_pkg='honeycomb-1.0.0-1609.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
+honeycomb_pkg='honeycomb-1.16.9-FINAL.noarch.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'
diff --git a/ci/PR_revision.log b/ci/PR_revision.log
index f7b832e6..16cf08f8 100644
--- a/ci/PR_revision.log
+++ b/ci/PR_revision.log
@@ -42,3 +42,6 @@
80,Change TenantNIC and PublicNIC to be role specific
81,Fix duplicate NeutronServicePlugins
82,Fixes neutron sdnvpn config resource
+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
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..9affa80a 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -28,6 +28,9 @@ 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/docs/installationprocedure/baremetal.rst b/docs/installationprocedure/baremetal.rst
index 2de6e8a8..3224dd93 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
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 2066f15a..18d1ec46 100755
--- a/lib/overcloud-deploy-functions.sh
+++ b/lib/overcloud-deploy-functions.sh
@@ -29,14 +29,6 @@ function overcloud_deploy {
DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight.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
@@ -67,7 +59,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
@@ -117,6 +108,13 @@ 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
+
+ if [ "${deploy_options_array['sfc']}" == 'True' ]; then
+ # 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.qcow2
+ fi
EOI
elif [ "${deploy_options_array['dataplane']}" != 'ovs' ]; then
diff --git a/lib/python/apex/network_settings.py b/lib/python/apex/network_settings.py
index 006d18c3..ca40ba93 100644
--- a/lib/python/apex/network_settings.py
+++ b/lib/python/apex/network_settings.py
@@ -112,7 +112,7 @@ class NetworkSettings(dict):
if 'dns-domain' not in self:
self['domain_name'] = DOMAIN_NAME
- self['dns_servers'] = self.get('dns_servers', DNS_SERVERS)
+ self['dns_servers'] = self.get('dns_nameservers', DNS_SERVERS)
def _validate_overcloud_nic_order(self, network):
"""
diff --git a/lib/undercloud-functions.sh b/lib/undercloud-functions.sh
index 98552f29..6ba9a545 100755
--- a/lib/undercloud-functions.sh
+++ b/lib/undercloud-functions.sh
@@ -62,6 +62,7 @@ function setup_undercloud_vm {
--run-command "cp /root/.ssh/authorized_keys /home/stack/.ssh/" \
--run-command "chown stack:stack /home/stack/.ssh/authorized_keys && chmod 600 /home/stack/.ssh/authorized_keys"
virsh start undercloud
+ virsh autostart undercloud
fi
sleep 10 # let undercloud get started up