summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch58
-rw-r--r--patches/opnfv-fuel/0036-repo-mirror-Allow-multi-arch-local-mirrors.patch136
-rw-r--r--patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch9
-rw-r--r--patches/opnfv-fuel/0045-build-cache-Consider-UBUNTU_ARCH-in-.cacheid.patch144
-rw-r--r--patches/opnfv-fuel/0050-build-Move-patches-to-patch-repos-dir.patch142
-rw-r--r--patches/opnfv-fuel/0055-build-docker-Use-host-s-network-stack.patch26
m---------upstream/fuel0
7 files changed, 158 insertions, 357 deletions
diff --git a/patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch b/patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch
deleted file mode 100644
index e7867d48..00000000
--- a/patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Mon, 18 Jul 2016 17:42:48 +0200
-Subject: [PATCH] deploy: Delete old Fuel env if present
-
-In order to clean up old partitioning and boot entries on target
-nodes, before removing the Fuel Master, try ssh-ing into it and
-removing all environments/nodes.
-
-This is especially important for EFI systems, where old boot
-entries are left behind without a proper env delete, leading to
-target nodes failing to PXE boot on Fuel Master re-install.
-
-This change assumes that:
-- all Fuel Master information is unchanged between old and new
- deploy (fuel IP, password etc.);
-- Fuel Master is up and running, in a sane state (target nodes
- are also online), when deploy starts;
-
-Closes: ARMBAND-51
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- deploy/deploy.py | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/deploy/deploy.py b/deploy/deploy.py
-index 48a53c3..184510f 100755
---- a/deploy/deploy.py
-+++ b/deploy/deploy.py
-@@ -110,6 +110,20 @@ class AutoDeploy(object):
- self.iso_file = new_iso
- self.install_iso()
-
-+ def delete_old_fuel_env(self):
-+ log('Delete old Fuel Master environments if present')
-+ try:
-+ old_dep = CloudDeploy(self.dea, self.dha, self.fuel_conf['ip'],
-+ self.fuel_username, self.fuel_password,
-+ self.dea_file, self.fuel_plugins_conf_dir,
-+ WORK_DIR, self.no_health_check,
-+ self.deploy_timeout,
-+ self.no_deploy_environment, self.deploy_log)
-+ with old_dep.ssh:
-+ old_dep.check_previous_installation()
-+ except Exception as e:
-+ log('Could not delete old env: %s' % str(e))
-+
- def install_iso(self):
- fuel = InstallFuelMaster(self.dea_file, self.dha_file,
- self.fuel_conf['ip'], self.fuel_username,
-@@ -227,6 +241,7 @@ class AutoDeploy(object):
- def deploy(self):
- self.collect_fuel_info()
- if not self.no_fuel:
-+ self.delete_old_fuel_env()
- self.setup_execution_environment()
- self.create_tmp_dir()
- self.install_fuel_master()
diff --git a/patches/opnfv-fuel/0036-repo-mirror-Allow-multi-arch-local-mirrors.patch b/patches/opnfv-fuel/0036-repo-mirror-Allow-multi-arch-local-mirrors.patch
deleted file mode 100644
index 45ebb4e9..00000000
--- a/patches/opnfv-fuel/0036-repo-mirror-Allow-multi-arch-local-mirrors.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Sat, 18 Jun 2016 19:42:15 +0200
-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).
-
-[ Alexandru Avadanii ]
-Reworked for applying on top of fuel@OPNFV.
-Pass UBUNTU_ARCH to Docker containers.
-
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- build/Makefile | 1 +
- build/docker/Dockerfile | 2 +-
- build/docker/runcontext | 8 ++++-
- build/repo-multi-arch-local-mirrors.patch | 59 +++++++++++++++++++++++++++++++
- 4 files changed, 68 insertions(+), 2 deletions(-)
- create mode 100644 build/repo-multi-arch-local-mirrors.patch
-
-diff --git a/build/Makefile b/build/Makefile
-index 95b1487..829a231 100644
---- a/build/Makefile
-+++ b/build/Makefile
-@@ -135,6 +135,7 @@ $(ISOCACHE):
- cd /tmp/fuel-main && git am $(TOPDIR)/bootstrap_admin_node.sh.patch
- cd /tmp/fuel-main && git am $(TOPDIR)/isolinux.cfg.patch
- cd /tmp/fuel-main/build/repos/fuel-nailgun && git am $(TOPDIR)/Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch
-+ cd /tmp/fuel-main && git am $(TOPDIR)/repo-multi-arch-local-mirrors.patch
- # Repeat build up to three times
- sudo -E ./fuel_build_loop
- cp /tmp/fuel-main/build/artifacts/fuel*.iso .
-diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile
-index 1bb56b7..b38ea4c 100644
---- a/build/docker/Dockerfile
-+++ b/build/docker/Dockerfile
-@@ -30,7 +30,7 @@ RUN echo "Defaults env_keep += \"ftp_proxy http_proxy https_proxy no_proxy RSYNC
- # Keeping PWD is needed to build as root
- RUN echo "Defaults env_keep += \"PWD\"" > /etc/sudoers.d/keep-pwd
- # Keeping variables for ISO build
--RUN echo "Defaults env_keep += \"MIRROR_UBUNTU MIRROR_UBUNTU_ROOT MIRROR_MOS_UBUNTU MIRROR_MOS_UBUNTU_ROOT MIRROR_FUEL LATEST_TARGET_UBUNTU\"" > /etc/sudoers.d/keep-mos
-+RUN echo "Defaults env_keep += \"MIRROR_UBUNTU MIRROR_UBUNTU_ROOT MIRROR_MOS_UBUNTU MIRROR_MOS_UBUNTU_ROOT MIRROR_FUEL LATEST_TARGET_UBUNTU UBUNTU_ARCH\"" > /etc/sudoers.d/keep-mos
- RUN chmod 0440 /etc/sudoers.d/open-sudo
- RUN chmod 0440 /etc/sudoers.d/keep-proxies
- RUN chmod 0440 /etc/sudoers.d/keep-pwd
-diff --git a/build/docker/runcontext b/build/docker/runcontext
-index 9f07776..daad663 100755
---- a/build/docker/runcontext
-+++ b/build/docker/runcontext
-@@ -111,7 +111,13 @@ if [ -n "$CACHEBASE" ]; then
- fi
- fi
-
--RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE -e BUILD_FUEL_PLUGINS -e MIRROR_UBUNTU -e MIRROR_UBUNTU_ROOT -e MIRROR_MOS_UBUNTU -e MIRROR_MOS_UBUNTU_ROOT -e MIRROR_FUEL -e LATEST_TARGET_UBUNTU -u $USER_ID:$GROUP_ID -w $PWD -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"
-+RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm \
-+ -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE \
-+ -e BUILD_FUEL_PLUGINS -e MIRROR_UBUNTU -e MIRROR_UBUNTU_ROOT \
-+ -e MIRROR_MOS_UBUNTU -e MIRROR_MOS_UBUNTU_ROOT -e MIRROR_FUEL \
-+ -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH \
-+ -u $USER_ID:$GROUP_ID -w $PWD \
-+ -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"
-
- # Passing "debug" puts up an interactive bash shell
- if [ "$1" == "debug" ]; then
-diff --git a/build/repo-multi-arch-local-mirrors.patch b/build/repo-multi-arch-local-mirrors.patch
-new file mode 100644
-index 0000000..d404287
---- /dev/null
-+++ b/build/repo-multi-arch-local-mirrors.patch
-@@ -0,0 +1,59 @@
-+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
-+Date: Thu, 25 Feb 2016 13:31:19 +0100
-+Subject: 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>
-+---
-+ mirror/ubuntu/module.mk | 2 +-
-+ sandbox.mk | 2 +-
-+ config.mk | 2 +-
-+ 3 files changed, 3 insertions(+), 3 deletions(-)
-+
-+diff --git a/mirror/ubuntu/module.mk b/mirror/ubuntu/module.mk
-+index 7a9466e..fe1ada2 100644
-+--- a/mirror/ubuntu/module.mk
-++++ b/mirror/ubuntu/module.mk
-+@@ -81,7 +81,7 @@ $(BUILD_DIR)/mirror/ubuntu/mirror.done:
-+ --root=$(MIRROR_MOS_UBUNTU_ROOT) \
-+ --dist=$(MIRROR_MOS_UBUNTU_SUITE) \
-+ --section=$(subst $(space),$(comma),$(MIRROR_MOS_UBUNTU_SECTION)) \
-+- --arch=$(UBUNTU_ARCH) \
-++ --arch=$(shell echo $(UBUNTU_ARCH) | tr ' ' ',') \
-+ $(LOCAL_MIRROR_UBUNTU)/
-+ rm -rf $(LOCAL_MIRROR_UBUNTU)/.temp $(LOCAL_MIRROR_UBUNTU)/project
-+ $(ACTION.TOUCH)
-+diff --git a/sandbox.mk b/sandbox.mk
-+index 4bc3962..5ffddbd 100644
-+--- a/sandbox.mk
-++++ b/sandbox.mk
-+@@ -188,7 +188,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/config.mk b/config.mk
-+index 74ee039..45a3b30 100644
-+--- a/config.mk
-++++ b/config.mk
-+@@ -49,7 +49,7 @@ UBUNTU_MINOR:=04
-+ UBUNTU_RELEASE_NUMBER:=$(UBUNTU_MAJOR).$(UBUNTU_MINOR)
-+ UBUNTU_KERNEL_FLAVOR?=lts-trusty
-+ 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/patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch b/patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch
index f0016892..94b3071e 100644
--- a/patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch
+++ b/patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch
@@ -8,18 +8,19 @@ one minute sleep before checking for completition of fuel install.
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
- deploy/install_fuel_master.py | 1 +
- 1 file changed, 1 insertion(+)
+ deploy/install_fuel_master.py | 2 ++
+ 1 file changed, 2 insertions(+)
diff --git a/deploy/install_fuel_master.py b/deploy/install_fuel_master.py
-index 808d0b1..609a335 100644
+index 808d0b1..404474c 100644
--- a/deploy/install_fuel_master.py
+++ b/deploy/install_fuel_master.py
-@@ -201,6 +201,7 @@ class InstallFuelMaster(object):
+@@ -201,6 +201,8 @@ class InstallFuelMaster(object):
CMD = 'ps -ef | grep %s | grep -v grep' % BOOTSTRAP_ADMIN
install_completed = False
+ time.sleep(60)
++ self.wait_for_node_up()
with self.ssh:
for i in range(WAIT_LOOP):
ret = self.ssh.exec_cmd(CMD)
diff --git a/patches/opnfv-fuel/0045-build-cache-Consider-UBUNTU_ARCH-in-.cacheid.patch b/patches/opnfv-fuel/0045-build-cache-Consider-UBUNTU_ARCH-in-.cacheid.patch
deleted file mode 100644
index 43d5bcc5..00000000
--- a/patches/opnfv-fuel/0045-build-cache-Consider-UBUNTU_ARCH-in-.cacheid.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Wed, 17 Aug 2016 20:36:51 +0200
-Subject: [PATCH] build: cache: Consider UBUNTU_ARCH in .cacheid
-
-Usually UBUNTU_ARCH is not changed inside the same repository,
-but we should consider this case anyway for future merging
-Armband and Fuel@OPNFV repositories/build systems.
-
-This applies to all Fuel plugins and the local repo.
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- build/f_isoroot/f_bgpvpn-pluginbuild/Makefile | 1 +
- build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile | 1 +
- build/f_isoroot/f_kvm-pluginbuild/Makefile | 1 +
- build/f_isoroot/f_odlpluginbuild/Makefile | 1 +
- build/f_isoroot/f_onosfwpluginbuild/Makefile | 1 +
- build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile | 1 +
- build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile | 1 +
- build/f_isoroot/f_repobuild/Makefile | 1 +
- build/f_isoroot/f_vsperfpluginbuild/Makefile | 1 +
- build/f_isoroot/f_yardstick-pluginbuild/Makefile | 1 +
- 10 files changed, 10 insertions(+)
-
-diff --git a/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile b/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile
-index ed3be29..8ce28fc 100644
---- a/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile
-+++ b/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile
-@@ -67,6 +67,7 @@ release:.bgpvpnbuild
- fi
- sha1sum Makefile >> .cachedata
- sha1sum config.mk >> .cachedata
-+ echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
- cat .cachedata | $(CACHETOOL) getid > .cacheid
-
- # Clean local data related to caching - called prior to ordinary build
-diff --git a/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile b/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile
-index 9ab922d..17bc36d 100644
---- a/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile
-+++ b/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile
-@@ -67,6 +67,7 @@ release:.fastpathmetrics
- fi
- @sha1sum Makefile | awk {'print $$1'} >> .cachedata
- @sha1sum config.mk | awk {'print $$1'} >> .cachedata
-+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
- @cat .cachedata | $(CACHETOOL) getid > .cacheid
-
- # Clean local data related to caching - called prior to ordinary build
-diff --git a/build/f_isoroot/f_kvm-pluginbuild/Makefile b/build/f_isoroot/f_kvm-pluginbuild/Makefile
-index ba2fd0b..2454b5e 100644
---- a/build/f_isoroot/f_kvm-pluginbuild/Makefile
-+++ b/build/f_isoroot/f_kvm-pluginbuild/Makefile
-@@ -70,6 +70,7 @@ release:.kvmbuild
- fi
- @sha1sum Makefile | awk {'print $$1'} >> .cachedata
- @sha1sum config.mk | awk {'print $$1'} >> .cachedata
-+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
- @cat .cachedata | $(CACHETOOL) getid > .cacheid
-
- # Clean local data related to caching - called prior to ordinary build
-diff --git a/build/f_isoroot/f_odlpluginbuild/Makefile b/build/f_isoroot/f_odlpluginbuild/Makefile
-index e2cbf7d..6c717c7 100644
---- a/build/f_isoroot/f_odlpluginbuild/Makefile
-+++ b/build/f_isoroot/f_odlpluginbuild/Makefile
-@@ -58,6 +58,7 @@ release:.odlbuild
- fi
- @sha1sum Makefile | awk {'print $$1'} >> .cachedata
- @sha1sum config.mk | awk {'print $$1'} >> .cachedata
-+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
- cat .cachedata | $(CACHETOOL) getid > .cacheid
-
- # Clean local data related to caching - called prior to ordinary build
-diff --git a/build/f_isoroot/f_onosfwpluginbuild/Makefile b/build/f_isoroot/f_onosfwpluginbuild/Makefile
-index a9dcb22..02ba029 100644
---- a/build/f_isoroot/f_onosfwpluginbuild/Makefile
-+++ b/build/f_isoroot/f_onosfwpluginbuild/Makefile
-@@ -66,6 +66,7 @@ release:.onosbuild
- fi
- @sha1sum Makefile | awk {'print $$1'} >> .cachedata
- @sha1sum config.mk | awk {'print $$1'} >> .cachedata
-+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
- @cat .cachedata | $(CACHETOOL) getid > .cacheid
-
- # Clean local data related to caching - called prior to ordinary build
-diff --git a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile
-index ecf586a..2d0d202 100644
---- a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile
-+++ b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile
-@@ -67,6 +67,7 @@ release:.ovsbuild
- fi
- @sha1sum Makefile | awk {'print $$1'} >> .cachedata
- @sha1sum config.mk | awk {'print $$1'} >> .cachedata
-+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
- @cat .cachedata | $(CACHETOOL) getid > .cacheid
-
- # Clean local data related to caching - called prior to ordinary build
-diff --git a/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile b/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile
-index 9e432d1..9455389 100644
---- a/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile
-+++ b/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile
-@@ -67,6 +67,7 @@ release:.ovsnfvbuild
- fi
- @sha1sum Makefile | awk {'print $$1'} >> .cachedata
- @sha1sum config.mk | awk {'print $$1'} >> .cachedata
-+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
- @cat .cachedata | $(CACHETOOL) getid > .cacheid
-
- # Clean local data related to caching - called prior to ordinary build
-diff --git a/build/f_isoroot/f_repobuild/Makefile b/build/f_isoroot/f_repobuild/Makefile
-index 6fef8ff..f6ebc2c 100644
---- a/build/f_isoroot/f_repobuild/Makefile
-+++ b/build/f_isoroot/f_repobuild/Makefile
-@@ -73,6 +73,7 @@ release:nailgun
- sha1sum Makefile >> .cachedata
- sha1sum config.mk >> .cachedata
- $(CACHETOOL) packages >> .cachedata
-+ echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
- cat .cachedata | $(CACHETOOL) getid > .cacheid
-
- # Clean local data related to caching - called prior to ordinary build
-diff --git a/build/f_isoroot/f_vsperfpluginbuild/Makefile b/build/f_isoroot/f_vsperfpluginbuild/Makefile
-index 9bd236a..73de611 100644
---- a/build/f_isoroot/f_vsperfpluginbuild/Makefile
-+++ b/build/f_isoroot/f_vsperfpluginbuild/Makefile
-@@ -68,6 +68,7 @@ release:.vsperfbuild
- fi
- @sha1sum Makefile | awk {'print $$1'} >> .cachedata
- @sha1sum config.mk | awk {'print $$1'} >> .cachedata
-+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
- @cat .cachedata | $(CACHETOOL) getid > .cacheid
-
- # Clean local data related to caching - called prior to ordinary build
-diff --git a/build/f_isoroot/f_yardstick-pluginbuild/Makefile b/build/f_isoroot/f_yardstick-pluginbuild/Makefile
-index 47723d5..32de3b3 100644
---- a/build/f_isoroot/f_yardstick-pluginbuild/Makefile
-+++ b/build/f_isoroot/f_yardstick-pluginbuild/Makefile
-@@ -68,6 +68,7 @@ release:.yardstickbuild
- fi
- @sha1sum Makefile | awk {'print $$1'} >> .cachedata
- @sha1sum config.mk | awk {'print $$1'} >> .cachedata
-+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata
- @cat .cachedata | $(CACHETOOL) getid > .cacheid
-
- # Clean local data related to caching - called prior to ordinary build
diff --git a/patches/opnfv-fuel/0050-build-Move-patches-to-patch-repos-dir.patch b/patches/opnfv-fuel/0050-build-Move-patches-to-patch-repos-dir.patch
new file mode 100644
index 00000000..9874c9c2
--- /dev/null
+++ b/patches/opnfv-fuel/0050-build-Move-patches-to-patch-repos-dir.patch
@@ -0,0 +1,142 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Sat, 27 Aug 2016 17:13:32 +0200
+Subject: [PATCH] build: Move patches to <patch-repos> dir
+
+Decouple main Makefile and repository patches by moving all Fuel
+component patches to a subdir, <patch-repo>.
+
+Proposed structure of <patch-repos> dir:
+- patch-repos/*.patch are intended for <fuel-main> git repo;
+- patch-repos/build/repo/<fuel-module>/*.patch are intended for
+ <fuel-module>, e.g. "fuel-nailgun";
+
+Full list of Fuel submodules supported by this mechanism at [1].
+
+While at it, replace all occurences of </tmp/fuel-main> with
+<FUEL_MAIN_DIR> in main Makefile and rewrite a few git/make calls
+to use the "-C" arg.
+
+NOTE: `git -C` is available starting with git 1.8.5.
+
+[1] https://github.com/openstack/fuel-main/blob/stable/mitaka/repos.mk
+ #L32-L44
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ build/Makefile | 42 ++++++++++++----------
+ .../0010-bootstrap_admin_node.sh.patch} | 0
+ .../0020-isolinux.cfg.patch} | 0
+ .../0030-repo-multi-arch-local-mirrors.patch} | 0
+ ...e-dpkg-checkbuilddeps-with-mk-build-deps.patch} | 0
+ ...tel-82599-10-Gigabit-NIC-as-DPDK-capable.patch} | 0
+ 6 files changed, 24 insertions(+), 18 deletions(-)
+ rename build/{bootstrap_admin_node.sh.patch => patch-repos/0010-bootstrap_admin_node.sh.patch} (100%)
+ rename build/{isolinux.cfg.patch => patch-repos/0020-isolinux.cfg.patch} (100%)
+ rename build/{repo-multi-arch-local-mirrors.patch => patch-repos/0030-repo-multi-arch-local-mirrors.patch} (100%)
+ rename build/{replace-dpkg-checkbuilddeps-with-mk-build-deps.patch => patch-repos/0040-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch} (100%)
+ rename build/{Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch => patch-repos/build/repos/fuel-nailgun/0010-Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch} (100%)
+
+diff --git a/build/Makefile b/build/Makefile
+index 377ecc6..b234924 100644
+--- a/build/Makefile
++++ b/build/Makefile
+@@ -83,6 +83,11 @@ ORIGDIR := $(TOPDIR)/origiso
+ # END of variables to customize
+ #############################################################################
+
++# Fuel-main destination path and fuel-* submodule patching, for full list check:
++# https://github.com/openstack/fuel-main/blob/stable/mitaka/repos.mk#L32-L44
++FUEL_MAIN_DIR := /tmp/fuel-main
++FUEL_PATCHES := $(shell find $(BUILD_BASE)/patch-repos -name '*.patch' | sort)
++
+ SUBCLEAN = $(addsuffix .clean,$(SUBDIRS))
+
+ .PHONY: all
+@@ -108,10 +113,10 @@ include cache.mk
+
+ $(ISOCACHE):
+ # Clone Fuel to non-persistent location and build
+- sudo rm -rf /tmp/fuel-main
+- cd /tmp && git clone $(FUEL_MAIN_REPO)
+- cd /tmp/fuel-main && git checkout $(FUEL_MAIN_TAG)
+- @echo "fuel" `git -C /tmp/fuel-main rev-parse HEAD` >> $(VERSION_FILE)
++ sudo rm -rf $(FUEL_MAIN_DIR)
++ git clone $(FUEL_MAIN_REPO) $(FUEL_MAIN_DIR)
++ git -C $(FUEL_MAIN_DIR) checkout $(FUEL_MAIN_TAG)
++ @echo "fuel" `git -C $(FUEL_MAIN_DIR) rev-parse HEAD` >> $(VERSION_FILE)
+ # Remove Docker optimizations, otherwise multistrap will fail during
+ # Fuel build.
+ sudo rm -f /etc/apt/apt.conf.d/docker*
+@@ -127,25 +132,26 @@ $(ISOCACHE):
+ sudo service docker stop || exit 0
+ sudo service docker start
+
+- cd /tmp/fuel-main && ./prepare-build-env.sh
++ cd $(FUEL_MAIN_DIR) && ./prepare-build-env.sh
+ # Verify that Docker is alive
+ sudo docker info
+- cd /tmp/fuel-main && make repos
+- $(REPOINFO) -r /tmp/fuel-main > gitinfo_fuel.txt
++ # fuel-main Makefiles do not like `make -C`
++ cd $(FUEL_MAIN_DIR) && make repos
++ $(REPOINFO) -r $(FUEL_MAIN_DIR) > gitinfo_fuel.txt
+ @if test -n $(ARMBAND_BASE); then \
+ $(REPOINFO) -r $(ARMBAND_BASE) >> gitinfo_fuel.txt; \
+ fi
+ # OPNFV patches at Fuel build time
+ # Need to be commited in order for them to be considered by the Fuel
+ # build system
+- cd /tmp/fuel-main && git am $(TOPDIR)/bootstrap_admin_node.sh.patch
+- cd /tmp/fuel-main && git am $(TOPDIR)/isolinux.cfg.patch
+- cd /tmp/fuel-main/build/repos/fuel-nailgun && git am $(TOPDIR)/Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch
+- cd /tmp/fuel-main && git am $(TOPDIR)/repo-multi-arch-local-mirrors.patch
+- cd /tmp/fuel-main && git am $(TOPDIR)/replace-dpkg-checkbuilddeps-with-mk-build-deps.patch
++ $(foreach patch,$(FUEL_PATCHES),git \
++ -C $(subst $(BUILD_BASE)/patch-repos,$(FUEL_MAIN_DIR),$(dir $(patch))) \
++ am --whitespace=nowarn --committer-date-is-author-date $(patch) || \
++ (echo 'Error: Failed patching Fuel repos!' ; exit 1);)
++
+ # Repeat build up to three times
+ sudo -E ./fuel_build_loop
+- cp /tmp/fuel-main/build/artifacts/fuel*.iso .
++ cp $(FUEL_MAIN_DIR)/build/artifacts/fuel*.iso .
+ # 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
+@@ -227,11 +233,11 @@ debug:
+ # - The commit ID of the full Fuel repo structre
+ # - The contents of all local Fuel patches
+ .cacheid:
+- cd /tmp && git clone $(FUEL_MAIN_REPO)
+- cd /tmp/fuel-main && git checkout $(FUEL_MAIN_TAG)
+- cd /tmp/fuel-main && make repos
+- $(REPOINFO) -r /tmp/fuel-main > .cachedata
+- sha1sum *.patch >> .cachedata
++ git clone $(FUEL_MAIN_REPO) $(FUEL_MAIN_DIR)
++ git -C $(FUEL_MAIN_DIR) checkout $(FUEL_MAIN_TAG)
++ make -C $(FUEL_MAIN_DIR) repos
++ $(REPOINFO) -r $(FUEL_MAIN_DIR) > .cachedata
++ $(foreach patch,$(FUEL_PATCHES),sha1sum $(patch) >> .cachedata;)
+ sha1sum fuel_build_loop >> .cachedata
+ sha1sum config.mk >> .cachedata
+ @if test -n $(ARMBAND_BASE); then \
+diff --git a/build/bootstrap_admin_node.sh.patch b/build/patch-repos/0010-bootstrap_admin_node.sh.patch
+similarity index 100%
+rename from build/bootstrap_admin_node.sh.patch
+rename to build/patch-repos/0010-bootstrap_admin_node.sh.patch
+diff --git a/build/isolinux.cfg.patch b/build/patch-repos/0020-isolinux.cfg.patch
+similarity index 100%
+rename from build/isolinux.cfg.patch
+rename to build/patch-repos/0020-isolinux.cfg.patch
+diff --git a/build/repo-multi-arch-local-mirrors.patch b/build/patch-repos/0030-repo-multi-arch-local-mirrors.patch
+similarity index 100%
+rename from build/repo-multi-arch-local-mirrors.patch
+rename to build/patch-repos/0030-repo-multi-arch-local-mirrors.patch
+diff --git a/build/replace-dpkg-checkbuilddeps-with-mk-build-deps.patch b/build/patch-repos/0040-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch
+similarity index 100%
+rename from build/replace-dpkg-checkbuilddeps-with-mk-build-deps.patch
+rename to build/patch-repos/0040-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch
+diff --git a/build/Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch b/build/patch-repos/build/repos/fuel-nailgun/0010-Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch
+similarity index 100%
+rename from build/Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch
+rename to build/patch-repos/build/repos/fuel-nailgun/0010-Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch
diff --git a/patches/opnfv-fuel/0055-build-docker-Use-host-s-network-stack.patch b/patches/opnfv-fuel/0055-build-docker-Use-host-s-network-stack.patch
index b64c15b6..d9fd36a0 100644
--- a/patches/opnfv-fuel/0055-build-docker-Use-host-s-network-stack.patch
+++ b/patches/opnfv-fuel/0055-build-docker-Use-host-s-network-stack.patch
@@ -1,14 +1,11 @@
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Mon, 29 Aug 2016 22:58:49 +0200
-Subject: [PATCH] build: docker: Use host's network stack
-
-See [1] for full description.
-This change simplifies the network abstraction during build by
-NOT containerizing the containers' networking.
+Subject: [PATCH] build: docker: Use host's /etc/hosts
The original motivation was pointing to local mirrors via host's
-"/etc/hosts", for which an alternative solution could be passing
-"-v /etc/hosts:/etc/hosts".
+"/etc/hosts", for which an alternative solution tested was
+"--net=host" (see [1] for full description), but lead to wierd
+loss of connectivity after a few builds.
[1] https://docs.docker.com/v1.8/articles/networking/
@@ -21,12 +18,11 @@ diff --git a/build/docker/runcontext b/build/docker/runcontext
index 07b0dc1..b0d6d37 100755
--- a/build/docker/runcontext
+++ b/build/docker/runcontext
-@@ -115,7 +115,7 @@ if [ -n "$CACHEBASE" ]; then
- fi
- fi
-
--RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm \
-+RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm --net=host \
- -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE \
- -e BUILD_FUEL_PLUGINS -e MIRROR_UBUNTU -e MIRROR_UBUNTU_ROOT \
+@@ -121,6 +121,7 @@ RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm --net=host \
-e MIRROR_MOS_UBUNTU -e MIRROR_MOS_UBUNTU_ROOT -e MIRROR_FUEL \
+ -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH -e ARMBAND_BASE -e OPNFV_GIT_SHA \
+ -u $USER_ID:$GROUP_ID -w $PWD \
++ -v /etc/hosts:/etc/hosts \
+ -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"
+
+ # Passing "debug" puts up an interactive bash shell
diff --git a/upstream/fuel b/upstream/fuel
-Subproject a0f0fb312899a44e80ec0339a44497b6e1c94bf
+Subproject 6222031ed4e195fee85d6e3bdb5f34845fa061e