summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rwxr-xr-xbuild/barometer-install.sh4
-rw-r--r--build/nics-template.yaml.jinja211
-rw-r--r--build/opnfv-environment.yaml3
-rwxr-xr-xbuild/overcloud-full.sh51
-rwxr-xr-xbuild/overcloud-opendaylight.sh4
-rw-r--r--build/patches/congress-parallel-execution.patch86
-rw-r--r--build/rpm_specs/opnfv-apex-common.spec4
7 files changed, 131 insertions, 32 deletions
diff --git a/build/barometer-install.sh b/build/barometer-install.sh
index 3f015be1..a6b3f911 100755
--- a/build/barometer-install.sh
+++ b/build/barometer-install.sh
@@ -137,8 +137,8 @@ function barometer_pkgs {
# install puppet-barometer module
# make directories for config files and mibs
LIBGUESTFS_BACKEND=direct virt-customize \
- --run-command 'mkdir /opt/collectd-ceilometer' \
- --run-command "tar xfz /opt/collectd-ceilometer-plugin.tar.gz -C /opt/collectd-ceilometer" \
+ --run-command 'mkdir /opt/stack/collectd-ceilometer' \
+ --run-command "tar xfz /opt/collectd-ceilometer-plugin.tar.gz -C /opt/stack/collectd-ceilometer" \
--run-command "cd /etc/puppet/modules/ && mkdir barometer && \
tar xzf puppet-barometer.tar.gz -C barometer" \
--run-command 'mkdir /usr/share/mibs/' \
diff --git a/build/nics-template.yaml.jinja2 b/build/nics-template.yaml.jinja2
index 23016183..93d3dc14 100644
--- a/build/nics-template.yaml.jinja2
+++ b/build/nics-template.yaml.jinja2
@@ -131,8 +131,17 @@ resources:
ip_netmask: {get_param: InternalApiIpSubnet}
{%- endif %}
{%- else %}
- type: interface
+ type: {{ nets['admin']['nic_mapping'][role]['phys_type'] }}
+ {%- if nets['admin']['nic_mapping'][role]['phys_type'] == 'linux_bridge' %}
+ name: br-ctlplane
+ members:
+ -
+ type: interface
+ name: {{ nets['admin']['nic_mapping'][role]['members'][0] }}
+ primary: true
+ {%- else %}
name: {{ nets['admin']['nic_mapping'][role]['members'][0] }}
+ {%- endif %}
{%- endif %}
use_dhcp: false
dns_servers: {get_param: DnsServers}
diff --git a/build/opnfv-environment.yaml b/build/opnfv-environment.yaml
index 8140d0d7..0f3dd701 100644
--- a/build/opnfv-environment.yaml
+++ b/build/opnfv-environment.yaml
@@ -11,7 +11,10 @@ parameter_defaults:
NeutronEnableForceMetadata: true
NeutronEnableDHCPMetadata: true
NeutronEnableIsolatedMetadata: true
+ #NeutronDhcpAgentsPerNetwork: 3
NeutronPluginExtensions: 'qos,port_security,data_plane_status'
+ # TODO: VLAN Ranges should be configurable from network settings
+ NeutronNetworkVLANRanges: 'datacentre:500:525'
# NeutronVPPAgentPhysnets:
# NovaSchedulerDefaultFilters:
# # Kernel arguments, this value will be set to kernel arguments specified
diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh
index f1ec8650..b821a15c 100755
--- a/build/overcloud-full.sh
+++ b/build/overcloud-full.sh
@@ -41,8 +41,8 @@ rm -rf vsperf vsperf.tar.gz
git clone https://gerrit.opnfv.org/gerrit/vswitchperf vsperf
tar czf vsperf.tar.gz vsperf
-# Increase disk size by 900MB to accommodate more packages
-qemu-img resize overcloud-full_build.qcow2 +900MB
+# Increase disk size by 1200MB to accommodate more packages
+qemu-img resize overcloud-full_build.qcow2 +1200MB
# expand file system to max disk size
# installing forked apex-puppet-tripleo
@@ -68,11 +68,13 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--upload ${BUILD_ROOT}/patches/neutron_openstacksdk_dps.patch:/usr/lib/python2.7/site-packages/ \
--upload ${BUILD_ROOT}/patches/neutron_openstackclient_dps.patch:/usr/lib/python2.7/site-packages/ \
--upload ${BUILD_ROOT}/patches/puppet-neutron-add-sfc.patch:/usr/share/openstack-puppet/modules/neutron/ \
+ --upload ${BUILD_ROOT}/patches/congress-parallel-execution.patch:/usr/lib/python2.7/site-packages/ \
-a overcloud-full_build.qcow2
# apply neutron port data plane status patches
# https://specs.openstack.org/openstack/neutron-specs/specs/backlog/ocata/port-data-plane-status.html
-# Requirement from Doctor project
+# apply congress parallel execution patch
+# Requirements from Doctor project
# TODO(cgoncalves): code merged in Pike dev cycle. drop from >= OpenStack Pike / > OPNFV Euphrates
LIBGUESTFS_BACKEND=direct virt-customize \
--run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron_lib_dps.patch " \
@@ -80,6 +82,7 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron_openstacksdk_dps.patch" \
--run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < neutron_openstackclient_dps.patch" \
--run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-add-sfc.patch" \
+ --run-command "cd /usr/lib/python2.7/site-packages/ && patch -p1 < congress-parallel-execution.patch" \
-a overcloud-full_build.qcow2
# Arch dependent on x86
@@ -118,9 +121,6 @@ for package in ${fdio_pkgs[@]}; do
fdio_pkg_str+=" --upload ${BUILD_DIR}/${package##*/}:/root/fdio/"
done
-# Increase disk size by 900MB to accommodate more packages
-qemu-img resize overcloud-full_build.qcow2 +900MB
-
# upload dpdk rpms but do not install
# install fd.io yum repo and packages
# upload puppet fdio
@@ -131,6 +131,7 @@ LIBGUESTFS_BACKEND=direct virt-customize \
$dpdk_pkg_str \
--upload ${BUILD_DIR}/puppet-fdio.tar.gz:/etc/puppet/modules \
--run-command "cd /etc/puppet/modules && tar xzf puppet-fdio.tar.gz" \
+ --upload ${BUILD_DIR}/fdio.repo:/etc/yum.repos.d/ \
--run-command "mkdir /root/fdio" \
--upload ${BUILD_DIR}/noarch/$netvpp_pkg:/root/fdio \
$fdio_pkg_str \
@@ -147,28 +148,26 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--upload ${BUILD_ROOT}/patches/puppet-neutron-vpp-ml2-type_drivers-setting.patch:/usr/share/openstack-puppet/modules/neutron/ \
--run-command "cd /usr/share/openstack-puppet/modules/neutron && patch -p1 < puppet-neutron-vpp-ml2-type_drivers-setting.patch" \
-a overcloud-full_build.qcow2
-fi
# upload and install barometer packages
-if [ "$(uname -i)" == 'x86_64' ]; then
barometer_pkgs overcloud-full_build.qcow2
-fi
-
-# Build OVS with NSH
-rm -rf ovs_nsh_patches
-rm -rf ovs
-git clone https://github.com/yyang13/ovs_nsh_patches.git
-git clone https://github.com/openvswitch/ovs.git
-pushd ovs > /dev/null
-git checkout v2.6.1
-cp ../ovs_nsh_patches/v2.6.1/*.patch ./
-cp ${BUILD_ROOT}/patches/ovs-fix-build-on-RHEL-7.3.patch ./
-# Hack for build servers that have no git config
-git config user.email "apex@opnfv.com"
-git config user.name "apex"
-git am *.patch
-popd > /dev/null
-tar czf ovs.tar.gz ovs
+
+ # Build OVS with NSH
+ rm -rf ovs_nsh_patches
+ rm -rf ovs
+ git clone https://github.com/yyang13/ovs_nsh_patches.git
+ git clone https://github.com/openvswitch/ovs.git
+ pushd ovs > /dev/null
+ git checkout v2.6.1
+ cp ../ovs_nsh_patches/v2.6.1/*.patch ./
+ cp ${BUILD_ROOT}/patches/ovs-fix-build-on-RHEL-7.3.patch ./
+ # Hack for build servers that have no git config
+ git config user.email "apex@opnfv.com"
+ git config user.name "apex"
+ git am *.patch
+ popd > /dev/null
+ tar czf ovs.tar.gz ovs
+
LIBGUESTFS_BACKEND=direct virt-customize \
--upload ${BUILD_ROOT}/build_ovs_nsh.sh:/root/ \
@@ -177,5 +176,7 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--run-command "cd /root/ovs && /root/build_ovs_nsh.sh" \
-a overcloud-full_build.qcow2
+fi # end x86_64 specific items
+
mv -f overcloud-full_build.qcow2 overcloud-full.qcow2
popd > /dev/null
diff --git a/build/overcloud-opendaylight.sh b/build/overcloud-opendaylight.sh
index 82ff8f74..ae5764c2 100755
--- a/build/overcloud-opendaylight.sh
+++ b/build/overcloud-opendaylight.sh
@@ -49,9 +49,6 @@ popd > /dev/null
# Download ODL netvirt for VPP
populate_cache http://artifacts.opnfv.org/apex/danube/fdio_netvirt/opendaylight-7.0.0-0.1.20170531snap665.el7.noarch.rpm
-# Download ODL for fdio scenarios
-populate_cache http://artifacts.opnfv.org/apex/danube/fdio_odls/fdio_odl_carbon.tar.gz
-
# install ODL packages
# Patch in OPNFV custom puppet-tripleO
# install Honeycomb
@@ -72,7 +69,6 @@ LIBGUESTFS_BACKEND=direct virt-customize \
--install capnproto-libs,capnproto \
--upload ${BUILD_ROOT}/patches/neutron-patch-NSDriver.patch:/usr/lib/python2.7/site-packages/ \
--upload ${CACHE_DIR}/opendaylight-7.0.0-0.1.20170531snap665.el7.noarch.rpm:/root/ \
- --upload ${CACHE_DIR}/fdio_odl_carbon.tar.gz:/root/ \
-a overcloud-full-opendaylight_build.qcow2
# Arch dependent on x86
diff --git a/build/patches/congress-parallel-execution.patch b/build/patches/congress-parallel-execution.patch
new file mode 100644
index 00000000..ca48c6f3
--- /dev/null
+++ b/build/patches/congress-parallel-execution.patch
@@ -0,0 +1,86 @@
+From 02ff94adb9bc433549f5b3483f36b2ede19b3614 Mon Sep 17 00:00:00 2001
+From: Masahito Muroi <muroi.masahito@lab.ntt.co.jp>
+Date: Tue, 18 Apr 2017 04:22:24 +0900
+Subject: [PATCH] Parallel execution in DataSource Driver
+
+Datasource driver calls datasource's API serially when Policy Engine sends
+execution requests. It could take long time number of execution targets is
+a lots.
+
+This patch changes datasource driver calls datasource's API in parallel.
+
+Closes-Bug: #1670529
+Change-Id: I065bd625004401a1bb78c6d56d929bdaf76d37f0
+---
+ congress/datasources/datasource_driver.py | 15 +++++++++------
+ congress/policy_engines/agnostic.py | 6 ++++--
+ 2 files changed, 13 insertions(+), 8 deletions(-)
+
+diff --git a/congress/datasources/datasource_driver.py b/congress/datasources/datasource_driver.py
+index eec83017..8eeb62d7 100644
+--- a/congress/datasources/datasource_driver.py
++++ b/congress/datasources/datasource_driver.py
+@@ -1176,8 +1176,8 @@ class DataSourceDriverEndpoints(data_service.DataServiceEndPoints):
+ def request_refresh(self, context, source_id):
+ return self.service.request_refresh()
+
+- def request_execute(self, context, action, action_args):
+- return self.service.request_execute(context, action, action_args)
++ def request_execute(self, context, action, action_args, wait):
++ return self.service.request_execute(context, action, action_args, wait)
+
+
+ class PushedDataSourceDriver(DataSourceDriver):
+@@ -1574,18 +1574,21 @@ class ExecutionDriver(object):
+ return {'results': actions}
+
+ # Note(thread-safety): blocking function
+- def request_execute(self, context, action, action_args):
++ def request_execute(self, context, action, action_args, wait):
+ """Accept execution requests and execute requests from leader"""
+ node_id = context.get('node_id', None)
++ th = None
+ if self._leader_node_id == node_id:
+- # Note(thread-safety): blocking call
+- self.execute(action, action_args)
++ # Note(thread-safety): blocking call
++ th = eventlet.spawn(self.execute, action, action_args)
+ elif node_id is not None:
+ if self._leader_node_id is None:
+ self._leader_node_id = node_id
+ LOG.debug('New local leader %s selected', self._leader_node_id)
+ # Note(thread-safety): blocking call
+- self.execute(action, action_args)
++ th = eventlet.spawn(self.execute, action, action_args)
++ if wait and th:
++ th.wait()
+
+ # Note(thread-safety): blocking function (in some subclasses)
+ def execute(self, action, action_args):
+diff --git a/congress/policy_engines/agnostic.py b/congress/policy_engines/agnostic.py
+index d1d67bdc..df09ed96 100644
+--- a/congress/policy_engines/agnostic.py
++++ b/congress/policy_engines/agnostic.py
+@@ -2021,7 +2021,9 @@ class DseRuntime (Runtime, data_service.DataService):
+ """Overloading the DseRuntime version of _rpc so it uses dse2."""
+ # TODO(ramineni): This is called only during execute_action, added
+ # the same function name for compatibility with old arch
+- args = {'action': action, 'action_args': args}
++
++ retry_rpc = cfg.CONF.dse.execute_action_retry
++ args = {'action': action, 'action_args': args, 'wait': retry_rpc}
+
+ def execute_once():
+ return self.rpc(service_name, 'request_execute', args,
+@@ -2045,7 +2047,7 @@ class DseRuntime (Runtime, data_service.DataService):
+ action, args['action_args'])
+
+ # long timeout for action execution because actions can take a while
+- if not cfg.CONF.dse.execute_action_retry:
++ if not retry_rpc:
+ # Note(thread-safety): blocking call
+ # Only when thread pool at capacity
+ eventlet.spawn_n(execute_once)
+--
+2.12.3
+
diff --git a/build/rpm_specs/opnfv-apex-common.spec b/build/rpm_specs/opnfv-apex-common.spec
index 15f62c1f..ccb100f3 100644
--- a/build/rpm_specs/opnfv-apex-common.spec
+++ b/build/rpm_specs/opnfv-apex-common.spec
@@ -57,6 +57,8 @@ install config/deploy/os-odl-sfc-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex
install config/deploy/os-odl-fdio-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl-fdio-noha.yaml
install config/deploy/os-odl_netvirt-fdio-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl_netvirt-fdio-noha.yaml
install config/deploy/os-odl-fdio-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl-fdio-ha.yaml
+install config/deploy/os-odl-fdio-dvr-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl-fdio-dvr-ha.yaml
+install config/deploy/os-odl-fdio-dvr-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl-fdio-dvr-noha.yaml
install config/deploy/os-odl-nofeature-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl-nofeature-ha.yaml
install config/deploy/os-odl-nofeature-noha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl-nofeature-noha.yaml
install config/deploy/os-odl-ovs_dpdk-ha.yaml %{buildroot}%{_sysconfdir}/opnfv-apex/os-odl-ovs_dpdk-ha.yaml
@@ -146,6 +148,8 @@ install config/inventory/pod_example_settings.yaml %{buildroot}%{_docdir}/opnfv/
%{_sysconfdir}/opnfv-apex/os-odl-fdio-noha.yaml
%{_sysconfdir}/opnfv-apex/os-odl_netvirt-fdio-noha.yaml
%{_sysconfdir}/opnfv-apex/os-odl-fdio-ha.yaml
+%{_sysconfdir}/opnfv-apex/os-odl-fdio-dvr-ha.yaml
+%{_sysconfdir}/opnfv-apex/os-odl-fdio-dvr-noha.yaml
%{_sysconfdir}/opnfv-apex/os-odl-ovs_dpdk-noha.yaml
%{_sysconfdir}/opnfv-apex/os-odl-ovs_dpdk-ha.yaml
%{_sysconfdir}/opnfv-apex/os-odl-nofeature-ha.yaml