diff options
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 |