summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-07-29 22:49:26 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-08-01 00:16:27 +0200
commit8d7128a62cd2f9b3df1d59bf4aa4fa7a387b1679 (patch)
tree9d6dba2a15d15b7f82668d23373a3ddd28ce9aa9 /build
parent9dfd08262dd3cf833c84cd1c7c1b05c25e09862b (diff)
salt.sh: Drop upstream clone in favor of local git
salt.sh currently clones the full Fuel@OPNFV git repo from upstream public mirror, preventing us from testing locally edited or new patches. Instead, bring back git submodule handling from old f_repos, clone and patch each submodule locally, then copy the whole parent repo over to cfg01. This is also a first step towards implementing offline deploy support. NOTE: This adds new deploy prerequisite packages: - git (for submodule clone/update); - make (for submodule patching); - rsync (for parent repo replication to cfg01); NOTE: Parent repository is expected to be a git repo, in order to work with git submodules. While at it, perform some minor related changes: - add deploy artifacts (ISOs, qcow2 files) to .gitignore, also used to filter-out such files during rsync to cfg01; - remove obsolete Fuel patches (old f_repos mechanism); - rename "reclass-system-salt-model" submodule; Change-Id: I6210d80d41010b2802e4f1b31acf249a18db7963 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'build')
-rw-r--r--build/f_repos/Makefile166
-rw-r--r--build/f_repos/README.md121
-rw-r--r--build/f_repos/patch/fuel-library/0001-Reduce-ceilometer-memory-usage.patch26
-rw-r--r--build/f_repos/patch/fuel-library/0002-Rework-processorcount-limits-to-os_workers.patch302
-rw-r--r--build/f_repos/patch/fuel-main/0001-Patches-for-OPNFV.patch64
-rw-r--r--build/f_repos/patch/fuel-main/0002-xorriso-fails-to-add-files-with-path-longer-then-240.patch24
-rw-r--r--build/f_repos/patch/fuel-main/0003-repo-mirror-Allow-multi-arch-local-mirrors.patch59
-rw-r--r--build/f_repos/patch/fuel-menu/0001-settings-OPNFV-bootstrap-Default-to-local-mirror.patch66
8 files changed, 0 insertions, 828 deletions
diff --git a/build/f_repos/Makefile b/build/f_repos/Makefile
deleted file mode 100644
index 5dd1c1e7f..000000000
--- a/build/f_repos/Makefile
+++ /dev/null
@@ -1,166 +0,0 @@
-##############################################################################
-# Copyright (c) 2015,2016 Ericsson AB, Enea AB and others.
-# stefan.k.berg@ericsson.com
-# jonas.bjurel@ericsson.com
-# Alexandru.Avadanii@enea.com
-# 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
-##############################################################################
-
-SHELL = /bin/sh
-REPOINFO = $(shell readlink -e ../repo_info.sh)
-FREPODIR = $(shell pwd)
-FPATCHES = $(shell find ${F_PATCH_DIR} -name '*.patch')
-
-include ../config.mk
-
-# NOTE: Mechanism overview is presented in ./README.md.
-
-# Submodule consistent states:
-# - NOT initialized (submodule trees are not populated at all);
-# - initialized, bound to saved commits;
-# - initialized, tracking remote origin (only for FUEL_TRACK_REMOTES);
-# - patched (local patches are applied);
-
-# In order to keep things sort of separate, we should only pass up (to main
-# Makefile) the fully-pactched repos, and gather any fingerprinting info here.
-
-# Fuel@OPNFV relies on upstream git repos (one per component) in 1 of 2 ways:
-# - pinned down to tag objects (e.g. "9.0.1")
-# - tracking upstream remote HEAD on a stable or master branch
-# FIXME(alav): Should we support mixed cases? (e.g. pin down only fuel-main)
-
-# To enable remote tracking, set the following var to any non-empty string.
-# Leaving this var empty will bind each git submodule to its saved commit.
-FUEL_TRACK_REMOTES ?= yes
-
-.PHONY: all
-all: release
-
-##############################################################################
-# git submodule operations - to be used stand-alone or from parent Makefile
-##############################################################################
-
-# Fetch & update git submodules, checkout remote HEAD or saved commit
-# Also gather fingerprints for parent gitinfo_fuel.txt.
-.PHONY: sub
-sub: .cachefuelinfo
-
-.cachefuelinfo:
- @if [ -n "${FUEL_TRACK_REMOTES}" ]; then \
- git submodule update --init --remote 2>/dev/null; \
- else \
- git submodule update --init 2>/dev/null; \
- fi
- @rm -f $@
- @git submodule -q foreach '${REPOINFO} . >> ${FREPODIR}/$@'
-
-# Generate patches from submodules
-.PHONY: patches-export
-patches-export: sub
- @git submodule -q foreach ' \
- SUB_DIR=${F_PATCH_DIR}/$$name; \
- git tag | awk "!/root/ && /${F_OPNFV_TAG}-fuel/" | while read F_TAG; do \
- SUB_FEATURE=`dirname $${F_TAG#${F_OPNFV_TAG}-fuel/}`; \
- echo "`tput setaf 2`-- exporting $$name ($$F_TAG)`tput sgr0`"; \
- mkdir -p $$SUB_DIR/$${SUB_FEATURE} && \
- git format-patch --no-signature --ignore-space-at-eol \
- -o $$SUB_DIR/$$SUB_FEATURE -N $$F_TAG-root..$$F_TAG; \
- sed -i -e "1{/From: /!d}" -e "s/[[:space:]]*$$//" \
- $$SUB_DIR/$$SUB_FEATURE/*.patch; \
- done'
-
-# Apply patches from patch/* to respective submodules
-# We rely on `make sub` and/or `make clean` to checkout correct base
-.PHONY: patches-import
-patches-import: sub .cachepatched
-
-.cachepatched: ${FPATCHES}
- @$(MAKE) clean
- @git submodule -q foreach ' \
- SUB_DIR=${F_PATCH_DIR}/$$name; mkdir -p $$SUB_DIR && \
- git tag ${F_OPNFV_TAG}-root && \
- git checkout -q -b opnfv-fuel && \
- find $$SUB_DIR -type d | sort | while read p_dir; do \
- SUB_PATCHES=$$(ls $$p_dir/*.patch 2>/dev/null); \
- if [ -n "$$SUB_PATCHES" ]; then \
- SUB_FEATURE=$${p_dir#$$SUB_DIR}; \
- SUB_TAG=${F_OPNFV_TAG}-fuel$$SUB_FEATURE/patch; \
- echo "`tput setaf 2`-- patching $$name ($$SUB_TAG)`tput sgr0`";\
- git tag $$SUB_TAG-root && \
- git am -3 --whitespace=nowarn --patch-format=mbox \
- --committer-date-is-author-date $$SUB_PATCHES && \
- git tag $$SUB_TAG || exit 1; \
- fi \
- done && \
- git tag ${F_OPNFV_TAG}'
- @touch $@
-
-# Clean any changes made to submodules, checkout upstream Fuel root commit
-.PHONY: clean
-clean:
- @cd ${F_GIT_ROOT} && git submodule -q foreach ' \
- git am -q --abort > /dev/null 2>&1; \
- git checkout -q -f ${F_OPNFV_TAG}-root > /dev/null 2>&1; \
- git branch -q -D opnfv-fuel > /dev/null 2>&1; \
- git tag | grep ${F_OPNFV_TAG} | xargs git tag -d > /dev/null 2>&1; \
- git reset -q --hard HEAD; \
- git clean -xdff'
- @rm -f .cachepatched
-
-.PHONY: deepclean
-deepclean: clean clean-cache
- @git submodule deinit -f .
- @rm -f .cache*
-
-.PHONY: release
-release: sub
- # Store artifact in cache straight away if caching is enabled
- # (no .cacheid will be present unless this is a cached build)
- test -f .cacheid && $(MAKE) -f Makefile put-cache || exit 0
- # NOTE: Patches are not included in cache
- $(MAKE) -f Makefile patches-import
-
-##############################################################################
-# Cache operations - only used when building through ci/build.sh
-##############################################################################
-
-# NOTE: Current method of collecting submodule refs requires submodules to be
-# NOT initialized <OR> NO patches applied.
-# NOTE: Querying `git submodule status` from parent will show the patched tree.
-# Create a unique hash to be used for getting and putting cache, based on:
-# - git submodule SHAs, collected with `git submodule status`
-# - The contents of this Makefile
-.cacheid:
- @$(MAKE) clean
- sha1sum Makefile > .cachedata
- git submodule status | cut -c2-41 >> .cachedata
- cat .cachedata | $(CACHETOOL) getid > .cacheid
-
-# Clean local data related to caching - called prior to ordinary build
-.PHONY: clean-cache
-clean-cache: clean
- rm -f .cachedata .cacheid
-
-# Try to download cache - called prior to ordinary build
-.PHONY: get-cache
-get-cache: .cacheid
- @if $(CACHETOOL) check $(shell cat .cacheid); then \
- $(MAKE) clean && \
- $(CACHETOOL) get $(shell cat .cacheid) | \
- tar xf - -C ${F_GIT_DIR}; \
- else \
- echo "No cache item found for $(shell cat .cacheid)" ;\
- exit 0;\
- fi
-
-# Store cache if not already stored - called after ordinary build
-.PHONY: put-cache
-put-cache: .cacheid
- @if ! $(CACHETOOL) check $(shell cat .cacheid); then \
- $(MAKE) clean && \
- tar cf - -C ${F_GIT_DIR} modules | \
- $(CACHETOOL) put $(shell cat .cacheid); \
- fi
diff --git a/build/f_repos/README.md b/build/f_repos/README.md
deleted file mode 100644
index 0a52fe040..000000000
--- a/build/f_repos/README.md
+++ /dev/null
@@ -1,121 +0,0 @@
-Fuel@OPNFV submodule fetching and patching
-==========================================
-
-This directory holds submodule fetching/patching scripts, intended for
-working with upstream Fuel components (fuel-library, ... , fuel-ui) in
-developing/applying OPNFV patches (backports, custom fixes etc.).
-
-The scripts should be friendly to the following 2 use-cases:
- - development work: easily cloning, binding repos to specific commits,
- remote tracking, patch development etc.;
- - to provide parent build scripts an easy method of tracking upstream
- references and applying OPNFV patches on top;
-
-Also, we need to support at least the following modes of operations:
- - submodule bind - each submodule patches will be based on the commit ID
- saved in the .gitmodules config file;
- - remote tracking - each submodule will sync with the upstream remote
- and patches will be applied on top of <sub_remote>/<sub_branch>/HEAD;
-
-Workflow (development)
-----------------------
-The standard development workflow should look as follows:
-
-1. Decide whether remote tracking should be active or not:
- NOTE: Setting the following var to any non-empty str enables remote track.
- NOTE: Leaving unset will enable remote track for anything but stable branch.
-
- $ export FUEL_TRACK_REMOTES=""
-
-2. All Fuel sub-projects are registered as submodules. To initialize them, call:
- If remote tracking is active, upstream remote is queried and latest remote
- branch HEAD is fetched. Otherwise, checkout commit IDs from .gitmodules.
-
- $ make sub
-
-3. Apply patches from `patches/<sub-project>/*` to respective submodules via:
-
- $ make patches-import
-
- This will result in creation of:
- - a tag called `${FUEL_MAIN_TAG}-opnfv-root` at the same commit as Fuel@OPNFV
- upstream reference (bound to git submodule OR tracking remote HEAD);
- - a new branch `opnfv-fuel` which will hold all the OPNFV patches,
- each patch is applied on this new branch with `git-am`;
- - a tag called `${FUEL_MAIN_TAG}-opnfv` at `opnfv-fuel/HEAD`;
-
-4. Modify sub-projects for whatever you need.
- Commit your changes when you want them taken into account in the build.
-
-5. Re-create patches via:
-
- $ make patches-export
-
- Each commit on `opnfv-fuel` branch of each subproject will be
- exported to `patches/subproject/` via `git format-patch`.
-
- NOTE: Only commit (-f) submodules when you need to bump upstream ref.
- NOTE: DO NOT commit patched submodules!
-
-6. Clean workbench branches and tags with:
-
- $ make clean
-
-7. De-initialize submodules and force a clean clone with:
-
- $ make deepclean
-
-Workflow (ISO build)
---------------------
-Parent build scripts require this mechanism to do some fingerprinting,
-so here is the intended flow for all artifacts to be generated right:
-
-1. (Optional) Cached submodules might be fetched from build cache.
-
-2. Submodules are updated
- We also dump each submodule's git info using repo_info.sh, since
- we want to collect git refs before patching (i.e. upstream refs).
-
-3. Make target `release` is built
- This will make sure the modules are in a clean state, put them in cache,
- then apply the patches.
-
-4. fuel-main's `${FUEL_MAIN_TAG}-opnfv-root` tag is used to determine VERSION info
- It will accommodate both bound tags and remote tracking references.
-
-Sub-project maintenance
------------------------
-1. Adding a new submodule
- If you need to add another subproject, you can do it with `git submodule`.
- Make sure that you specify branch (with `-b`), short name (with `--name`)
- and point it to `upstream/*` directory, i.e.:
-
- $ git submodule -b stable/mitaka add --name fuel-web \
- https://github.com/openstack/fuel-web.git upstream/fuel-web
-
-2. Working with remote tracking for upgrading Fuel components
- Enable remote tracking as described above, which at `make sub` will update
- ALL submodules (fuel-main, fuel-library, ...) to remote branch (set in
- .gitmodules) HEAD.
-
- * If upstream has NOT already tagged a new version, we can still work on
- our patches, make sure they apply etc., then check for new upstream
- changes (and that our patches still apply on top of them) by:
-
- $ make deepclean patches-import
-
- * If upstream has already tagged a new version we want to pick up, checkout
- the new tag in each submodule:
-
- $ git submodule foreach 'git checkout <newtag>'
-
- * Once satisfied with the patch and submodule changes, commit them:
- - enforce FUEL_TRACK_REMOTES to "yes" if you want to constatly use the
- latest remote branch HEAD (as soon as upstream pushes a change on that
- branch, our next build will automatically include it - risk of our
- patches colliding with new upstream changes);
- - stage patch changes if any;
- - if submodule tags have been updated (relevant when remote tracking is
- disabled, i.e. we have a stable upstream baseline), add submodules:
-
- $ make deepclean sub && git add -f sub/*
diff --git a/build/f_repos/patch/fuel-library/0001-Reduce-ceilometer-memory-usage.patch b/build/f_repos/patch/fuel-library/0001-Reduce-ceilometer-memory-usage.patch
deleted file mode 100644
index 27303f916..000000000
--- a/build/f_repos/patch/fuel-library/0001-Reduce-ceilometer-memory-usage.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From: Michael Polenchuk <mpolenchuk@mirantis.com>
-Date: Mon, 19 Dec 2016 16:03:37 +0400
-Subject: [PATCH] Reduce ceilometer memory usage
-
-Change-Id: I11045c233eeb833108ffdee4a8952cd61b91c840
----
- .../puppet/openstack_tasks/manifests/ceilometer/controller.pp | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp b/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp
-index 6f6e3b9..72fbe32 100644
---- a/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp
-@@ -229,5 +229,12 @@ class openstack_tasks::ceilometer::controller {
- 'DEFAULT/use_syslog_rfc_format': value => true;
- }
- }
-+
-+ # Reduce memory usage
-+ ceilometer_config {
-+ 'DEFAULT/executor_thread_pool_size': value => ceiling($service_workers*0.5);
-+ 'notification/pipeline_processing_queues': value => ceiling($service_workers*1.5);
-+ 'oslo_messaging_rabbit/rabbit_qos_prefetch_count': value => 100;
-+ }
- }
- }
diff --git a/build/f_repos/patch/fuel-library/0002-Rework-processorcount-limits-to-os_workers.patch b/build/f_repos/patch/fuel-library/0002-Rework-processorcount-limits-to-os_workers.patch
deleted file mode 100644
index b1f1ef432..000000000
--- a/build/f_repos/patch/fuel-library/0002-Rework-processorcount-limits-to-os_workers.patch
+++ /dev/null
@@ -1,302 +0,0 @@
-From: Bogdan Dobrelya <bdobrelia@mirantis.com>
-Date: Fri, 30 Sep 2016 12:03:34 +0200
-Subject: [PATCH] Rework processorcount limits to os_workers
-
-* reduce workers_max default limits of a 16 to the $::os_workers, which is limited by [2, 8] interval.
-* reduce workers/pool size/overflow limited by F($::processorcount) to F($::os_workers)
-
-Closes-bug: 1629238
-
-Change-Id: I5cc4d70b902eeaa1c9cf42911606eba13dd84aa2
-Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
----
- deployment/puppet/openstack/manifests/cinder.pp | 2 +-
- .../manifests/ceilometer/controller.pp | 2 +-
- .../openstack_tasks/manifests/glance/glance.pp | 2 +-
- .../openstack_tasks/manifests/horizon/horizon.pp | 2 +-
- .../manifests/ironic/ironic_compute.pp | 4 ++--
- .../openstack_tasks/manifests/keystone/keystone.pp | 2 +-
- .../manifests/openstack_cinder/openstack_cinder.pp | 6 +++---
- .../openstack_controller/openstack_controller.pp | 6 +++---
- .../manifests/openstack_network/agents/metadata.pp | 2 +-
- .../manifests/openstack_network/server_config.pp | 2 +-
- .../puppet/openstack_tasks/manifests/roles/cinder.pp | 4 ++--
- .../openstack_tasks/manifests/sahara/sahara.pp | 4 ++--
- .../openstack_tasks/manifests/swift/parts/proxy.pp | 2 +-
- .../openstack_tasks/manifests/swift/proxy_storage.pp | 2 +-
- .../puppet/osnailyfacter/lib/facter/os_workers.rb | 20 ++++++++++++++++++++
- .../puppet/osnailyfacter/manifests/apache_mpm.pp | 2 +-
- .../osnailyfacter/manifests/globals/globals.pp | 6 +++---
- 17 files changed, 45 insertions(+), 25 deletions(-)
- create mode 100644 deployment/puppet/osnailyfacter/lib/facter/os_workers.rb
-
-diff --git a/deployment/puppet/openstack/manifests/cinder.pp b/deployment/puppet/openstack/manifests/cinder.pp
-index 36747a6..502bc94 100644
---- a/deployment/puppet/openstack/manifests/cinder.pp
-+++ b/deployment/puppet/openstack/manifests/cinder.pp
-@@ -44,6 +44,6 @@ class openstack::cinder(
- $keystone_user = 'cinder',
- $region = 'RegionOne',
- $notification_driver = undef,
-- $service_workers = $::processorcount,
-+ $service_workers = $::os_workers,
- $rbd_pool = 'volumes',
- $rbd_user = 'volumes',
-diff --git a/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp b/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp
-index 72fbe32..e6fcf4f 100644
---- a/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/ceilometer/controller.pp
-@@ -35,7 +35,7 @@ class openstack_tasks::ceilometer::controller {
- $service_endpoint = hiera('service_endpoint', $management_vip)
- $ha_mode = pick($ceilometer_hash['ha_mode'], true)
- $ssl_hash = hiera_hash('use_ssl', {})
-- $workers_max = hiera('workers_max', 16)
-+ $workers_max = hiera('workers_max', $::os_workers)
- $service_workers = pick($ceilometer_hash['workers'],
- min(max($::processorcount, 2), $workers_max))
-
-diff --git a/deployment/puppet/openstack_tasks/manifests/glance/glance.pp b/deployment/puppet/openstack_tasks/manifests/glance/glance.pp
-index bbba7dd..9e9f57c 100644
---- a/deployment/puppet/openstack_tasks/manifests/glance/glance.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/glance/glance.pp
-@@ -21,7 +21,7 @@ class openstack_tasks::glance::glance {
- $max_overflow = hiera('max_overflow')
- $ceilometer_hash = hiera_hash('ceilometer', {})
- $region = hiera('region','RegionOne')
-- $workers_max = hiera('workers_max', 16)
-+ $workers_max = hiera('workers_max', $::os_workers)
- $service_workers = pick($glance_hash['glance_workers'],
- min(max($::processorcount, 2), $workers_max))
- $ironic_hash = hiera_hash('ironic', {})
-diff --git a/deployment/puppet/openstack_tasks/manifests/horizon/horizon.pp b/deployment/puppet/openstack_tasks/manifests/horizon/horizon.pp
-index 1a70af7..824c700 100644
---- a/deployment/puppet/openstack_tasks/manifests/horizon/horizon.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/horizon/horizon.pp
-@@ -134,7 +134,7 @@ class openstack_tasks::horizon::horizon {
- $wsgi_processes = 2
- $wsgi_threads = 9
- } else {
-- $wsgi_processes = $::processorcount
-+ $wsgi_processes = $::os_workers
- $wsgi_threads = 15
- }
-
-diff --git a/deployment/puppet/openstack_tasks/manifests/ironic/ironic_compute.pp b/deployment/puppet/openstack_tasks/manifests/ironic/ironic_compute.pp
-index 2d26e1f..6e7d8ca 100644
---- a/deployment/puppet/openstack_tasks/manifests/ironic/ironic_compute.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/ironic/ironic_compute.pp
-@@ -35,8 +35,8 @@ class openstack_tasks::ironic::ironic_compute {
- $db_name = pick($nova_hash['db_name'], 'nova')
- $db_password = pick($nova_hash['db_password'], 'nova')
-
-- $max_pool_size = hiera('max_pool_size', min($::processorcount * 5 + 0, 30 + 0))
-- $max_overflow = hiera('max_overflow', min($::processorcount * 5 + 0, 60 + 0))
-+ $max_pool_size = hiera('max_pool_size', min($::os_workers * 5 + 0, 30 + 0))
-+ $max_overflow = hiera('max_overflow', min($::os_workers * 5 + 0, 60 + 0))
- $idle_timeout = hiera('idle_timeout', '3600')
- $max_retries = hiera('max_retries', '-1')
-
-diff --git a/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp b/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp
-index 8535821..bef595d 100644
---- a/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/keystone/keystone.pp
-@@ -22,7 +22,7 @@ class openstack_tasks::keystone::keystone {
- $syslog_log_facility = hiera('syslog_log_facility_keystone')
- $rabbit_hash = hiera_hash('rabbit', {})
- $neutron_user_password = hiera('neutron_user_password', false)
-- $workers_max = hiera('workers_max', 16)
-+ $workers_max = hiera('workers_max', $::os_workers)
- $service_workers = pick($keystone_hash['workers'],
- min(max($::processorcount, 2), $workers_max))
- $default_log_levels = hiera_hash('default_log_levels')
-diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp b/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp
-index ec60184..ce03683 100644
---- a/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/openstack_cinder/openstack_cinder.pp
-@@ -13,7 +13,7 @@ class openstack_tasks::openstack_cinder::openstack_cinder {
- $sahara_hash = hiera_hash('sahara', {})
- $rabbit_hash = hiera_hash('rabbit', {})
- $service_endpoint = hiera('service_endpoint')
-- $workers_max = hiera('workers_max', 16)
-+ $workers_max = hiera('workers_max', $::os_workers)
- $service_workers = pick($cinder_hash['workers'], min(max($::processorcount, 2), $workers_max))
- $cinder_user_password = $cinder_hash[user_password]
- $keystone_user = pick($cinder_hash['user'], 'cinder')
-@@ -86,8 +86,8 @@ class openstack_tasks::openstack_cinder::openstack_cinder {
- }
-
- # SQLAlchemy backend configuration
-- $max_pool_size = min($::processorcount * 5 + 0, 30 + 0)
-- $max_overflow = min($::processorcount * 5 + 0, 60 + 0)
-+ $max_pool_size = min($::os_workers * 5 + 0, 30 + 0)
-+ $max_overflow = min($::os_workers * 5 + 0, 60 + 0)
- $max_retries = '-1'
- $idle_timeout = '3600'
-
-diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp b/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp
-index 5222a37..38aaa40 100644
---- a/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp
-@@ -48,7 +48,7 @@ class openstack_tasks::openstack_controller::openstack_controller {
- $keystone_user = pick($nova_hash['user'], 'nova')
- $keystone_tenant = pick($nova_hash['tenant'], 'services')
- $region_name = hiera('region', 'RegionOne')
-- $workers_max = hiera('workers_max', 16)
-+ $workers_max = hiera('workers_max', $::os_workers)
- $service_workers = pick($nova_hash['workers'],
- min(max($::processorcount, 2), $workers_max))
- $compute_nodes = get_nodes_hash_by_roles($network_metadata, ['compute'])
-@@ -119,8 +119,8 @@ class openstack_tasks::openstack_controller::openstack_controller {
- $transport_url = hiera('transport_url','rabbit://guest:password@127.0.0.1:5672/')
-
- # SQLAlchemy backend configuration
-- $max_pool_size = hiera('max_pool_size', min($::processorcount * 5 + 0, 30 + 0))
-- $max_overflow = hiera('max_overflow', min($::processorcount * 5 + 0, 60 + 0))
-+ $max_pool_size = hiera('max_pool_size', min($::os_workers * 5 + 0, 30 + 0))
-+ $max_overflow = hiera('max_overflow', min($::os_workers * 5 + 0, 60 + 0))
- $idle_timeout = hiera('idle_timeout', '3600')
- $max_retries = hiera('max_retries', '-1')
-
-diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_network/agents/metadata.pp b/deployment/puppet/openstack_tasks/manifests/openstack_network/agents/metadata.pp
-index fe74bc6..881deda 100644
---- a/deployment/puppet/openstack_tasks/manifests/openstack_network/agents/metadata.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/openstack_network/agents/metadata.pp
-@@ -9,7 +9,7 @@ class openstack_tasks::openstack_network::agents::metadata {
- $neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
- $neutron_config = hiera_hash('neutron_config')
- $dvr = pick($neutron_advanced_config['neutron_dvr'], false)
-- $workers_max = hiera('workers_max', 16)
-+ $workers_max = hiera('workers_max', $::os_workers)
-
- if $compute {
- $metadata_workers = pick($neutron_config['workers'],
-diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_network/server_config.pp b/deployment/puppet/openstack_tasks/manifests/openstack_network/server_config.pp
-index 133c49e..4dbbf05 100644
---- a/deployment/puppet/openstack_tasks/manifests/openstack_network/server_config.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/openstack_network/server_config.pp
-@@ -64,7 +64,7 @@ class openstack_tasks::openstack_network::server_config {
- $auth_url = "${internal_auth_protocol}://${internal_auth_endpoint}:35357/"
- $nova_admin_auth_url = "${admin_auth_protocol}://${admin_auth_endpoint}:35357/"
-
-- $workers_max = hiera('workers_max', 16)
-+ $workers_max = hiera('workers_max', $::os_workers)
- $service_workers = pick($neutron_config['workers'], min(max($::processorcount, 1), $workers_max))
-
- $neutron_advanced_config = hiera_hash('neutron_advanced_configuration', { })
-diff --git a/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp b/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp
-index da3c148..09c3896 100644
---- a/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/roles/cinder.pp
-@@ -81,8 +81,8 @@ class openstack_tasks::roles::cinder {
- }
-
- # SQLAlchemy backend configuration
-- $max_pool_size = min($::processorcount * 5 + 0, 30 + 0)
-- $max_overflow = min($::processorcount * 5 + 0, 60 + 0)
-+ $max_pool_size = min($::os_workers * 5 + 0, 30 + 0)
-+ $max_overflow = min($::os_workers * 5 + 0, 60 + 0)
- $max_retries = '-1'
- $idle_timeout = '3600'
-
-diff --git a/deployment/puppet/openstack_tasks/manifests/sahara/sahara.pp b/deployment/puppet/openstack_tasks/manifests/sahara/sahara.pp
-index 9d011ce..0366659 100644
---- a/deployment/puppet/openstack_tasks/manifests/sahara/sahara.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/sahara/sahara.pp
-@@ -51,8 +51,8 @@ class openstack_tasks::sahara::sahara {
- $sahara_user = pick($sahara_hash['user'], 'sahara')
- $sahara_password = pick($sahara_hash['user_password'])
- $tenant = pick($sahara_hash['tenant'], 'services')
-- $max_pool_size = min($::processorcount * 5 + 0, 30 + 0)
-- $max_overflow = min($::processorcount * 5 + 0, 60 + 0)
-+ $max_pool_size = min($::os_workers * 5 + 0, 30 + 0)
-+ $max_overflow = min($::os_workers * 5 + 0, 60 + 0)
- $max_retries = '-1'
- $idle_timeout = '3600'
-
-diff --git a/deployment/puppet/openstack_tasks/manifests/swift/parts/proxy.pp b/deployment/puppet/openstack_tasks/manifests/swift/parts/proxy.pp
-index 81d64a2..8a68acd 100644
---- a/deployment/puppet/openstack_tasks/manifests/swift/parts/proxy.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/swift/parts/proxy.pp
-@@ -26,7 +26,7 @@ class openstack_tasks::swift::parts::proxy (
- 'account_quotas',
- 'slo',
- 'proxy-server'],
-- $proxy_workers = $::processorcount,
-+ $proxy_workers = $::os_workers,
- $proxy_port = '8080',
- $proxy_allow_account_management = true,
- $proxy_account_autocreate = true,
-diff --git a/deployment/puppet/openstack_tasks/manifests/swift/proxy_storage.pp b/deployment/puppet/openstack_tasks/manifests/swift/proxy_storage.pp
-index a221baf..77f4ba1 100644
---- a/deployment/puppet/openstack_tasks/manifests/swift/proxy_storage.pp
-+++ b/deployment/puppet/openstack_tasks/manifests/swift/proxy_storage.pp
-@@ -30,7 +30,7 @@ class openstack_tasks::swift::proxy_storage {
- $keystone_user = pick($swift_hash['user'], 'swift')
- $keystone_password = pick($swift_hash['user_password'], 'passsword')
- $keystone_tenant = pick($swift_hash['tenant'], 'services')
-- $workers_max = hiera('workers_max', 16)
-+ $workers_max = hiera('workers_max', $::os_workers)
- $service_workers = pick($swift_hash['workers'], min(max($::processorcount, 2), $workers_max))
- $ssl_hash = hiera_hash('use_ssl', {})
- $rabbit_hash = hiera_hash('rabbit')
-diff --git a/deployment/puppet/osnailyfacter/lib/facter/os_workers.rb b/deployment/puppet/osnailyfacter/lib/facter/os_workers.rb
-new file mode 100644
-index 0000000..404fb90
---- /dev/null
-+++ b/deployment/puppet/osnailyfacter/lib/facter/os_workers.rb
-@@ -0,0 +1,20 @@
-+#
-+# We've found that using $::processorcount for workers/threads can lead to
-+# unexpected memory or process counts for people deploying on baremetal or
-+# if they have large number of cpus. This fact allows us to tweak the formula
-+# used to determine number of workers in a single place but use it across all
-+# modules.
-+#
-+# The value for os_workers is max between '(<# processors> / 2)' and '2' with
-+# a cap of 12.
-+#
-+# This fact can be overloaded by an external fact from /etc/factor/facts.d if
-+# a user would like to provide their own default value.
-+#
-+Facter.add(:os_workers) do
-+ has_weight 100
-+ setcode do
-+ processors = Facter.value('processorcount')
-+ [ [ (processors.to_i / 2), 2 ].max, 12 ].min
-+ end
-+end
-diff --git a/deployment/puppet/osnailyfacter/manifests/apache_mpm.pp b/deployment/puppet/osnailyfacter/manifests/apache_mpm.pp
-index 51bc327..70a654a 100644
---- a/deployment/puppet/osnailyfacter/manifests/apache_mpm.pp
-+++ b/deployment/puppet/osnailyfacter/manifests/apache_mpm.pp
-@@ -11,7 +11,7 @@ class osnailyfacter::apache_mpm inherits ::osnailyfacter::apache {
- if ($::processorcount + 0) <= 2 {
- $startservers = 2
- } else {
-- $startservers = $::processorcount
-+ $startservers = $::os_workers
- }
-
- $maxrequestsperchild = 0
-diff --git a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp
-index f9e8ccb..6eee21e 100644
---- a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp
-+++ b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp
-@@ -320,14 +320,14 @@ class osnailyfacter::globals::globals {
- # The default value assumes there are 20 different types of workers limited by 100Mb each.
- $workers_ratio = hiera('workers_ratio', 2000)
- # Defines the maximum allowed number of workers for each service by RAM limits. Cannot exceed the value of 30.
-- $workers_max = inline_template("<%= [(@memorysize_mb.to_i / @workers_ratio.to_i).floor + 1, 30].min %>")
-+ $workers_max = inline_template("<%= [(@memorysize_mb.to_i / @workers_ratio.to_i).floor + 1, $::os_workers].min %>")
-
- $node_name_prefix_for_messaging = hiera('node_name_prefix_for_messaging', 'messaging-')
-
- # MySQL and SQLAlchemy backend configuration
- $custom_mysql_setup_class = hiera('custom_mysql_setup_class', 'galera')
-- $max_pool_size = hiera('max_pool_size', min($::processorcount * 5 + 0, 30 + 0))
-- $max_overflow = hiera('max_overflow', min($::processorcount * 5 + 0, 60 + 0))
-+ $max_pool_size = hiera('max_pool_size', min($::os_workers * 5 + 0, 30 + 0))
-+ $max_overflow = hiera('max_overflow', min($::os_workers * 5 + 0, 60 + 0))
- $max_retries = hiera('max_retries', '-1')
- $idle_timeout = hiera('idle_timeout','3600')
- $nova_db_password = $nova_hash['db_password']
diff --git a/build/f_repos/patch/fuel-main/0001-Patches-for-OPNFV.patch b/build/f_repos/patch/fuel-main/0001-Patches-for-OPNFV.patch
deleted file mode 100644
index bf0f331db..000000000
--- a/build/f_repos/patch/fuel-main/0001-Patches-for-OPNFV.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From: "Stefan K. Berg" <sfb@consultron.com>
-Date: Fri, 4 Nov 2016 16:06:42 +0100
-Subject: [PATCH] Patches for OPNFV
-
----
- iso/bootstrap_admin_node.sh | 30 +++++++++++++++++++++++++++---
- 1 file changed, 27 insertions(+), 3 deletions(-)
-
-diff --git a/iso/bootstrap_admin_node.sh b/iso/bootstrap_admin_node.sh
-index dbcac5f..472e418 100755
---- a/iso/bootstrap_admin_node.sh
-+++ b/iso/bootstrap_admin_node.sh
-@@ -347,8 +347,23 @@ fuelmenu --save-only --iface=$ADMIN_INTERFACE || fail
- set +x
- echo "Done!"
-
-+### OPNFV addition BEGIN
-+shopt -s nullglob
-+for script in /opt/opnfv/bootstrap/pre.d/*.sh
-+do
-+ echo "Pre script: $script" >> /root/pre.log 2>&1
-+ $script >> /root/pre.log 2>&1
-+done
-+shopt -u nullglob
-+
-+# Enable sshd
-+systemctl enable sshd
-+systemctl start sshd
-+
-+### OPNFV addition END
-+
- if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then
-- fuelmenu || fail
-+ fuelmenu
- else
- # Give user 15 seconds to enter fuelmenu or else continue
- echo
-@@ -386,8 +401,7 @@ if [ ! -f /etc/fuel_build_id ]; then
- fi
-
- # Enable sshd
--systemctl enable sshd
--systemctl start sshd
-+systemctl restart sshd
-
- # Enable iptables
- systemctl enable iptables.service
-@@ -546,6 +560,16 @@ systemctl start ntpd
-
- bash /etc/rc.local
-
-+### OPNFV addition BEGIN
-+shopt -s nullglob
-+for script in /opt/opnfv/bootstrap/post.d/*.sh
-+do
-+ echo "Post script: $script" >> /root/post.log 2>&1
-+ $script >> /root/post.log 2>&1
-+done
-+shopt -u nullglob
-+### OPNFV addition END
-+
- if [ "`get_bootstrap_skip`" = "False" ]; then
- build_ubuntu_bootstrap bs_status || true
- else
diff --git a/build/f_repos/patch/fuel-main/0002-xorriso-fails-to-add-files-with-path-longer-then-240.patch b/build/f_repos/patch/fuel-main/0002-xorriso-fails-to-add-files-with-path-longer-then-240.patch
deleted file mode 100644
index 179cbdbd6..000000000
--- a/build/f_repos/patch/fuel-main/0002-xorriso-fails-to-add-files-with-path-longer-then-240.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Artem Silenkov <asilenkov@mirantis.com>
-Date: Tue, 22 Sep 2015 21:54:44 +0300
-Subject: [PATCH] xorriso fails to add files with path longer then 240
-
-joliet-long option added to xorriso command line
-
-Change-Id: I97016cf3e6a554f44d839740ba7d210337435cdc
-Related-Bug: #1498619
----
- iso/module.mk | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/iso/module.mk b/iso/module.mk
-index ab7542b..755e706 100644
---- a/iso/module.mk
-+++ b/iso/module.mk
-@@ -191,6 +191,7 @@ $(ISO_PATH): $(BUILD_DIR)/iso/isoroot.done
- -V $(ISO_VOLUME_ID) -p $(ISO_VOLUME_PREP) \
- -J -R \
- -graft-points \
-+ -joliet-long \
- -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table \
- -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \
- -eltorito-alt-boot -e images/efiboot.img -no-emul-boot \
diff --git a/build/f_repos/patch/fuel-main/0003-repo-mirror-Allow-multi-arch-local-mirrors.patch b/build/f_repos/patch/fuel-main/0003-repo-mirror-Allow-multi-arch-local-mirrors.patch
deleted file mode 100644
index fb9e86917..000000000
--- a/build/f_repos/patch/fuel-main/0003-repo-mirror-Allow-multi-arch-local-mirrors.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
-Date: Thu, 25 Feb 2016 13:31:19 +0100
-Subject: [PATCH] repo mirror: Allow multi-arch local mirrors
-
-This patch allows specifying multiple architectures via UBUNTU_ARCH in
-form of a list of space separated architectures. The first architecture
-in the list is considered primary and will be used for building all the
-deb packages by fuel-main. Additional architectures are added to allow
-targets of other architectures to use the mirror.
-NOTE: this imposes a requirement that all packages built are arch
-independent (which is true so far).
-
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- config.mk | 2 +-
- mirror/ubuntu/module.mk | 2 +-
- sandbox.mk | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/config.mk b/config.mk
-index e0b988b..593f105 100644
---- a/config.mk
-+++ b/config.mk
-@@ -48,7 +48,7 @@ UBUNTU_MINOR?=04
- UBUNTU_RELEASE_NUMBER:=$(UBUNTU_MAJOR).$(UBUNTU_MINOR)
- UBUNTU_KERNEL_FLAVOR?=lts-xenial
- UBUNTU_NETBOOT_FLAVOR?=netboot
--UBUNTU_ARCH:=amd64
-+UBUNTU_ARCH?=amd64
- UBUNTU_IMAGE_RELEASE:=$(UBUNTU_MAJOR)$(UBUNTU_MINOR)
- SEPARATE_IMAGES?=/boot,ext2 /,ext4
-
-diff --git a/mirror/ubuntu/module.mk b/mirror/ubuntu/module.mk
-index 5b4d762..b4fa99c 100644
---- a/mirror/ubuntu/module.mk
-+++ b/mirror/ubuntu/module.mk
-@@ -33,7 +33,7 @@ set -ex; ./debmirror --progress --checksums --nocleanup \
- --root=$(MIRROR_MOS_UBUNTU_ROOT) \
- --dist=$(MIRROR_MOS_UBUNTU_SUITE)$1 \
- --section=$(subst $(space),$(comma),$(MIRROR_MOS_UBUNTU_SECTION)) \
-- --arch=$(UBUNTU_ARCH) \
-+ --arch=$(shell echo $(UBUNTU_ARCH) | tr ' ' ',') \
- $(LOCAL_MIRROR_UBUNTU)/
- endef
-
-diff --git a/sandbox.mk b/sandbox.mk
-index 9d34dc9..e787f43 100644
---- a/sandbox.mk
-+++ b/sandbox.mk
-@@ -199,7 +199,7 @@ touch $(SANDBOX_UBUNTU)/etc/init.d/.legacy-bootordering
- mkdir -p $(SANDBOX_UBUNTU)/usr/sbin
- cp -a $(BUILD_DIR)/policy-rc.d $(SANDBOX_UBUNTU)/usr/sbin
- echo "Running debootstrap"
--sudo debootstrap --no-check-gpg --include=ca-certificates --arch=$(UBUNTU_ARCH) $(MIRROR_UBUNTU_SUITE) $(SANDBOX_UBUNTU) $(MIRROR_UBUNTU_METHOD)://$(MIRROR_UBUNTU)$(MIRROR_UBUNTU_ROOT)
-+sudo debootstrap --no-check-gpg --include=ca-certificates --arch=$(word 1,$(UBUNTU_ARCH)) $(MIRROR_UBUNTU_SUITE) $(SANDBOX_UBUNTU) $(MIRROR_UBUNTU_METHOD)://$(MIRROR_UBUNTU)$(MIRROR_UBUNTU_ROOT)
- if [ -e $(SANDBOX_UBUNTU)/etc/resolv.conf ]; then sudo cp -a $(SANDBOX_UBUNTU)/etc/resolv.conf $(SANDBOX_UBUNTU)/etc/resolv.conf.orig; fi
- sudo cp /etc/resolv.conf $(SANDBOX_UBUNTU)/etc/resolv.conf
- if [ -e $(SANDBOX_UBUNTU)/etc/hosts ]; then sudo cp -a $(SANDBOX_UBUNTU)/etc/hosts $(SANDBOX_UBUNTU)/etc/hosts.orig; fi
diff --git a/build/f_repos/patch/fuel-menu/0001-settings-OPNFV-bootstrap-Default-to-local-mirror.patch b/build/f_repos/patch/fuel-menu/0001-settings-OPNFV-bootstrap-Default-to-local-mirror.patch
deleted file mode 100644
index 456eea7b9..000000000
--- a/build/f_repos/patch/fuel-menu/0001-settings-OPNFV-bootstrap-Default-to-local-mirror.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Sun, 9 Apr 2017 13:49:28 +0200
-Subject: [PATCH] settings: OPNFV bootstrap: Default to local mirror
-
-JIRA: https://jira.opnfv.org/browse/FUEL-266
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- fuelmenu/settings.yaml | 36 +++---------------------------------
- 1 file changed, 3 insertions(+), 33 deletions(-)
-
-diff --git a/fuelmenu/settings.yaml b/fuelmenu/settings.yaml
-index e93309a..aaf07cd 100644
---- a/fuelmenu/settings.yaml
-+++ b/fuelmenu/settings.yaml
-@@ -13,47 +13,17 @@ BOOTSTRAP:
- http_proxy: ""
- https_proxy: ""
- repos:
-- - name: "ubuntu"
-- section: "main universe multiverse"
-- uri: "http://archive.ubuntu.com/ubuntu"
-+ - name: "ubuntu-local"
-+ section: "main"
-+ uri: "http://127.0.0.1:8080/mirrors/ubuntu"
- priority: null
- suite: "${codename}"
- type: "deb"
-- - name: "ubuntu-updates"
-- section: "main universe multiverse"
-- uri: "http://archive.ubuntu.com/ubuntu"
-- priority: null
-- suite: "${codename}-updates"
-- type: "deb"
-- - name: "ubuntu-security"
-- section: "main universe multiverse"
-- uri: "http://archive.ubuntu.com/ubuntu"
-- priority: null
-- suite: "${codename}-security"
-- type: "deb"
- - name: "mos"
- section: "main restricted"
- uri: "http://127.0.0.1:8080/ubuntu/x86_64"
- priority: 1050
- suite: "mos${mos_version}"
- type: "deb"
-- - name: "mos-updates"
-- section: "main restricted"
-- uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/${mos_version}"
-- priority: 1050
-- suite: "mos${mos_version}-updates"
-- type: "deb"
-- - name: "mos-security"
-- section: "main restricted"
-- uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/${mos_version}"
-- priority: 1050
-- suite: "mos${mos_version}-security"
-- type: "deb"
-- - name: "mos-holdback"
-- section: "main restricted"
-- uri: "http://mirror.fuel-infra.org/mos-repos/ubuntu/${mos_version}"
-- priority: 1100
-- suite: "mos${mos_version}-holdback"
-- type: "deb"
- PRODUCTION: docker
- FEATURE_GROUPS: []