aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--.gitmodules28
-rw-r--r--Makefile168
-rw-r--r--README.md39
-rw-r--r--armband-fuel-config.mk47
-rwxr-xr-xci/build.sh2
-rwxr-xr-xci/deploy.sh2
-rw-r--r--patches/fuel-agent/cross-bootstrap/0001-Use-qemu-debootstrap-for-image-creation.patch (renamed from patches/fuel-agent/0001-Use-qemu-debootstrap-for-image-creation.patch)57
-rw-r--r--patches/fuel-agent/cross-bootstrap/0002-Add-FLASH_KERNEL_SKIP-true.patch (renamed from patches/fuel-agent/0002-Add-FLASH_KERNEL_SKIP-true.patch)8
-rw-r--r--patches/fuel-agent/cross-bootstrap/0003-Fix-qemu-user-static-replacement.patch (renamed from patches/fuel-agent/0003-Fix-qemu-user-static-replacement.patch)16
-rw-r--r--patches/fuel-agent/cross-bootstrap/0004-Prevent-common-cross-debootstrap-newaliases-issue.patch (renamed from patches/fuel-agent/0004-Prevent-common-cross-debootstrap-newaliases-issue.patch)23
-rw-r--r--patches/fuel-agent/cross-bootstrap/0005-FIXME-Add-force-yes-to-apt-get-dist-upgrade.patch (renamed from patches/fuel-agent/0009-FIXME-Add-force-yes-to-apt-get-dist-upgrade.patch)4
-rw-r--r--patches/fuel-agent/cross-bootstrap/0006-UX-Update-bootstrap-target-build-time-estimate.patch (renamed from patches/fuel-agent/0010-UX-Update-bootstrap-target-build-time-estimate.patch)6
-rw-r--r--patches/fuel-agent/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch (renamed from patches/fuel-agent/0011-kernel-flavor-linux-image-generic-lts-xenial.patch)4
-rw-r--r--patches/fuel-agent/multiarch-efi/0001-Add-esp-partition-flag.patch (renamed from patches/fuel-agent/0005-Add-esp-partition-flag.patch)14
-rw-r--r--patches/fuel-agent/multiarch-efi/0002-Add-fs-for-efi-partition.patch (renamed from patches/fuel-agent/0007-Add-fs-for-efi-partition.patch)16
-rw-r--r--patches/fuel-astute/multiarch-efi/0001-Erase-EFI-boot-entry-on-EFI-systems.patch (renamed from patches/fuel-astute/0001-Erase-EFI-boot-entry-on-EFI-systems.patch)2
-rw-r--r--patches/fuel-library/0001-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch (renamed from patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch)14
-rw-r--r--patches/fuel-library/0002-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch (renamed from patches/fuel-library/0012-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch)7
-rw-r--r--patches/fuel-library/0003-compute-Fix-virtlogd-not-started-after-install.patch (renamed from patches/fuel-library/0016-compute-Fix-virtlogd-not-started-after-install.patch)6
-rw-r--r--patches/fuel-library/arm64-bug-fixes/0001-nova-config-Disable-usb-tablet-for-aarch64.patch (renamed from patches/fuel-library/0005-Disable-usb-tablet-for-aarch64.patch)13
-rw-r--r--patches/fuel-library/arm64-bug-fixes/0002-Install-vgabios-and-link-for-aarch64.patch (renamed from patches/fuel-library/0007-Install-vgabios-and-link-for-aarch64.patch)15
-rw-r--r--patches/fuel-library/arm64-bug-fixes/0003-nova-Update-vga-console-defaults-for-armv7-aarch64.patch (renamed from patches/fuel-library/0008-nova-Update-vga-console-defaults-for-armv7-aarch64.patch)38
-rw-r--r--patches/fuel-library/arm64-bug-fixes/0004-nova-AArch64-enable-hugepage-support.patch (renamed from patches/fuel-library/0009-nova-AArch64-enable-hugepage-support.patch)14
-rw-r--r--patches/fuel-library/direct-kernel-boot/0001-upload_cirros-Add-direct-kernel-boot-support.patch (renamed from patches/fuel-library/0006-upload_cirros-Add-direct-kernel-boot-support.patch)25
-rw-r--r--patches/fuel-library/direct-kernel-boot/0002-nova-Fix-inject-for-direct-boot-with-part-table.patch (renamed from patches/fuel-library/0010-nova-Fix-inject-for-direct-boot-with-part-table.patch)14
-rw-r--r--patches/fuel-library/multiarch-efi/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch (renamed from patches/fuel-library/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch)26
-rw-r--r--patches/fuel-library/multiarch-efi/0002-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch (renamed from patches/fuel-library/0014-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch)0
-rw-r--r--patches/fuel-library/multiarch-fuel/0001-Make-qemu-kvm-architecture-aware.patch (renamed from patches/fuel-library/0003-Make-qemu-kvm-architecture-aware.patch)10
-rw-r--r--patches/fuel-library/multiarch-fuel/0002-Make-TestVM-creation-architecture-aware.patch (renamed from patches/fuel-library/0004-Make-TestVM-creation-architecture-aware.patch)13
-rw-r--r--patches/fuel-library/multiarch-mirrors/0001-Add-arm64-for-auxiliary-repos.patch (renamed from patches/fuel-library/0002-Add-arm64-for-auxiliary-repos.patch)8
-rw-r--r--patches/fuel-library/mysql-sst-provider/0001-Allow-configuring-MySQL-WSREP-SST-provider.patch (renamed from patches/fuel-library/0013-Allow-configuring-MySQL-WSREP-SST-provider.patch)22
-rw-r--r--patches/fuel-library/upstream-backports/0001-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespac.patch (renamed from patches/fuel-library/0015-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespace.patch)14
-rw-r--r--patches/fuel-library/upstream-backports/0002-Always-wait-for-MySQL-sync-on-service-refresh.patch (renamed from patches/fuel-library/0017-Always-wait-for-MySQL-sync-on-service-refresh.patch)20
-rw-r--r--patches/fuel-library/upstream-backports/0003-Fix-MySQL-logging-dir-permissions-for-syslog.patch (renamed from patches/fuel-library/0018-Fix-MySQL-logging-dir-permissions-for-syslog.patch)10
-rw-r--r--patches/fuel-mirror/0001-Set-mos-ubuntu-base-URL-to-linux.enea.com.patch4
-rw-r--r--patches/fuel-mirror/kernel-bump/0001-kernel-flavor-Add-linux-image-generic-lts-xenial.patch (renamed from patches/fuel-mirror/0003-kernel-flavor-Add-linux-image-generic-lts-xenial.patch)8
-rw-r--r--patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch16
-rw-r--r--patches/fuel-plugin-opendaylight/0002-opnfv-quagga-Build-for-UBUNTU_ARCH.patch16
-rw-r--r--patches/fuel-plugin-opendaylight/0003-FIXME-ODL-wget-no-check-certificate-for-cache.patch8
-rw-r--r--patches/fuel-plugin-ovs/0001-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch (renamed from patches/fuel-plugin-ovs/0002-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch)8
-rw-r--r--patches/fuel-plugin-ovs/0002-Cleanup-Drop-git-dependency.patch (renamed from patches/fuel-plugin-ovs/0003-Cleanup-Drop-git-dependency.patch)30
-rw-r--r--patches/fuel-plugin-ovs/0003-build-apt-force-yes.patch (renamed from patches/fuel-plugin-ovs/0004-build-apt-force-yes.patch)28
-rw-r--r--patches/fuel-plugin-ovs/0004-pre_build_hook-Introduce-USE_DOCKER-option.patch (renamed from patches/fuel-plugin-ovs/0005-pre_build_hook-Introduce-USE_DOCKER-option.patch)12
-rw-r--r--patches/fuel-plugin-ovs/0005-build-install-pre_build_hook-Prepare-multiarch.patch (renamed from patches/fuel-plugin-ovs/0006-build-install-pre_build_hook-Prepare-multiarch.patch)50
-rw-r--r--patches/fuel-plugin-ovs/0006-AArch64-Add-native-build-support.patch (renamed from patches/fuel-plugin-ovs/0007-AArch64-Add-native-build-support.patch)20
-rw-r--r--patches/fuel-plugin-ovs/0007-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch (renamed from patches/fuel-plugin-ovs/0008-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch)16
-rw-r--r--patches/fuel-plugin-ovs/0008-build-docker-Use-host-s-network-stack.patch (renamed from patches/fuel-plugin-ovs/0009-build-docker-Use-host-s-network-stack.patch)0
-rw-r--r--patches/fuel-plugin-ovs/0009-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch (renamed from patches/fuel-plugin-ovs/0010-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch)6
-rw-r--r--patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch4
-rw-r--r--patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch76
l---------patches/fuel-web/cross-bootstrap/0000-Add-arch-to-nailgun-release-and-target-image.patch1
l---------patches/fuel-web/direct-kernel-boot/0000-Add-arch-to-nailgun-release-and-target-image.patch1
-rw-r--r--patches/fuel-web/direct-kernel-boot/0001-direct-kernel-boot-for-cirros.patch (renamed from patches/fuel-web/0004-direct-kernel-boot-for-cirros.patch)32
-rw-r--r--patches/fuel-web/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch (renamed from patches/fuel-web/0007-kernel-flavor-linux-image-generic-lts-xenial.patch)6
l---------patches/fuel-web/multiarch-fuel/0000-Add-arch-to-nailgun-release-and-target-image.patch1
l---------patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch1
-rw-r--r--patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch (renamed from patches/fuel-web/0005-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch)6
-rw-r--r--patches/fuel-web/mysql-sst-provider/0001-Add-configuration-item-for-WSREP-SST-provider.patch (renamed from patches/fuel-web/0006-Add-configuration-item-for-WSREP-SST-provider.patch)8
-rw-r--r--patches/opnfv-fuel/0000-build-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch (renamed from patches/opnfv-fuel/0046-build-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch)46
-rw-r--r--patches/opnfv-fuel/0001-build-Add-ARMBAND_BASE-support.patch70
-rw-r--r--patches/opnfv-fuel/0002-Fuel-VM-for-the-Enea-Armband-lab.patch (renamed from patches/opnfv-fuel/0004-Fuel-VM-for-the-Enea-Armband-lab.patch)4
-rw-r--r--patches/opnfv-fuel/0003-dea_base-replace-grub-pc-by-grub-efi-arm64.patch (renamed from patches/opnfv-fuel/0009-dea_base-replace-grub-pc-by-grub-efi-arm64.patch)8
-rw-r--r--patches/opnfv-fuel/0004-post-scripts-Allow-SSH-on-non-admin-ifaces.patch (renamed from patches/opnfv-fuel/0010-post-scripts-Allow-SSH-on-non-admin-ifaces.patch)0
-rw-r--r--patches/opnfv-fuel/0005-deploy.py-add-a-time-stamp-to-the-new-ISO-image.patch (renamed from patches/opnfv-fuel/0030-deploy.py-add-a-time-stamp-to-the-new-ISO-image.patch)2
-rw-r--r--patches/opnfv-fuel/0006-build-docker-Use-host-s-network-stack.patch (renamed from patches/opnfv-fuel/0055-build-docker-Use-host-s-network-stack.patch)2
-rw-r--r--patches/opnfv-fuel/0006-deploy.sh-no-need-to-set-umask-0000.patch38
-rw-r--r--patches/opnfv-fuel/0007-deploy-Fix-add-bootstrap-DEA-override-delay.patch (renamed from patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch)6
-rw-r--r--patches/opnfv-fuel/0015-build-Makefile-Overrideable-product-commit-hash.patch35
-rw-r--r--patches/opnfv-fuel/0043-build-Add-armband.mk-config.patch143
-rw-r--r--patches/opnfv-fuel/arm64-bug-fixes/0001-bootstrap-Add-lshw-package.patch (renamed from patches/opnfv-fuel/0028-bootstrap-Add-lshw-package.patch)5
-rw-r--r--patches/opnfv-fuel/arm64-bug-fixes/0002-net-check-add-support-for-faulty-operstate.patch (renamed from patches/opnfv-fuel/0054-net-check-add-support-for-faulty-operstate.patch)8
-rw-r--r--patches/opnfv-fuel/cross-bootstrap/0001-UX-Update-bootstrap-target-build-time-estimate.patch (renamed from patches/opnfv-fuel/0027-UX-Update-bootstrap-target-build-time-estimate.patch)15
-rw-r--r--patches/opnfv-fuel/cross-bootstrap/0002-Build-bootstrap-image-for-arm64.patch (renamed from patches/opnfv-fuel/0021-Build-bootstrap-image-for-arm64.patch)18
-rw-r--r--patches/opnfv-fuel/cross-bootstrap/0003-bootstrap-Use-public-Ubuntu-ports-mirrors.patch (renamed from patches/opnfv-fuel/0022-bootstrap-Use-public-Ubuntu-ports-mirrors.patch)8
-rw-r--r--patches/opnfv-fuel/cross-bootstrap/0004-post-scripts-Enable-systemd-binfmt-for-first-boot.patch (renamed from patches/opnfv-fuel/0031-post-scripts-Enable-systemd-binfmt-for-first-boot.patch)53
-rw-r--r--patches/opnfv-fuel/cross-bootstrap/0005-mcagent-Increase-max-shell-command-timeout-to-2h.patch (renamed from patches/opnfv-fuel/0032-mcagent-Increase-max-shell-command-timeout-to-2h.patch)6
-rw-r--r--patches/opnfv-fuel/cross-bootstrap/0006-bootstrap-Use-gzip-instead-of-xz-compression.patch (renamed from patches/opnfv-fuel/0033-bootstrap-Use-gzip-instead-of-xz-compression.patch)6
-rw-r--r--patches/opnfv-fuel/cross-bootstrap/0007-Nailgun-Increase-target-image-build-timeout.patch (renamed from patches/opnfv-fuel/0034-Nailgun-Increase-target-image-build-timeout.patch)6
-rw-r--r--patches/opnfv-fuel/cross-bootstrap/0008-m1.micro-Increase-profile-RAM-size-to-128MB.patch (renamed from patches/opnfv-fuel/0035-m1.micro-Increase-profile-RAM-size-to-128MB.patch)4
-rw-r--r--patches/opnfv-fuel/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch (renamed from patches/opnfv-fuel/0001-kernel-flavor-linux-image-generic-lts-xenial.patch)19
-rw-r--r--patches/opnfv-fuel/multiarch-efi/0001-FIXME-deploy-EFI-Skip-re-ordering-boot-via-IPMI.patch (renamed from patches/opnfv-fuel/0002-FIXME-deploy-EFI-Skip-re-ordering-boot-via-IPMI.patch)4
-rw-r--r--patches/opnfv-fuel/multiarch-mirrors/0001-Add-arm64-deb-repositories-setup.patch (renamed from patches/opnfv-fuel/0020-Add-arm64-deb-repositories-setup.patch)28
-rw-r--r--patches/opnfv-fuel/multiarch-plugins/0001-fpb-Support-multiple-versions-of-packages.patch (renamed from patches/opnfv-fuel/0048-fpb-Support-multiple-versions-of-packages.patch)10
-rw-r--r--patches/opnfv-fuel/upstream-backports/0001-deploy.sh-Remove-check-for-root-rm-umask-0000.patch (renamed from patches/opnfv-fuel/0007-Remove-check-for-root.patch)71
-rw-r--r--patches/opnfv-fuel/upstream-backports/0002-Backport-dpkg-checkbuilddeps-to-mk-build-deps.patch (renamed from patches/opnfv-fuel/0040-Backport-dpkg-checkbuilddeps-to-mk-build-deps.patch)10
-rw-r--r--patches/vswitchperf/0001-ci-build-vsperf-make-qemu-system-name-arch-indep.patch6
-rw-r--r--patches/vswitchperf/0002-s-u-build_base_machine-Arch-indep-libdir-s.patch12
m---------upstream/fuel-agent0
m---------upstream/fuel-astute0
m---------upstream/fuel-library0
m---------upstream/fuel-mirror0
m---------upstream/fuel-nailgun-agent0
m---------upstream/fuel-web0
94 files changed, 868 insertions, 839 deletions
diff --git a/.gitignore b/.gitignore
index b33bf70..c01c608 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.submodules*
build.log
config.mk
ci/clean_cache.sh
diff --git a/.gitmodules b/.gitmodules
index 1fffefb..f37e0c9 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -2,39 +2,19 @@
path = upstream/fuel
url = https://gerrit.opnfv.org/gerrit/fuel
branch = master
-[submodule "fuel-library"]
- path = upstream/fuel-library
- url = https://github.com/openstack/fuel-library.git
- branch = stable/mitaka
-[submodule "fuel-web"]
- path = upstream/fuel-web
- url = https://github.com/openstack/fuel-web.git
- branch = stable/mitaka
-[submodule "fuel-agent"]
- path = upstream/fuel-agent
- url = https://github.com/openstack/fuel-agent.git
- branch = stable/mitaka
-[submodule "fuel-mirror"]
- path = upstream/fuel-mirror
- url = https://github.com/openstack/fuel-mirror.git
- branch = stable/mitaka
+ ignore = all
[submodule "fuel-plugin-opendaylight"]
path = upstream/fuel-plugin-opendaylight
url = https://github.com/openstack/fuel-plugin-opendaylight.git
branch = master
-[submodule "fuel-nailgun-agent"]
- path = upstream/fuel-nailgun-agent
- url = https://github.com/openstack/fuel-nailgun-agent
- branch = stable/mitaka
+ ignore = all
[submodule "fuel-plugin-ovs"]
path = upstream/fuel-plugin-ovs
url = https://github.com/openstack/fuel-plugin-ovs
branch = master
+ ignore = all
[submodule "vswitchperf"]
path = upstream/vswitchperf
url = https://gerrit.opnfv.org/gerrit/vswitchperf.git
branch = master
-[submodule "fuel-astute"]
- path = upstream/fuel-astute
- url = https://github.com/openstack/fuel-astute.git
- branch = stable/mitaka
+ ignore = all
diff --git a/Makefile b/Makefile
index d3bc979..8300711 100644
--- a/Makefile
+++ b/Makefile
@@ -8,108 +8,152 @@
##############################################################################
# NOTE: Armband patching consists of:
-# - clone upstream repositories to git submodules;
-# - checkout submodule commits where set in Fuel@OPNFV's config.mk
-# (e.g. FUEL_ASTUTE_COMMIT=...);
-# - tag each submodule (before patching) with "armband-workbench-root";
+# - clone upstream repositories to git submodules, tracking remotes;
+# - tag each submodule (before patching) with "${A_OPNFV_TAG}-root";
# - apply Armband patches for each submodule;
-# - tag each submodule (after patching) with "armband-workbench";
+# - tag each submodule (after patching) with "${OPNFV_TAG}";
+# - stage Fuel submodule patches by copying them to Fuel f_repos/patch dir;
# - pass updated repository info to Fuel@OPNFV build system
-# (e.g. FUEL_ASTUTE_COMMIT=HEAD) via armband.mk;
+# (e.g. FUEL_PLUGIN_ODL_CHANGE="${OPNFV_TAG}") via armband-fuel-config.mk;
# NOTE: Long-term goals (Armband repo should merge with Fuel@OPNFV):
# - all build related changes should affect Fuel@OPNFV, NOT Armband;
-# - Armband make/build system should only handle patching,
-# including eventual build related patching of Fuel@OPNFV,
-# and then invoke Fuel@OPNFV's build system;
+# - Armband make/build system should only handle patching non-Fuel submodules,
+# and then invoke Fuel@OPNFV's patch & build system;
# - Fuel@OPNFV is made aware of an Armband type build by passing
# the "ARMBAND_BASE" env var;
-# Fist, inherit Fuel submodule commit references from Fuel@OPNFV
-# using "config.mk" as a make target that links to Fuel's config.mk.
-# Some values will be overriden at Fuel ISO build time by armband.mk.
-include config.mk
-
export ARMBAND_BASE := $(shell pwd)
export OPNFV_GIT_SHA := $(shell git rev-parse HEAD)
export REVSTATE
-# Prepare for future directory re-layout when merging with Fuel@OPNFV
-PATCH_DIR := ${ARMBAND_BASE}/patches
-SUBMOD_DIR := ${ARMBAND_BASE}/upstream
-FUEL_BASE := ${SUBMOD_DIR}/fuel
+include armband-fuel-config.mk
all: release
-# Use config.mk & clean_cache.sh from Fuel@OPNFV
-config.mk: submodules-init
- @ln -sf ${FUEL_BASE}/build/config.mk ${ARMBAND_BASE}/config.mk
- @ln -sf ${FUEL_BASE}/ci/clean_cache.sh ${ARMBAND_BASE}/ci/clean_cache.sh
-
# Fetch & update git submodules, checkout remote HEAD
.PHONY: submodules-init
-submodules-init:
- @if [ ! -d ${FUEL_BASE}/build ]; then \
- git submodule -q init; \
- git submodule -q sync; \
- git submodule update --remote; \
+submodules-init: .submodules-init
+
+.submodules-init:
+ @if [ -n "${ARMBAND_TRACK_REMOTES}" ]; then \
+ git submodule update --init --remote 2>/dev/null; \
+ else \
+ git submodule update --init 2>/dev/null; \
fi
+ @ln -sf ${A_FUEL_BASE}/ci/clean_cache.sh ${ARMBAND_BASE}/ci/clean_cache.sh
+ @touch $@
# Clean any changes made to submodules, checkout Armband root commit
.PHONY: submodules-clean
-submodules-clean: submodules-init
+submodules-clean: .submodules-init
+ @test ! -d ${F_REPOS_DIR} || $(MAKE) fuel-patches-clean
@git submodule -q foreach ' \
git am -q --abort 2>/dev/null; \
- git checkout -q armband-workbench-root 2>/dev/null; \
- git branch -q -D armband-workbench 2>/dev/null; \
- git tag -d armband-workbench-root 2>/dev/null; \
+ git checkout -q -f ${A_OPNFV_TAG}-root 2>/dev/null; \
+ git branch -q -D opnfv-armband 2>/dev/null; \
+ git tag | grep ${A_OPNFV_TAG} | xargs git tag -d > /dev/null 2>&1; \
git reset -q --hard HEAD; \
git clean -xdff'
+ @rm -f .submodules-patched
# Generate patches from submodules
.PHONY: patches-export
-patches-export: submodules-init
+patches-export: .submodules-init
@git submodule -q foreach ' \
- mkdir -p ${PATCH_DIR}/$$name; \
- git format-patch --no-signature \
- -o ${PATCH_DIR}/$$name -N armband-workbench-root'
- @find ${PATCH_DIR} -name '*.patch' -exec sed -i -e '1d' {} \;
+ SUB_DIR=${A_PATCH_DIR}/$$name; \
+ git tag | awk "!/root/ && /${A_OPNFV_TAG}-fuel/" | while read A_TAG; do \
+ SUB_FEATURE=`dirname $${A_TAG#${A_OPNFV_TAG}-fuel/}`; \
+ echo "`tput setaf 2`== exporting $$name ($$A_TAG)`tput sgr0`"; \
+ mkdir -p $$SUB_DIR/$${SUB_FEATURE} && \
+ git format-patch --no-signature --ignore-space-at-eol \
+ -o $$SUB_DIR/$$SUB_FEATURE -N $$A_TAG-root..$$A_TAG; \
+ sed -i -e "1{/From: /!d}" -e "s/[[:space:]]*$$//" \
+ $$SUB_DIR/$$SUB_FEATURE/*.patch; \
+ done'
# Apply patches from patches/* to respective submodules
-# For repos pinned in Fuel@OPNFV's config.mk, checkout pinned commit first
.PHONY: patches-import
-patches-import: submodules-init
- @cd ${SUBMOD_DIR}/fuel-agent && git checkout -q ${FUEL_AGENT_COMMIT}
- @cd ${SUBMOD_DIR}/fuel-astute && git checkout -q ${ASTUTE_COMMIT}
- @cd ${SUBMOD_DIR}/fuel-library && git checkout -q ${FUELLIB_COMMIT}
- @cd ${SUBMOD_DIR}/fuel-mirror && git checkout -q ${FUEL_MIRROR_COMMIT}
- @cd ${SUBMOD_DIR}/fuel-nailgun-agent && \
- git checkout -q ${FUEL_NAILGUN_AGENT_COMMIT}
- @cd ${SUBMOD_DIR}/fuel-web && git checkout -q ${NAILGUN_COMMIT}
+patches-import: .submodules-init .submodules-patched
+
+.submodules-patched: ${A_PATCHES}
+ @$(MAKE) submodules-clean
@git submodule -q foreach ' \
- mkdir -p ${PATCH_DIR}/$$name; \
- git tag armband-workbench-root; \
- git checkout -q -b armband-workbench; \
- if [ ! -z "$$(ls ${PATCH_DIR}/$$name/)" ]; then \
- echo "-- patching $$name"; \
- git am --whitespace=nowarn \
- --committer-date-is-author-date \
- ${PATCH_DIR}/$$name/*.patch; \
- fi'
+ SUB_DIR=${A_PATCH_DIR}/$$name; mkdir -p $$SUB_DIR && \
+ git tag ${A_OPNFV_TAG}-root && \
+ git checkout -q -b opnfv-armband && \
+ 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=${A_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 \
+ --committer-date-is-author-date $$SUB_PATCHES && \
+ git tag $$SUB_TAG || exit 1; \
+ fi \
+ done && \
+ git tag ${A_OPNFV_TAG}'
+ # Staging Fuel@OPNFV patches
+ @ls -d ${F_SUB_DIR}/* 2>/dev/null | while read p_sub_path; do \
+ SUB_NAME=`basename $$p_sub_path`; \
+ find ${A_PATCH_DIR}/$$SUB_NAME -name '*.patch' 2>/dev/null -exec sh -c '\
+ A_PATCH={}; R_PATCH=$${A_PATCH#${A_PATCH_DIR}/}; \
+ F_PATCH=${F_PATCH_DIR}/$${0}/armband/$${R_PATCH#$${0}/}; \
+ if [ -f $$F_PATCH ]; then \
+ echo "`tput setaf 3`* WARN: $$R_PATCH upstream.`tput sgr0`"; \
+ else \
+ if [ -h $$A_PATCH ]; then \
+ echo "`tput setaf 3`* PHONY: $$R_PATCH`tput sgr0`"; \
+ else \
+ echo "`tput setaf 6`* Staging $$R_PATCH`tput sgr0`"; \
+ mkdir -p `dirname $$F_PATCH` && cp $$A_PATCH $$F_PATCH; \
+ fi; \
+ fi' "$$SUB_NAME" \; || true ; \
+ done
+ @touch $@
# Pass down clean/deepclean/build to Fuel@OPNFV
.PHONY: clean
-clean: submodules-init
- $(MAKE) -e --no-print-directory -C ${FUEL_BASE}/build clean
+clean: .submodules-init
+ $(MAKE) -e --no-print-directory -C ${F_BUILD_DIR} clean
.PHONY: deepclean
-deepclean: submodules-init
- $(MAKE) -e --no-print-directory -C ${FUEL_BASE}/build deepclean
+deepclean: clean
+ $(MAKE) -e --no-print-directory -C ${F_BUILD_DIR} deepclean
+ @git submodule deinit -f .
+ @rm -f .submodules*
.PHONY: build
-build:
- $(MAKE) -e --no-print-directory -C ${FUEL_BASE}/build all
+build: patches-import
+ $(MAKE) -e --no-print-directory -C ${F_BUILD_DIR} all
.PHONY: release
release: export LC_ALL=en_US.UTF-8
-release: submodules-clean patches-import build
+release: build
+
+##############################################################################
+# Fuel@OPNFV patch operations - to be used only during development
+##############################################################################
+
+# Apply all Fuel@OPNFV patches, including Armband patches
+.PHONY: fuel-patches-import
+fuel-patches-import: .submodules-patched fuel-patches-clean
+ $(MAKE) -e -C ${F_REPOS_DIR} patches-import
+
+# Export Fuel@OPNFV patches, including Armband patches
+.PHONY: fuel-patches-export
+fuel-patches-export: .submodules-patched
+ $(MAKE) -e -C ${F_REPOS_DIR} patches-export
+ @ls -d ${F_PATCH_DIR}/* 2>/dev/null | while read p_sub_path; do \
+ SUB_NAME=`basename $$p_sub_path`; \
+ if [ -d $$p_sub_path/armband ]; then \
+ echo "`tput setaf 6`* Pulling $$SUB_NAME patches.`tput sgr0`"; \
+ cp -R $$p_sub_path/armband/* ${A_PATCH_DIR}/$$SUB_NAME && \
+ rm -rf $$p_sub_path/armband; \
+ fi \
+ done
+
+.PHONY: fuel-patches-clean
+fuel-patches-clean:
+ $(MAKE) -e -C ${F_REPOS_DIR} clean
diff --git a/README.md b/README.md
index 05563ee..fd360ea 100644
--- a/README.md
+++ b/README.md
@@ -17,30 +17,26 @@ The standard workflow should look as follows:
$ make patches-import
This will result in creation of:
- - a tag called `armband-workbench-root` at the same commit as Fuel@OPNFV
- hard sets in `build/config.mk` (inside fuel submodule);
- - a new branch `armband-workbench` which will hold all the armband work.
+ - a tag called `${A_OPNFV_TAG}-root` at submodule remote branch HEAD;
+ - a new branch `opnfv-armband` which will hold all the armband work.
Then each patch is applied on this new branch with `git-am`.
+ The new HEAD is tagged with `${A_OPNFV_TAG}`.
4. Modify sub-projects for whatever you need.
Commit your changes when you want them taken into account in the build.
+ NOTE: If you want to re-export patches, make sure to move the tag
+ `${A_OPNFV_TAG}` to the latest commit that should be included.
+
5. Build with:
$ make build
6. Re-create patches via:
$ make patches-export
- Each commit on `armband-workbench` branch of each subproject will be
+ Each commit on `opnfv-armband` branch of each subproject will be
exported to `patches/subproject/` via `git format-patch`.
- NOTE: DO NOT commit changed submodules. Remember to commit only patches!
-
- Commiting changed submodules (`git diff` will list something like:
- `Subproject commit: {hash}`) will break the repo, as the new commit hash
- is non-existant in the upstream repo, hence anybody cloning the repository
- later will fail on `make submodules-init`.
-
7. Clean workbench branches and tags with:
$ make submodules-clean
@@ -52,3 +48,24 @@ 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
+
+Fuel@OPNFV submodule patch development
+--------------------------------------
+Fuel-submodules (fuel-astute, ... , fuel-ui) patches also reside in Armband,
+like previously described patches that are applied to Armband submodules,
+but they are not directly applied to any submodule in Armband.
+Instead, they are copied (staged) to Fuel@OPNFV submodule, which will
+automatically pick them up and apply them to its own submodules
+(fuel-astute, ... , fuel-ui) during ISO build.
+
+The following helpers are available for working with patches for
+Fuel-submodules (fuel-astute, ... , fuel-ui):
+
+1. Clean Fuel-submodules (fuel-astute, ... , fuel-ui) patches
+ $ make fuel-patches-clean
+
+2. Import Fuel-submodules staged patches
+ $ make fuel-patches-import
+
+3. Export Fuel-submodules patches
+ $ make fuel-patches-export
diff --git a/armband-fuel-config.mk b/armband-fuel-config.mk
new file mode 100644
index 0000000..63699b4
--- /dev/null
+++ b/armband-fuel-config.mk
@@ -0,0 +1,47 @@
+##############################################################################
+# Copyright (c) 2016 Enea AB and others.
+# 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
+##############################################################################
+
+# Prepare for merging with Fuel@OPNFV by keeping the same patch dir structure
+A_FUEL_BASE := ${ARMBAND_BASE}/upstream/fuel
+A_PATCH_DIR := ${ARMBAND_BASE}/patches
+A_OPNFV_TAG = armband-opnfv
+A_PATCHES = $(shell find ${A_PATCH_DIR} -name '*.patch')
+F_BUILD_DIR := ${A_FUEL_BASE}/build
+F_REPOS_DIR := ${F_BUILD_DIR}/f_repos
+F_PATCH_DIR := ${F_REPOS_DIR}/patch
+F_SUB_DIR := ${F_REPOS_DIR}/sub
+
+# 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.
+ARMBAND_TRACK_REMOTES ?= yes
+
+# Armband plugins, supported archs & specific info
+export PLUGINS := f_odlpluginbuild f_bgpvpn-pluginbuild f_ovs-nsh-dpdk-pluginbuild
+export UBUNTU_ARCH := amd64 arm64
+export PRODNO := OPNFV_A_FUEL
+export MIRROR_MOS_UBUNTU := linux.enea.com
+export EXTRA_RPM_REPOS := armband,http://linux.enea.com/mos-repos/centos/mos9.0-centos7/armband/x86_64,10
+
+# Temporary fuel-plugin-builder repo info for runtime patching
+export FPB_REPO := https://github.com/openstack/fuel-plugins
+export FPB_BRANCH := master
+export FPB_CHANGE := refs/changes/31/311031/2
+
+# Armband git submodules for Fuel/OPNFV components
+export FUEL_PLUGIN_ODL_REPO := ${ARMBAND_BASE}/upstream/fuel-plugin-opendaylight
+export FUEL_PLUGIN_ODL_BRANCH := opnfv-armband
+export FUEL_PLUGIN_ODL_CHANGE := ${A_OPNFV_TAG}
+export OPNFV_QUAGGE_PACKAGING_REPO := https://github.com/alexandruavadanii/opnfv-quagga-packaging
+
+export OVS_NSH_DPDK_REPO := ${ARMBAND_BASE}/upstream/fuel-plugin-ovs
+export OVS_NSH_DPDK_BRANCH := ${A_OPNFV_TAG}
+
+export VSPERF_REPO := ${ARMBAND_BASE}/upstream/vswitchperf
+export VSPERF_BRANCH := opnfv-armband
+export VSPERF_CHANGE := ${A_OPNFV_TAG}
diff --git a/ci/build.sh b/ci/build.sh
index 9ae43f3..0b46a7d 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -15,5 +15,5 @@ export OPNFV_GIT_SHA=$(git rev-parse HEAD)
export LOCAL_CACHE_ARCH_NAME="armband-cache"
# Initialize Armband git submodules & apply patches first
-make -C ${ARMBAND_BASE} submodules-clean patches-import
+make -C ${ARMBAND_BASE} patches-import
cd ${ARMBAND_BASE}/upstream/fuel/ci && ./build.sh $*
diff --git a/ci/deploy.sh b/ci/deploy.sh
index 40abe67..179b168 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -10,7 +10,7 @@
set -e
cd $WORKSPACE
-make submodules-clean submodules-init patches-import
+make patches-import
# source local environment variables
if ! [ -z $LAB_CONFIG_URL ]; then
diff --git a/patches/fuel-agent/0001-Use-qemu-debootstrap-for-image-creation.patch b/patches/fuel-agent/cross-bootstrap/0001-Use-qemu-debootstrap-for-image-creation.patch
index 6f28d8a..54e8027 100644
--- a/patches/fuel-agent/0001-Use-qemu-debootstrap-for-image-creation.patch
+++ b/patches/fuel-agent/cross-bootstrap/0001-Use-qemu-debootstrap-for-image-creation.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Thu, 25 Feb 2016 13:38:14 +0100
Subject: [PATCH] Use qemu-debootstrap for image creation
@@ -17,10 +17,12 @@ not yet implemented.
7 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/commands/build.py b/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/commands/build.py
-index ca2d3e1..b0d410d 100644
+index b4e9a05..a22d319 100644
--- a/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/commands/build.py
+++ b/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/commands/build.py
-@@ -166,4 +166,12 @@ class BuildCommand(command.Command):
+@@ -171,6 +171,14 @@ class BuildCommand(command.Command):
+ " by ssh still rejected by default! This password actual"
+ " only for tty login!"),
)
+ parser.add_argument(
+ '--target_arch',
@@ -31,27 +33,27 @@ index ca2d3e1..b0d410d 100644
+ )
+
return parser
-
+
def take_action(self, parsed_args):
diff --git a/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/utils/bootstrap_image.py b/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/utils/bootstrap_image.py
-index 0219961..6e60fb8 100644
+index c09d421..a535075 100644
--- a/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/utils/bootstrap_image.py
+++ b/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/utils/bootstrap_image.py
-@@ -172,7 +172,8 @@ def make_bootstrap(data):
-
+@@ -161,7 +161,8 @@ def make_bootstrap(data):
+
LOG.info("Try to build image with data:\n%s", yaml.safe_dump(bootdata))
-
+
- opts = ['--data_driver', 'bootstrap_build_image']
+ opts = ['--data_driver', 'bootstrap_build_image',
+ '--target_arch', data['target_arch']]
if data.get('image_build_dir'):
opts.extend(['--image_build_dir', data['image_build_dir']])
-
+
diff --git a/debian/control b/debian/control
-index 0a6f947..189dc00 100644
+index d24450c..e843980 100644
--- a/debian/control
+++ b/debian/control
-@@ -36,6 +36,8 @@ Pre-Depends: dpkg (>= 1.15.6~)
+@@ -37,6 +37,8 @@ Pre-Depends: dpkg (>= 1.15.6~)
Depends: bzip2,
cloud-utils,
debootstrap,
@@ -61,26 +63,27 @@ index 0a6f947..189dc00 100644
ethtool,
gdisk,
diff --git a/fuel_agent/manager.py b/fuel_agent/manager.py
-index 15cc5d8..f613aef 100644
+index df54f65..ba1ab78 100644
--- a/fuel_agent/manager.py
+++ b/fuel_agent/manager.py
-@@ -18,5 +18,6 @@ import shutil
-
+@@ -19,6 +19,7 @@ import signal
+ import tempfile
+
from oslo_config import cfg
+from oslo_config import types
import six
import yaml
-
-@@ -33,6 +34,8 @@ from fuel_agent.utils import md as mu
+
+@@ -34,6 +35,8 @@ from fuel_agent.utils import md as mu
from fuel_agent.utils import partition as pu
from fuel_agent.utils import utils
-
+
+ArchType = types.String(choices=['amd64', 'arm64'])
+
opts = [
cfg.StrOpt(
'nc_template_path',
-@@ -153,6 +156,13 @@ cli_opts = [
+@@ -192,6 +195,13 @@ cli_opts = [
default='/tmp',
help='Directory where the image is supposed to be built',
),
@@ -92,9 +95,9 @@ index 15cc5d8..f613aef 100644
+ 'debootstrap',
+ ),
]
-
+
CONF = cfg.CONF
-@@ -551,7 +561,8 @@ class Manager(object):
+@@ -724,7 +734,8 @@ class Manager(object):
LOG.debug('Preventing services from being get started')
bu.suppress_services_start(chroot)
LOG.debug('Installing base operating system using debootstrap')
@@ -105,10 +108,10 @@ index 15cc5d8..f613aef 100644
proxies=proxies.proxies,
direct_repo_addr=proxies.direct_repo_addr_list)
diff --git a/fuel_agent/tests/test_build_utils.py b/fuel_agent/tests/test_build_utils.py
-index 82c3462..ac5ae82 100644
+index 54f79f9..0ec466f 100644
--- a/fuel_agent/tests/test_build_utils.py
+++ b/fuel_agent/tests/test_build_utils.py
-@@ -42,7 +42,7 @@ class BuildUtilsTestCase(unittest2.TestCase):
+@@ -43,7 +43,7 @@ class BuildUtilsTestCase(unittest2.TestCase):
def test_run_debootstrap(self, mock_exec, mock_environ):
bu.run_debootstrap('uri', 'suite', 'chroot', 'arch', attempts=2)
mock_exec.assert_called_once_with(
@@ -117,7 +120,7 @@ index 82c3462..ac5ae82 100644
.format(','.join(bu.ADDITIONAL_DEBOOTSTRAP_PACKAGES)),
'--verbose', '--no-check-gpg', '--arch=arch',
'suite', 'chroot', 'uri', attempts=2, env_variables={})
-@@ -53,7 +53,7 @@ class BuildUtilsTestCase(unittest2.TestCase):
+@@ -54,7 +54,7 @@ class BuildUtilsTestCase(unittest2.TestCase):
bu.run_debootstrap('uri', 'suite', 'chroot', 'arch', eatmydata=True,
attempts=2)
mock_exec.assert_called_once_with(
@@ -127,20 +130,20 @@ index 82c3462..ac5ae82 100644
'--verbose', '--no-check-gpg', '--arch=arch',
'--include=eatmydata', 'suite',
diff --git a/fuel_agent/utils/build.py b/fuel_agent/utils/build.py
-index 7247965..af41b2b 100644
+index b1ecc0f..2950ad8 100644
--- a/fuel_agent/utils/build.py
+++ b/fuel_agent/utils/build.py
-@@ -80,7 +80,7 @@ def run_debootstrap(uri, suite, chroot, arch='amd64', eatmydata=False,
+@@ -76,7 +76,7 @@ def run_debootstrap(uri, suite, chroot, arch='amd64', eatmydata=False,
env_vars['no_proxy'] = ','.join(direct_repo_addr)
LOG.debug('Setting no_proxy for: {0}'.format(env_vars['no_proxy']))
-
+
- cmds = ['debootstrap',
+ cmds = ['qemu-debootstrap',
'--include={0}'.format(",".join(ADDITIONAL_DEBOOTSTRAP_PACKAGES)),
'--verbose', '--no-check-gpg',
'--arch={0}'.format(arch)]
diff --git a/specs/fuel-agent.spec b/specs/fuel-agent.spec
-index 5c37600..a43f693 100644
+index 72cd6a1..18af4b9 100644
--- a/specs/fuel-agent.spec
+++ b/specs/fuel-agent.spec
@@ -50,6 +50,8 @@ Requires: xfsprogs
diff --git a/patches/fuel-agent/0002-Add-FLASH_KERNEL_SKIP-true.patch b/patches/fuel-agent/cross-bootstrap/0002-Add-FLASH_KERNEL_SKIP-true.patch
index 0c2f2ac..91483ac 100644
--- a/patches/fuel-agent/0002-Add-FLASH_KERNEL_SKIP-true.patch
+++ b/patches/fuel-agent/cross-bootstrap/0002-Add-FLASH_KERNEL_SKIP-true.patch
@@ -8,14 +8,14 @@ FIXME: Add nice description of the issue at hand.
1 file changed, 1 insertion(+)
diff --git a/fuel_agent/utils/build.py b/fuel_agent/utils/build.py
-index af41b2b..6f31732 100644
+index 2950ad8..74cbfd8 100644
--- a/fuel_agent/utils/build.py
+++ b/fuel_agent/utils/build.py
-@@ -97,6 +97,7 @@ def set_apt_get_env():
+@@ -93,6 +93,7 @@ def set_apt_get_env():
# NOTE(agordeev): disable any confirmations/questions from apt-get side
os.environ['DEBIAN_FRONTEND'] = 'noninteractive'
os.environ['DEBCONF_NONINTERACTIVE_SEEN'] = 'true'
+ os.environ['FLASH_KERNEL_SKIP'] = 'true'
os.environ['LC_ALL'] = os.environ['LANG'] = os.environ['LANGUAGE'] = 'C'
-
-
+
+
diff --git a/patches/fuel-agent/0003-Fix-qemu-user-static-replacement.patch b/patches/fuel-agent/cross-bootstrap/0003-Fix-qemu-user-static-replacement.patch
index a4f65d6..3c84959 100644
--- a/patches/fuel-agent/0003-Fix-qemu-user-static-replacement.patch
+++ b/patches/fuel-agent/cross-bootstrap/0003-Fix-qemu-user-static-replacement.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Sun, 6 Mar 2016 16:09:39 +0100
Subject: [PATCH] Fix qemu-user-static replacement
@@ -8,13 +8,13 @@ Subject: [PATCH] Fix qemu-user-static replacement
2 files changed, 24 insertions(+)
diff --git a/fuel_agent/manager.py b/fuel_agent/manager.py
-index f613aef..6322a10 100644
+index ba1ab78..637c99a 100644
--- a/fuel_agent/manager.py
+++ b/fuel_agent/manager.py
-@@ -587,6 +587,12 @@ class Manager(object):
+@@ -760,6 +760,12 @@ class Manager(object):
fu.mount_bind(chroot, '/proc')
bu.populate_basic_dev(chroot)
-
+
+ # we need to make sure that qemu-{target_arch}-static binary is
+ # not replaced inside chroot because we're possibly using it
+ # through qemu-debootstrap
@@ -25,13 +25,13 @@ index f613aef..6322a10 100644
# Umount chroot tree and remove images tmp files
if not bu.stop_chrooted_processes(chroot, signal=signal.SIGTERM):
diff --git a/fuel_agent/utils/build.py b/fuel_agent/utils/build.py
-index 6f31732..abd762e 100644
+index 74cbfd8..1bc0a5f 100644
--- a/fuel_agent/utils/build.py
+++ b/fuel_agent/utils/build.py
-@@ -312,6 +312,24 @@ def populate_basic_dev(chroot):
+@@ -320,6 +320,24 @@ def populate_basic_dev(chroot):
utils.execute('chroot', chroot,
'ln', '-s', '/proc/self/fd', '/dev/fd')
-
+
+def prevent_qemu_replacement(chroot, arch):
+ """Prevents qemu-user-static replacement inside chroot.
+
@@ -50,6 +50,6 @@ index 6f31732..abd762e 100644
+ '--rename', '/usr/sbin/update-binfmts')
+ utils.execute('chroot', chroot, 'ln', '-sf', '/bin/true',
+ '/usr/sbin/update-binfmts')
-
+
def create_sparse_tmp_file(dir, suffix, size=8192):
"""Creates sparse file.
diff --git a/patches/fuel-agent/0004-Prevent-common-cross-debootstrap-newaliases-issue.patch b/patches/fuel-agent/cross-bootstrap/0004-Prevent-common-cross-debootstrap-newaliases-issue.patch
index 37017e1..7560295 100644
--- a/patches/fuel-agent/0004-Prevent-common-cross-debootstrap-newaliases-issue.patch
+++ b/patches/fuel-agent/cross-bootstrap/0004-Prevent-common-cross-debootstrap-newaliases-issue.patch
@@ -16,10 +16,10 @@ For more information, see [1].
2 files changed, 38 insertions(+)
diff --git a/fuel_agent/manager.py b/fuel_agent/manager.py
-index 6322a10..843c40b 100644
+index 637c99a..86f76b9 100644
--- a/fuel_agent/manager.py
+++ b/fuel_agent/manager.py
-@@ -836,10 +836,15 @@ class Manager(object):
+@@ -1037,10 +1037,15 @@ class Manager(object):
direct_repo_addrs=driver_os.proxies.direct_repo_addr_list)
self._update_metadata_with_repos(
metadata, driver_os.repos)
@@ -35,17 +35,18 @@ index 6322a10..843c40b 100644
if hasattr(bs_scheme, 'certs') and bs_scheme.certs:
bu.copy_update_certs(bs_scheme.certs, chroot)
bu.run_apt_get(chroot, packages=packages,
-@@ -873,5 +878,6 @@ class Manager(object):
+@@ -1084,6 +1089,7 @@ class Manager(object):
+ add_multipath_conf=False)
# restore disabled hosts/resolv files
bu.restore_resolv_conf(chroot)
+ bu.restore_newaliases(chroot)
metadata['all_packages'] = bu.get_installed_packages(chroot)
# We need to recompress initramfs with new compression:
bu.recompress_initramfs(
-@@ -964,6 +970,11 @@ class Manager(object):
+@@ -1175,6 +1181,11 @@ class Manager(object):
self._update_metadata_with_repos(
metadata, driver_os.repos)
-
+
+ # Prevent common cross-debootstraping problem w/ newaliases & qemu
+ # inet_addr_local[getifaddrs]: getifaddrs: Address family not supp
+ LOG.debug('Preventing newaliases from running inside chroot')
@@ -54,10 +55,10 @@ index 6322a10..843c40b 100644
LOG.debug('Installing packages using apt-get: %s',
' '.join(packages))
bu.run_apt_get(chroot, packages=packages,
-@@ -974,6 +985,9 @@ class Manager(object):
+@@ -1187,6 +1198,9 @@ class Manager(object):
allow_unsigned_file=CONF.allow_unsigned_file,
force_ipv4_file=CONF.force_ipv4_file)
-
+
+ LOG.debug('Restoring newaliases command inside chroot')
+ bu.restore_newaliases(chroot)
+
@@ -65,13 +66,13 @@ index 6322a10..843c40b 100644
'inside chroot before trying to umount chroot')
if not bu.stop_chrooted_processes(chroot, signal=signal.SIGTERM):
diff --git a/fuel_agent/utils/build.py b/fuel_agent/utils/build.py
-index abd762e..e11ceba 100644
+index 1bc0a5f..5761cc5 100644
--- a/fuel_agent/utils/build.py
+++ b/fuel_agent/utils/build.py
-@@ -331,6 +331,30 @@ def prevent_qemu_replacement(chroot, arch):
+@@ -339,6 +339,30 @@ def prevent_qemu_replacement(chroot, arch):
utils.execute('chroot', chroot, 'ln', '-sf', '/bin/true',
'/usr/sbin/update-binfmts')
-
+
+def prevent_qemu_newaliases(chroot):
+ """Prevents running newaliases under qemu-user-static inside chroot.
+
@@ -98,4 +99,4 @@ index abd762e..e11ceba 100644
+
def create_sparse_tmp_file(dir, suffix, size=8192):
"""Creates sparse file.
-
+
diff --git a/patches/fuel-agent/0009-FIXME-Add-force-yes-to-apt-get-dist-upgrade.patch b/patches/fuel-agent/cross-bootstrap/0005-FIXME-Add-force-yes-to-apt-get-dist-upgrade.patch
index 90428c5..654ddea 100644
--- a/patches/fuel-agent/0009-FIXME-Add-force-yes-to-apt-get-dist-upgrade.patch
+++ b/patches/fuel-agent/cross-bootstrap/0005-FIXME-Add-force-yes-to-apt-get-dist-upgrade.patch
@@ -17,10 +17,10 @@ the same behavior.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fuel_agent/utils/build.py b/fuel_agent/utils/build.py
-index e11ceba..8cca26d 100644
+index 5761cc5..5557810 100644
--- a/fuel_agent/utils/build.py
+++ b/fuel_agent/utils/build.py
-@@ -111,7 +111,7 @@ def run_apt_get(chroot, packages, eatmydata=False, attempts=10):
+@@ -107,7 +107,7 @@ def run_apt_get(chroot, packages, eatmydata=False, attempts=10):
time in X times.
"""
for action in ('update', 'dist-upgrade'):
diff --git a/patches/fuel-agent/0010-UX-Update-bootstrap-target-build-time-estimate.patch b/patches/fuel-agent/cross-bootstrap/0006-UX-Update-bootstrap-target-build-time-estimate.patch
index d8a7588..3c68e5a 100644
--- a/patches/fuel-agent/0010-UX-Update-bootstrap-target-build-time-estimate.patch
+++ b/patches/fuel-agent/cross-bootstrap/0006-UX-Update-bootstrap-target-build-time-estimate.patch
@@ -12,10 +12,10 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/utils/bootstrap_image.py b/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/utils/bootstrap_image.py
-index 6e60fb8..95bc08a 100644
+index a535075..c7d67e9 100644
--- a/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/utils/bootstrap_image.py
+++ b/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/utils/bootstrap_image.py
-@@ -180,9 +180,12 @@ def make_bootstrap(data):
+@@ -169,9 +169,12 @@ def make_bootstrap(data):
OSLO_CONF = cfg.CONF
OSLO_CONF(opts, project='fuel-agent')
mngr = manager.Manager(bootdata)
@@ -29,5 +29,5 @@ index 6e60fb8..95bc08a 100644
+ " and selected bootstrap architecture(s)."
+ " This ISO supports AArch64 only.")
mngr.do_mkbootstrap()
-
+
return bootdata['bootstrap']['uuid'], bootdata['output']
diff --git a/patches/fuel-agent/0011-kernel-flavor-linux-image-generic-lts-xenial.patch b/patches/fuel-agent/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch
index c94bc4a..7c29c5c 100644
--- a/patches/fuel-agent/0011-kernel-flavor-linux-image-generic-lts-xenial.patch
+++ b/patches/fuel-agent/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch
@@ -12,10 +12,10 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fuel_agent/drivers/nailgun.py b/fuel_agent/drivers/nailgun.py
-index 5ff1cf6..1463f22 100644
+index f70d165..ef0e79a 100644
--- a/fuel_agent/drivers/nailgun.py
+++ b/fuel_agent/drivers/nailgun.py
-@@ -734,8 +734,8 @@ class NailgunBuildImage(BaseDataDriver):
+@@ -727,8 +727,8 @@ class NailgunBuildImage(BaseDataDriver):
"i40e-dkms",
"linux-firmware",
"linux-firmware-nonfree",
diff --git a/patches/fuel-agent/0005-Add-esp-partition-flag.patch b/patches/fuel-agent/multiarch-efi/0001-Add-esp-partition-flag.patch
index 2ecec41..1b067b1 100644
--- a/patches/fuel-agent/0005-Add-esp-partition-flag.patch
+++ b/patches/fuel-agent/multiarch-efi/0001-Add-esp-partition-flag.patch
@@ -12,32 +12,32 @@ to properly format and mount it during do_partitioning deployment phase.
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/fuel_agent/drivers/nailgun.py b/fuel_agent/drivers/nailgun.py
-index c2fef69..0ae81f9 100644
+index ef0e79a..94280e8 100644
--- a/fuel_agent/drivers/nailgun.py
+++ b/fuel_agent/drivers/nailgun.py
-@@ -324,7 +324,7 @@ class Nailgun(BaseDataDriver):
+@@ -354,7 +354,7 @@ class Nailgun(BaseDataDriver):
# uefi partition (for future use)
LOG.debug('Adding UEFI partition on disk %s: size=200' %
disk['name'])
- parted.add_partition(size=200)
+ parted.add_partition(size=200, flags=['esp'])
-
+
LOG.debug('Looping over all volumes on disk %s' % disk['name'])
for volume in disk['volumes']:
diff --git a/fuel_agent/utils/partition.py b/fuel_agent/utils/partition.py
-index acdd0b3..86349d2 100644
+index f7126b1..b811511 100644
--- a/fuel_agent/utils/partition.py
+++ b/fuel_agent/utils/partition.py
-@@ -93,7 +93,7 @@ def set_partition_flag(dev, num, flag, state='on'):
+@@ -94,7 +94,7 @@ def set_partition_flag(dev, num, flag, state='on'):
:param dev: A device file, e.g. /dev/sda.
:param num: Partition number
:param flag: Flag name. Must be one of 'bios_grub', 'legacy_boot',
- 'boot', 'raid', 'lvm'
+ 'boot', 'raid', 'lvm', 'esp'
:param state: Desiable flag state. 'on' or 'off'. Default is 'on'.
-
+
:returns: None
-@@ -103,7 +103,7 @@ def set_partition_flag(dev, num, flag, state='on'):
+@@ -104,7 +104,7 @@ def set_partition_flag(dev, num, flag, state='on'):
# parted supports more flags but we are interested in
# setting only this subset of them.
# not all of these flags are compatible with one another.
diff --git a/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch b/patches/fuel-agent/multiarch-efi/0002-Add-fs-for-efi-partition.patch
index 0fb9421..c18c709 100644
--- a/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch
+++ b/patches/fuel-agent/multiarch-efi/0002-Add-fs-for-efi-partition.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Tue, 8 Mar 2016 21:08:55 +0100
Subject: [PATCH] Add fs for efi partition
@@ -9,10 +9,10 @@ Subject: [PATCH] Add fs for efi partition
3 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/debian/control b/debian/control
-index 189dc00..acfda35 100644
+index e843980..c763ab9 100644
--- a/debian/control
+++ b/debian/control
-@@ -39,6 +39,7 @@ Depends: bzip2,
+@@ -40,6 +40,7 @@ Depends: bzip2,
qemu-user-static,
binfmt-support,
dmidecode,
@@ -21,10 +21,10 @@ index 189dc00..acfda35 100644
gdisk,
genisoimage,
diff --git a/fuel_agent/drivers/nailgun.py b/fuel_agent/drivers/nailgun.py
-index bc532b4..f092865 100644
+index 94280e8..1463f22 100644
--- a/fuel_agent/drivers/nailgun.py
+++ b/fuel_agent/drivers/nailgun.py
-@@ -81,6 +81,9 @@ class Nailgun(BaseDataDriver):
+@@ -82,6 +82,9 @@ class Nailgun(BaseDataDriver):
# was already allocated on first matching volume
# or not
self._boot_partition_done = False
@@ -34,7 +34,7 @@ index bc532b4..f092865 100644
# this var is used as a flag that /boot fs
# has already been added. we need this to
# get rid of md over all disks for /boot partition.
-@@ -321,10 +324,14 @@ class Nailgun(BaseDataDriver):
+@@ -351,10 +354,14 @@ class Nailgun(BaseDataDriver):
LOG.debug('Adding bios_grub partition on disk %s: size=24' %
disk['name'])
parted.add_partition(size=24, flags=['bios_grub'])
@@ -49,11 +49,11 @@ index bc532b4..f092865 100644
+ partition_scheme.add_fs(device=prt.name, mount='/boot/efi',
+ fs_type='vfat')
+ self._esp_partition_done = True
-
+
LOG.debug('Looping over all volumes on disk %s' % disk['name'])
for volume in disk['volumes']:
diff --git a/specs/fuel-agent.spec b/specs/fuel-agent.spec
-index a43f693..c2b9b51 100644
+index 18af4b9..8604e57 100644
--- a/specs/fuel-agent.spec
+++ b/specs/fuel-agent.spec
@@ -50,6 +50,7 @@ Requires: xfsprogs
diff --git a/patches/fuel-astute/0001-Erase-EFI-boot-entry-on-EFI-systems.patch b/patches/fuel-astute/multiarch-efi/0001-Erase-EFI-boot-entry-on-EFI-systems.patch
index 905834d..fa8a83a 100644
--- a/patches/fuel-astute/0001-Erase-EFI-boot-entry-on-EFI-systems.patch
+++ b/patches/fuel-astute/multiarch-efi/0001-Erase-EFI-boot-entry-on-EFI-systems.patch
@@ -32,7 +32,7 @@ index 3eb98e8..3bac36f 100644
+++ b/mcagents/erase_node.rb
@@ -112,6 +112,10 @@ module MCollective
File.open('/proc/sys/kernel/panic','w') {|file| file.write("10\n")}
-
+
begin
+ # clear out EFI boot entry on EFI-enabled systems
+ system("(which efibootmgr > /dev/null 2>&1 && efibootmgr | "\
diff --git a/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch b/patches/fuel-library/0001-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch
index 0ddad11..facde8f 100644
--- a/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch
+++ b/patches/fuel-library/0001-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch
@@ -16,12 +16,12 @@ older than 4.0.
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp b/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp
-index f7da80e..22aab33 100644
+index 2480f18..0957010 100644
--- a/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp
+++ b/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp
-@@ -50,4 +50,11 @@ class {'ceph':
+@@ -35,6 +35,13 @@ class osnailyfacter::ceph::ceph_osd {
}
-
+
if $ceph_tuning_settings_hash != {} {
+ if versioncmp($::kernelmajversion, '4.0') < 0 {
+ # FIXME(armband): XFS mount opt delaylog is deprecated in kernels >=4.0.
@@ -31,11 +31,13 @@ index f7da80e..22aab33 100644
+ ], ',')
+ }
ceph_conf {
-diff --git a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp b/deployment/puppet/osnailyfacter/modular/globals/globals.pp
-index 268a5b1..69aed7b 100644
+ 'global/debug_default' : value => $debug;
+ 'global/max_open_files' : value => $ceph_tuning_settings_hash['max_open_files'];
+diff --git a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp
+index 854d297..7345d66 100644
--- a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp
+++ b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp
-@@ -123,7 +123,7 @@ if ($storage_hash['volumes_ceph'] or $storage_hash['images_ceph'] or $storage_ha
+@@ -148,7 +148,7 @@ class osnailyfacter::globals::globals {
$ceph_tuning_settings = {
'max_open_files' => pick($storage_tuning_settings['max_open_files'], '131072'),
'osd_mkfs_type' => pick($storage_tuning_settings['osd_mkfs_type'], 'xfs'),
diff --git a/patches/fuel-library/0012-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch b/patches/fuel-library/0002-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch
index 36353a8..17700a9 100644
--- a/patches/fuel-library/0012-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch
+++ b/patches/fuel-library/0002-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch
@@ -25,11 +25,12 @@ This patch extends the version checking introduced in [1]:
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/deployment/puppet/openstack_tasks/manifests/ceilometer/compute.pp b/deployment/puppet/openstack_tasks/manifests/ceilometer/compute.pp
-index 8311731..1d7af2b 100644
+index af4f0e5..e8dbfcf 100644
--- a/deployment/puppet/openstack_tasks/manifests/ceilometer/compute.pp
+++ b/deployment/puppet/openstack_tasks/manifests/ceilometer/compute.pp
-@@ -195,7 +195,13 @@ class openstack::ceilometer (
-
+@@ -93,8 +93,14 @@ class openstack_tasks::ceilometer::compute {
+ }
+
if $::operatingsystem == 'Ubuntu' and $::ceilometer::params::libvirt_group {
+ # Armband libvirt-bin deb package (1.3.2 version) creates 'libvirtd' group on Ubuntu
+ if (versioncmp($::libvirt_package_version, '1.3.2') >= 0) {
diff --git a/patches/fuel-library/0016-compute-Fix-virtlogd-not-started-after-install.patch b/patches/fuel-library/0003-compute-Fix-virtlogd-not-started-after-install.patch
index 752ef6f..a9a4933 100644
--- a/patches/fuel-library/0016-compute-Fix-virtlogd-not-started-after-install.patch
+++ b/patches/fuel-library/0003-compute-Fix-virtlogd-not-started-after-install.patch
@@ -18,11 +18,11 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-index 33e851f..3647f9b 100644
+index 164bd70..211fefa 100644
--- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
+++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-@@ -373,7 +373,8 @@ class openstack_tasks::roles::compute {
-
+@@ -337,7 +337,8 @@ class openstack_tasks::roles::compute {
+
# TODO(aschultz): work around until https://review.openstack.org/#/c/306677/
# lands.
- if $::os_package_type == 'ubuntu' {
diff --git a/patches/fuel-library/0005-Disable-usb-tablet-for-aarch64.patch b/patches/fuel-library/arm64-bug-fixes/0001-nova-config-Disable-usb-tablet-for-aarch64.patch
index 1109656..f4e1922 100644
--- a/patches/fuel-library/0005-Disable-usb-tablet-for-aarch64.patch
+++ b/patches/fuel-library/arm64-bug-fixes/0001-nova-config-Disable-usb-tablet-for-aarch64.patch
@@ -1,16 +1,18 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Tue, 15 Mar 2016 11:33:52 +0100
Subject: [PATCH] nova config: Disable usb tablet for aarch64
---
- deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
+ deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 4 ++++
+ 1 file changed, 4 insertions(+)
diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-index ca1b2c4..c0349dc 100644
+index 211fefa..4240126 100644
--- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
+++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-@@ -316,3 +316,7 @@ class openstack::compute (
+@@ -379,6 +379,10 @@ class openstack_tasks::roles::compute {
+ }
+
nova_config {
+ 'libvirt/use_usb_tablet': value => $::architecture ? {
+ /(arm64|aarch64)/ => false,
@@ -18,3 +20,4 @@ index ca1b2c4..c0349dc 100644
+ };
'libvirt/live_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST';
'libvirt/block_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_NON_SHARED_INC';
+ 'DEFAULT/connection_type': value => 'libvirt';
diff --git a/patches/fuel-library/0007-Install-vgabios-and-link-for-aarch64.patch b/patches/fuel-library/arm64-bug-fixes/0002-Install-vgabios-and-link-for-aarch64.patch
index 04e2abf..da152ea 100644
--- a/patches/fuel-library/0007-Install-vgabios-and-link-for-aarch64.patch
+++ b/patches/fuel-library/arm64-bug-fixes/0002-Install-vgabios-and-link-for-aarch64.patch
@@ -7,16 +7,18 @@ install it by default on AArch64 and create missing link
in </usr/share/qemu> to </usr/share/vgabios/vgabios.bin>.
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
---
- deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
+ deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-index ca1b2c4..c0349dc 100644
+index 4240126..b18fa7b 100644
--- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
+++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-@@ -364,3 +368,11 @@ class openstack::compute (
+@@ -409,6 +409,14 @@ class openstack_tasks::roles::compute {
+ vncserver_listen => '0.0.0.0',
+ remove_unused_original_minimum_age_seconds => pick($nova_hash_real['remove_unused_original_minimum_age_seconds'], '86400'),
libvirt_service_name => $::nova::params::libvirt_service_name,
+ } ->
+ package { 'vgabios':
@@ -27,4 +29,5 @@ index ca1b2c4..c0349dc 100644
+ target => '/usr/share/vgabios/vgabios.bin',
+ replace => false,
}
-
+
+ class { '::nova::migration::libvirt':
diff --git a/patches/fuel-library/0008-nova-Update-vga-console-defaults-for-armv7-aarch64.patch b/patches/fuel-library/arm64-bug-fixes/0003-nova-Update-vga-console-defaults-for-armv7-aarch64.patch
index c289bd8..9e9c3d5 100644
--- a/patches/fuel-library/0008-nova-Update-vga-console-defaults-for-armv7-aarch64.patch
+++ b/patches/fuel-library/arm64-bug-fixes/0003-nova-Update-vga-console-defaults-for-armv7-aarch64.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Tue, 22 Mar 2016 12:05:09 +0100
Subject: [PATCH] nova: Update vga, console defaults for armv7, aarch64
@@ -7,18 +7,18 @@ armv7 and aarch64 VMs require video=vga, and since most applications
use PL011 serial driver for guests, adding console=ttyAMA0 is also
a nice UX addition.
---
- .../openstack/files/nova-libvirt-vga-console.patch | 39 ++++++++++++++++++++++
- deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 19 +++++++++++
- 2 files changed, 58 insertions(+)
+ .../openstack/files/nova-libvirt-vga-console.patch | 40 ++++++++++++++++++++++
+ .../openstack_tasks/manifests/roles/compute.pp | 19 ++++++++++
+ 2 files changed, 59 insertions(+)
create mode 100644 deployment/puppet/openstack/files/nova-libvirt-vga-console.patch
diff --git a/deployment/puppet/openstack/files/nova-libvirt-vga-console.patch b/deployment/puppet/openstack/files/nova-libvirt-vga-console.patch
new file mode 100644
-index 0000000..c5f8e5a
+index 0000000..3594276
--- /dev/null
+++ b/deployment/puppet/openstack/files/nova-libvirt-vga-console.patch
@@ -0,0 +1,40 @@
-+From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
++From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
+Date: Tue, 22 Mar 2016 12:05:09 +0100
+Subject: [PATCH] Update vga, console defaults for armv7 and aarch64
+
@@ -27,7 +27,7 @@ index 0000000..c5f8e5a
+use PL011 serial driver for guests, adding console=ttyAMA0 is also
+a nice UX addition.
+
-+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
++Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+
@@ -59,26 +59,31 @@ index 0000000..c5f8e5a
+ # so use 'vga' instead when running on Power hardware.
+ video.type = 'vga'
diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-index c0349dc..46b1801 100644
+index b18fa7b..2f0f2a8 100644
--- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
+++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-@@ -157,4 +157,10 @@ class openstack::compute (
+@@ -158,6 +158,12 @@ class openstack_tasks::roles::compute {
include ::nova::params
-+
+
+ if ! defined(Package['patch']) {
+ package { 'patch':
+ ensure => 'present',
+ }
+ }
-
++
case $::osfamily {
-@@ -250,3 +256,4 @@ class openstack::compute (
-
+ 'RedHat': {
+ # From legacy libvirt.pp
+@@ -290,6 +296,7 @@ class openstack_tasks::roles::compute {
+ }
+
$notify_on_state_change = 'vm_and_task_state'
+ $nova_path = '/usr/lib/python2.7/dist-packages/nova'
-
-@@ -273,5 +280,17 @@ class openstack::compute (
+
+ class { '::nova':
+ rpc_backend => $rpc_backend_real,
+@@ -311,6 +318,18 @@ class openstack_tasks::roles::compute {
memcached_servers => $memcached_addresses,
cinder_catalog_info => pick($nova_hash_real['cinder_catalog_info'], 'volumev2:cinderv2:internalURL'),
rabbit_heartbeat_timeout_threshold => $::os_service_default,
@@ -95,4 +100,5 @@ index c0349dc..46b1801 100644
+ cwd => $nova_path,
+ require => [Package['patch']],
}
-
+
+ class { '::nova::availability_zone':
diff --git a/patches/fuel-library/0009-nova-AArch64-enable-hugepage-support.patch b/patches/fuel-library/arm64-bug-fixes/0004-nova-AArch64-enable-hugepage-support.patch
index 16e06ba..ab0fb66 100644
--- a/patches/fuel-library/0009-nova-AArch64-enable-hugepage-support.patch
+++ b/patches/fuel-library/arm64-bug-fixes/0004-nova-AArch64-enable-hugepage-support.patch
@@ -17,7 +17,7 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
diff --git a/deployment/puppet/openstack/files/nova-AArch64-enable-hugepage-support.patch b/deployment/puppet/openstack/files/nova-AArch64-enable-hugepage-support.patch
new file mode 100644
-index 0000000..847cab6
+index 0000000..72d6bfc
--- /dev/null
+++ b/deployment/puppet/openstack/files/nova-AArch64-enable-hugepage-support.patch
@@ -0,0 +1,47 @@
@@ -39,13 +39,13 @@ index 0000000..847cab6
+@@ -156,6 +156,9 @@ def canonicalize(name):
+ if newname == "amd64":
+ newname = X86_64
-+
++
++ if newname == "aarch64":
++ newname = AARCH64
++
+ if not is_valid(newname):
+ raise exception.InvalidArchitectureName(arch=name)
-+
++
+diff --git a/virt/libvirt/driver.py a/virt/libvirt/driver.py
+index bac17cf..0e0bcae 100644
+--- a/virt/libvirt/driver.py
@@ -53,7 +53,7 @@ index 0000000..847cab6
+@@ -5206,7 +5206,7 @@ class LibvirtDriver(driver.ComputeDriver):
+ self._bad_libvirt_numa_version_warn = True
+ return False
-+
++
+- support_matrix = {(arch.I686, arch.X86_64): MIN_LIBVIRT_NUMA_VERSION,
++ support_matrix = {(arch.I686, arch.X86_64, arch.AARCH64): MIN_LIBVIRT_NUMA_VERSION,
+ (arch.PPC64,
@@ -69,10 +69,10 @@ index 0000000..847cab6
+ return ((caps.host.cpu.arch in supported_archs) and
+ self._host.has_min_version(MIN_LIBVIRT_HUGEPAGE_VERSION,
diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-index 3647f9b..c53409c 100644
+index 2f0f2a8..dc61033 100644
--- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
+++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-@@ -347,6 +347,18 @@ class openstack_tasks::roles::compute {
+@@ -330,6 +330,18 @@ class openstack_tasks::roles::compute {
unless => "patch -p1 -R -N --dry-run < ${nova_path}/libvirt-vga-console.patch",
cwd => $nova_path,
require => [Package['patch']],
@@ -89,5 +89,5 @@ index 3647f9b..c53409c 100644
+ cwd => $nova_path,
+ require => [Package['patch']],
}
-
+
class { '::nova::availability_zone':
diff --git a/patches/fuel-library/0006-upload_cirros-Add-direct-kernel-boot-support.patch b/patches/fuel-library/direct-kernel-boot/0001-upload_cirros-Add-direct-kernel-boot-support.patch
index ab4100c..f3eb074 100644
--- a/patches/fuel-library/0006-upload_cirros-Add-direct-kernel-boot-support.patch
+++ b/patches/fuel-library/direct-kernel-boot/0001-upload_cirros-Add-direct-kernel-boot-support.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Tue, 15 Mar 2016 15:01:34 +0100
Subject: [PATCH] upload_cirros: Add direct kernel boot support.
@@ -8,14 +8,15 @@ images (disk formats `AKI` and `ARI`).
Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
---
- .../osnailyfacter/modular/astute/upload_cirros.rb | 52 +++++++++++++++++++++-
- 1 file changed, 50 insertions(+), 2 deletions(-)
+ .../osnailyfacter/modular/astute/upload_cirros.rb | 55 ++++++++++++++++++++--
+ 1 file changed, 51 insertions(+), 4 deletions(-)
diff --git a/deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb b/deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb
-index f0441b0..a619f3f 100755
+index f0441b0..371d051 100755
--- a/deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb
+++ b/deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb
-@@ -52,11 +52,11 @@ def image_list
+@@ -51,12 +51,12 @@ end
+ def image_list
stdout = `glance --verbose image-list`
return_code = $?.exitstatus
- images = []
@@ -32,7 +33,7 @@ index f0441b0..a619f3f 100755
@@ -78,6 +78,16 @@ EOF
[ stdout, return_code ]
end
-
+
+# Calls glance update-image with a given property and value
+# Supported properties: 'kernel-id', 'ramdisk-id'
+def update_image(image_id, property, value)
@@ -46,7 +47,7 @@ index f0441b0..a619f3f 100755
# check if Glance is online
# waited until the glance is started because when vCenter used as a glance
# backend launch may takes up to 1 minute.
-@@ -133,7 +142,7 @@ end
+@@ -133,7 +143,7 @@ end
# return true if image has been uploaded and active
def check_image(image)
list_of_images = image_list
@@ -55,7 +56,7 @@ index f0441b0..a619f3f 100755
return true
end
return false
-@@ -142,7 +151,7 @@ end
+@@ -144,7 +154,7 @@ end
# the first one
def cleanup_image(image)
list_of_images = image_list
@@ -64,10 +65,10 @@ index f0441b0..a619f3f 100755
delete_image(image['img_name'])
end
end
-@@ -157,6 +166,41 @@ def delete_image(image_name)
+@@ -157,6 +167,41 @@ def delete_image(image_name)
[ stdout, return_code ]
end
-
+
+# For each disk image try to find a kernel and initramfs images and
+# attach then to it via kernel_id and ramdisk_id glance properties.
+def connect_dependant_images(images)
@@ -104,9 +105,9 @@ index f0441b0..a619f3f 100755
+end
+
########################
-
+
wait_for_glance
-@@ -180,6 +226,8 @@ if errors > 0
+@@ -180,6 +225,8 @@ if errors > 0
cleanup_image(image)
end
exit 1
diff --git a/patches/fuel-library/0010-nova-Fix-inject-for-direct-boot-with-part-table.patch b/patches/fuel-library/direct-kernel-boot/0002-nova-Fix-inject-for-direct-boot-with-part-table.patch
index 372386a..7cc743a 100644
--- a/patches/fuel-library/0010-nova-Fix-inject-for-direct-boot-with-part-table.patch
+++ b/patches/fuel-library/direct-kernel-boot/0002-nova-Fix-inject-for-direct-boot-with-part-table.patch
@@ -10,16 +10,16 @@ to a partition (instead of the whole disk).
[1] https://bugs.launchpad.net/nova/+bug/1290455
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
---
.../openstack/files/nova-libvirt-inject.patch | 44 ++++++++++++++++++++++
- deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 12 ++++++
+ .../openstack_tasks/manifests/roles/compute.pp | 12 ++++++
2 files changed, 56 insertions(+)
create mode 100644 deployment/puppet/openstack/files/nova-libvirt-inject.patch
diff --git a/deployment/puppet/openstack/files/nova-libvirt-inject.patch b/deployment/puppet/openstack/files/nova-libvirt-inject.patch
new file mode 100644
-index 0000000..9cbfe5f
+index 0000000..b86927e
--- /dev/null
+++ b/deployment/puppet/openstack/files/nova-libvirt-inject.patch
@@ -0,0 +1,44 @@
@@ -35,7 +35,7 @@ index 0000000..9cbfe5f
+[1] https://bugs.launchpad.net/nova/+bug/1290455
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
++Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
+---
+
+diff --git a/virt/libvirt/driver.py b/virt/libvirt/driver.py
@@ -68,10 +68,12 @@ index 0000000..9cbfe5f
+ if target_partition == 0:
+ target_partition = None
diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-index 46b1801..d42d6a1 100644
+index dc61033..3fcfb51 100644
--- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
+++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-@@ -281,4 +281,16 @@ class openstack::compute (
+@@ -319,6 +319,18 @@ class openstack_tasks::roles::compute {
+ cinder_catalog_info => pick($nova_hash_real['cinder_catalog_info'], 'volumev2:cinderv2:internalURL'),
+ rabbit_heartbeat_timeout_threshold => $::os_service_default,
} ->
+ # FIXME(armband): Fix inject for part image direct boot (bug LP #1469308)
+ file { "${nova_path}/libvirt-inject.patch":
diff --git a/patches/fuel-library/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch b/patches/fuel-library/multiarch-efi/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch
index 963356b..262bd99 100644
--- a/patches/fuel-library/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch
+++ b/patches/fuel-library/multiarch-efi/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Sun, 21 Feb 2016 16:29:52 +0100
Subject: [PATCH] Add arm64 templates to cobbler and nailgun
@@ -11,7 +11,7 @@ Limitation: grub2 needs to be installed directly on the
root (/) of a device or partition, as the MAC-files will
search for /grub/grub.cfg on the available partitions
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Signed-off-by: Matei Valeanu <Matei.Valeanu@enea.com>
---
deployment/puppet/cobbler/manifests/server.pp | 36 ++++++++++++++++++++++
@@ -38,7 +38,7 @@ index 891dff7..52936d5 100644
@@ -297,6 +297,42 @@ class cobbler::server (
notify => [Service[$cobbler_service], Exec['cobbler_sync']],
}
-
+
+ file { '/etc/cobbler/pxe/efidefault.template':
+ content => template('cobbler/efidefault.template.erb'),
+ owner => 'root',
@@ -85,7 +85,7 @@ index d70f8de..98278e9 100644
@@ -41,5 +41,7 @@ dhcp-no-override
# by assigning IPs one by one instead of using hash algorithm.
dhcp-sequential-ip
-
+
+dhcp-match=set:arm64,93,11
+dhcp-boot=net:arm64,grub/grub-aarch64.efi,boothost,<%= @next_server %>
dhcp-option=6,<%= @name_server %>
@@ -156,13 +156,13 @@ index 6762153..25f8067 100644
@@ -66,9 +66,11 @@ d-i apt-setup/mirror/error select Retry
# Use network mirror
d-i apt-setup/use_mirror boolean true
-
+
+<% if @arch == 'amd64' %>
# Select architecture to amd64. That's very important to dpkg, since
# by default we have both amd64 and i386.
d-i apt-setup/multiarch string amd64
+<% end %>
-
+
# You can choose to install restricted and universe software, or to install
# software from the backports repository.
diff --git a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp
@@ -170,7 +170,7 @@ index 493ffc6..909fc92 100644
--- a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp
+++ b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp
@@ -53,17 +53,21 @@ class fuel::auxiliaryrepos(
-
+
exec { 'create_ubuntu_repo_dirs':
path => '/bin:/sbin:/usr/bin:/usr/sbin',
- command => "bash -c \"mkdir -p ${ubuntu_dir}/pool/{main,restricted} ${ubuntu_dir}/dists/auxiliary/{main,restricted}/binary-amd64/\"",
@@ -182,7 +182,7 @@ index 493ffc6..909fc92 100644
+ test -d ${ubuntu_dir}/dists/auxiliary/main/binary-arm64 && \
+ test -d ${ubuntu_dir}/dists/auxiliary/restricted/binary-arm64",
}
-
+
exec { 'create_ubuntu_repo_Packages':
path => '/bin:/sbin:/usr/bin:/usr/sbin',
- command => "bash -c \"touch ${ubuntu_dir}/dists/auxiliary/{main,restricted}/binary-amd64/Packages\"",
@@ -193,7 +193,7 @@ index 493ffc6..909fc92 100644
+ test -f ${ubuntu_dir}/dists/auxiliary/main/binary-arm64/Packages && \
+ test -f ${ubuntu_dir}/dists/auxiliary/restricted/binary-arm64/Packages",
}
-
+
file { $release_files:
diff --git a/deployment/puppet/fuel/manifests/cobbler.pp b/deployment/puppet/fuel/manifests/cobbler.pp
index b403733..c89027d 100644
@@ -202,7 +202,7 @@ index b403733..c89027d 100644
@@ -114,12 +114,9 @@ class fuel::cobbler(
require => Class['::cobbler::server'],
}
-
+
- file { '/var/lib/cobbler/kickstarts/ubuntu-amd64.preseed':
- content => template('cobbler/preseed/ubuntu-1404.preseed.erb'),
- owner => 'root',
@@ -213,12 +213,12 @@ index b403733..c89027d 100644
+ path =>'/var/lib/cobbler/kickstarts/ubuntu-amd64.preseed',
+ arch => "amd64",
} ->
-
+
cobbler_distro { 'ubuntu_1404_x86_64':
@@ -132,6 +129,21 @@ class fuel::cobbler(
require => Class['::cobbler::server'],
}
-
+
+ fuel::cobbler::preseed { 'ubuntu_1404_arm64.preseed':
+ path => '/var/lib/cobbler/kickstarts/ubuntu-arm64.preseed',
+ arch => "arm64",
@@ -240,7 +240,7 @@ index b403733..c89027d 100644
@@ -152,6 +164,16 @@ class fuel::cobbler(
require => Cobbler_distro['ubuntu_1404_x86_64'],
}
-
+
+ cobbler_profile { 'ubuntu_1404_arm64':
+ kickstart => '/var/lib/cobbler/kickstarts/ubuntu-arm64.preseed',
+ kopts => 'console=ttyAMA0,115200 console=ttyS0,115200 net.ifnames=0 biosdevname=0 netcfg/choose_interface=eth0 netcfg/dhcp_timeout=120 netcfg/link_detection_timeout=20',
diff --git a/patches/fuel-library/0014-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch b/patches/fuel-library/multiarch-efi/0002-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch
index 14d06ef..14d06ef 100644
--- a/patches/fuel-library/0014-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch
+++ b/patches/fuel-library/multiarch-efi/0002-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch
diff --git a/patches/fuel-library/0003-Make-qemu-kvm-architecture-aware.patch b/patches/fuel-library/multiarch-fuel/0001-Make-qemu-kvm-architecture-aware.patch
index 25ec082..ef1b855 100644
--- a/patches/fuel-library/0003-Make-qemu-kvm-architecture-aware.patch
+++ b/patches/fuel-library/multiarch-fuel/0001-Make-qemu-kvm-architecture-aware.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Wed, 24 Feb 2016 20:07:06 +0100
Subject: [PATCH] Make qemu-kvm architecture aware
@@ -7,10 +7,12 @@ Subject: [PATCH] Make qemu-kvm architecture aware
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-index b2339bc..ca1b2c4 100644
+index 3fcfb51..c53409c 100644
--- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
+++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp
-@@ -169,7 +169,12 @@ class openstack_tasks::compute (
+@@ -167,9 +167,14 @@ class openstack_tasks::roles::compute {
+ case $::osfamily {
+ 'RedHat': {
# From legacy libvirt.pp
+ # Guard against some exotic distros with their `uname -m`
+ $arch = $::architecture ? {
@@ -23,5 +25,5 @@ index b2339bc..ca1b2c4 100644
+ command => "/bin/ln -sf /usr/libexec/qemu-kvm /usr/bin/qemu-system-${arch}",
+ creates => "/usr/bin/qemu-system-${arch}",
}
-
+
package { 'avahi':
diff --git a/patches/fuel-library/0004-Make-TestVM-creation-architecture-aware.patch b/patches/fuel-library/multiarch-fuel/0002-Make-TestVM-creation-architecture-aware.patch
index 417727e..325b51d 100644
--- a/patches/fuel-library/0004-Make-TestVM-creation-architecture-aware.patch
+++ b/patches/fuel-library/multiarch-fuel/0002-Make-TestVM-creation-architecture-aware.patch
@@ -1,7 +1,6 @@
-From ec3299c72eae195106092a646409564b5b3eb560 Mon Sep 17 00:00:00 2001
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Wed, 24 Feb 2016 20:08:24 +0100
-Subject: [PATCH 10/20] Make TestVM creation architecture aware
+Subject: [PATCH] Make TestVM creation architecture aware
This depends on cirros-testvm package to contain both amd64 and arm64
images.
@@ -24,7 +23,7 @@ index 84e202e..cff06e0 100644
+ /(arm64|aarch64)/ => 'aarch64',
+ default => 'x86_64',
+ }
-
+
package { 'cirros-testvm':
ensure => "present"
@@ -17,14 +21,14 @@ class openstack::img::cirros (
@@ -34,7 +33,7 @@ index 84e202e..cff06e0 100644
- command => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} add name=${img_name} is_public=${public} container_format=${container_format} disk_format=${disk_format} distro=${os_name} < /opt/vm/cirros-x86_64-disk.img",
+ command => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} add name=${img_name} is_public=${public} container_format=${container_format} disk_format=${disk_format} distro=${os_name} < /opt/vm/cirros-${arch}-disk.img",
unless => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} index && (/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} index | grep ${img_name})",
-
+
}
}
'Debian': {
@@ -42,7 +41,7 @@ index 84e202e..cff06e0 100644
- command => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} add name=${img_name} is_public=${public} container_format=${container_format} disk_format=${disk_format} distro=${os_name} < /usr/share/cirros-testvm/cirros-x86_64-disk.img",
+ command => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} add name=${img_name} is_public=${public} container_format=${container_format} disk_format=${disk_format} distro=${os_name} < /usr/share/cirros-testvm/cirros-${arch}-disk.img",
unless => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} index && (/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} index | grep ${img_name})",
-
+
}
diff --git a/deployment/puppet/osnailyfacter/manifests/generate_vms/vm_config.pp b/deployment/puppet/osnailyfacter/manifests/generate_vms/vm_config.pp
index 70fef32..dfefcbe 100644
@@ -51,7 +50,7 @@ index 70fef32..dfefcbe 100644
@@ -4,6 +4,17 @@ define osnailyfacter::generate_vms::vm_config(
$details = $name
$id = $details['id']
-
+
+ case $::architecture {
+ 'arm64', 'aarch64': {
+ $machine_arch = 'aarch64'
diff --git a/patches/fuel-library/0002-Add-arm64-for-auxiliary-repos.patch b/patches/fuel-library/multiarch-mirrors/0001-Add-arm64-for-auxiliary-repos.patch
index 2edabc6..6d8b024 100644
--- a/patches/fuel-library/0002-Add-arm64-for-auxiliary-repos.patch
+++ b/patches/fuel-library/multiarch-mirrors/0001-Add-arm64-for-auxiliary-repos.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Wed, 24 Feb 2016 20:05:25 +0100
Subject: [PATCH] Add arm64 for auxiliary repos
@@ -20,10 +20,10 @@ index 2d5ce58..03f84b8 100644
Components: main restricted
Description: Auxiliary
diff --git a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp
-index 720943d..91adb3e 100644
+index 909fc92..4ec5d05 100644
--- a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp
+++ b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp
-@@ -40,7 +40,9 @@ class nailgun::auxiliaryrepos(
+@@ -45,7 +45,9 @@ class fuel::auxiliaryrepos(
$release_files = [
"${ubuntu_dir}/dists/auxiliary/Release",
"${ubuntu_dir}/dists/auxiliary/main/binary-amd64/Release",
@@ -31,6 +31,6 @@ index 720943d..91adb3e 100644
+ "${ubuntu_dir}/dists/auxiliary/restricted/binary-amd64/Release",
+ "${ubuntu_dir}/dists/auxiliary/main/binary-arm64/Release",
+ "${ubuntu_dir}/dists/auxiliary/restricted/binary-arm64/Release"]
-
+
Exec['create_ubuntu_repo_dirs'] ->
Exec['create_ubuntu_repo_Packages'] ->
diff --git a/patches/fuel-library/0013-Allow-configuring-MySQL-WSREP-SST-provider.patch b/patches/fuel-library/mysql-sst-provider/0001-Allow-configuring-MySQL-WSREP-SST-provider.patch
index 6d9bc8c..632aa8f 100644
--- a/patches/fuel-library/0013-Allow-configuring-MySQL-WSREP-SST-provider.patch
+++ b/patches/fuel-library/mysql-sst-provider/0001-Allow-configuring-MySQL-WSREP-SST-provider.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Wed, 20 Apr 2016 14:54:42 -0700
Subject: [PATCH] Allow configuring MySQL WSREP SST provider
@@ -15,30 +15,32 @@ This patch is tied to a patch in fuel-web that introduces configuration
options for WSREP SST provider and in case nothing is specified, it
will choose `xtrabackup-v2`.
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
---
deployment/puppet/osnailyfacter/manifests/database/database.pp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/deployment/puppet/osnailyfacter/manifests/database/database.pp b/deployment/puppet/osnailyfacter/manifests/database/database.pp
-index 1755c34..0cfbc8c 100644
+index e741ff8..be19eb5 100644
--- a/deployment/puppet/osnailyfacter/manifests/database/database.pp
+++ b/deployment/puppet/osnailyfacter/manifests/database/database.pp
-@@ -8,4 +8,5 @@ class osnailyfacter::database::database {
+@@ -8,6 +8,7 @@ class osnailyfacter::database::database {
$use_syslog = hiera('use_syslog', true)
$primary_controller = hiera('primary_controller')
$mysql_hash = hiera_hash('mysql', {})
+ $wsrep_hash = hiera_hash('mysql_wsrep', {})
$debug = pick($mysql_hash['debug'], hiera('debug', false))
-@@ -22,6 +23,7 @@ class osnailyfacter::database::database {
-
+
+ $mgmt_iface = get_network_role_property('mgmt/database', 'interface')
+@@ -17,6 +18,7 @@ class osnailyfacter::database::database {
+
$mysql_root_password = $mysql_hash['root_password']
$enabled = pick($mysql_hash['enabled'], true)
+ $wsrep_sst_method = pick($wsrep_hash['wsrep_method'], 'xtrabackup-v2')
-
+
$galera_node_address = get_network_role_property('mgmt/database', 'ipaddr')
$galera_nodes = values(get_node_to_ipaddr_map_by_network_role(hiera_hash('database_nodes'), 'mgmt/database'))
-@@ -216,7 +218,7 @@ class osnailyfacter::database::database {
+@@ -211,7 +213,7 @@ class osnailyfacter::database::database {
'wsrep_cluster_name' => $galera_cluster_name,
'wsrep_provider_options' => $wsrep_provider_options,
'wsrep_slave_threads' => $wsrep_slave_threads,
@@ -47,7 +49,7 @@ index 1755c34..0cfbc8c 100644
#TODO (sgolovatiuk): fix this, should be a specific user not root
'wsrep_sst_auth' => "\"root:${mysql_root_password}\"",
'wsrep_node_address' => $galera_node_address,
-@@ -269,7 +271,7 @@ class osnailyfacter::database::database {
+@@ -264,7 +266,7 @@ class osnailyfacter::database::database {
wsrep_group_comm_port => $wsrep_group_comm_port,
bind_address => $galera_node_address,
local_ip => $galera_node_address,
@@ -55,4 +57,4 @@ index 1755c34..0cfbc8c 100644
+ wsrep_sst_method => $wsrep_sst_method,
override_options => $override_options,
}
-
+
diff --git a/patches/fuel-library/0015-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespace.patch b/patches/fuel-library/upstream-backports/0001-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespac.patch
index 86318bb..281ef23 100644
--- a/patches/fuel-library/0015-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespace.patch
+++ b/patches/fuel-library/upstream-backports/0001-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespac.patch
@@ -15,21 +15,21 @@ index cdd814c..49cbd17 100644
--- a/files/fuel-ha-utils/ocf/ns_dns
+++ b/files/fuel-ha-utils/ocf/ns_dns
@@ -140,7 +140,7 @@ exit $OCF_SUCCESS
-
+
check_ns() {
local ns=`ip netns list | grep "$OCF_RESKEY_ns"`
- [ $ns != $OCF_RESKEY_ns ] && return $OCF_ERR_GENERIC
+ [ "$ns" != $OCF_RESKEY_ns ] && return $OCF_ERR_GENERIC
return $OCF_SUCCESS
}
-
+
@@ -150,6 +150,7 @@ get_ns() {
-
+
ocf_run ip netns add $OCF_RESKEY_ns
rc=$?
+ ocf_run $RUN_IN_NS /sbin/sysctl -w net.ipv4.ip_nonlocal_bind=1
ocf_run $RUN_IN_NS ip link set up dev lo
-
+
return $rc
diff --git a/files/fuel-ha-utils/ocf/ns_vrouter b/files/fuel-ha-utils/ocf/ns_vrouter
index a65e9cf..5cc6c98 100644
@@ -43,12 +43,12 @@ index a65e9cf..5cc6c98 100644
+ [[ "$ns" != $OCF_RESKEY_ns ]] && return $OCF_ERR_GENERIC
return $OCF_SUCCESS
}
-
+
@@ -197,6 +197,7 @@ get_ns() {
-
+
ocf_run ip netns add $OCF_RESKEY_ns
rc=$?
+ ocf_run $RUN_IN_NS /sbin/sysctl -w net.ipv4.ip_nonlocal_bind=1
ocf_run $RUN_IN_NS ip link set up dev lo
ocf_log debug "${LH} added netns ${OCF_RESKEY_ns} and set up lo"
-
+
diff --git a/patches/fuel-library/0017-Always-wait-for-MySQL-sync-on-service-refresh.patch b/patches/fuel-library/upstream-backports/0002-Always-wait-for-MySQL-sync-on-service-refresh.patch
index e070411..d7fac94 100644
--- a/patches/fuel-library/0017-Always-wait-for-MySQL-sync-on-service-refresh.patch
+++ b/patches/fuel-library/upstream-backports/0002-Always-wait-for-MySQL-sync-on-service-refresh.patch
@@ -1,6 +1,6 @@
From: dmburmistrov <dmburmistrov@mirantis.com>
Date: Thu, 18 Aug 2016 21:30:26 +0300
-Subject: Always wait for MySQL sync on service refresh
+Subject: [PATCH] Always wait for MySQL sync on service refresh
Always trigger Exec['wait-for-sync'] on
MySQL service refresh.
@@ -14,21 +14,21 @@ Change-Id: I82ec0d46eff217daedc1bd07c67069498c515c44
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/deployment/puppet/cluster/manifests/mysql.pp b/deployment/puppet/cluster/manifests/mysql.pp
-index 0b766c5..055b931 100644
+index c36b65d..f483cf6 100644
--- a/deployment/puppet/cluster/manifests/mysql.pp
+++ b/deployment/puppet/cluster/manifests/mysql.pp
-@@ -111,7 +111,7 @@ class cluster::mysql (
+@@ -104,7 +104,7 @@ class cluster::mysql (
require => Package['mysql-server'],
} ~>
-
+
- exec { 'wait-initial-sync':
+ exec { 'wait-for-sync':
path => '/bin:/sbin:/usr/bin:/usr/sbin',
command => "mysql ${user_password_string} -Nbe \"show status like 'wsrep_local_state_comment'\" | grep -q -e Synced && sleep 10",
try_sleep => 10,
-@@ -126,7 +126,7 @@ class cluster::mysql (
+@@ -119,7 +119,7 @@ class cluster::mysql (
}
-
+
Exec['create-init-file'] ->
- Service<| title == $service_name |> ->
- Exec['wait-initial-sync'] ->
@@ -37,17 +37,17 @@ index 0b766c5..055b931 100644
Exec['rm-init-file']
}
diff --git a/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb b/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb
-index be00056..e4d62c4 100644
+index cf2c719..72c8c2f 100644
--- a/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb
+++ b/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb
-@@ -39,12 +39,16 @@ describe 'cluster::mysql' do
+@@ -34,12 +34,16 @@ describe 'cluster::mysql' do
/'username'@'localhost' IDENTIFIED BY 'password'/
)
should contain_exec('create-init-file').that_comes_before('Service[mysqld]')
- should contain_exec('create-init-file').that_notifies('Exec[wait-initial-sync]')
+ should contain_exec('create-init-file').that_notifies('Exec[wait-for-sync]')
end
-
+
it 'creates exec to remove init-file' do
should contain_exec('rm-init-file')
end
@@ -56,5 +56,5 @@ index be00056..e4d62c4 100644
+ should contain_exec('wait-for-sync').that_subscribes_to('Service[mysqld]')
+ end
end
-
+
end
diff --git a/patches/fuel-library/0018-Fix-MySQL-logging-dir-permissions-for-syslog.patch b/patches/fuel-library/upstream-backports/0003-Fix-MySQL-logging-dir-permissions-for-syslog.patch
index da6acac..7dfede1 100644
--- a/patches/fuel-library/0018-Fix-MySQL-logging-dir-permissions-for-syslog.patch
+++ b/patches/fuel-library/upstream-backports/0003-Fix-MySQL-logging-dir-permissions-for-syslog.patch
@@ -1,6 +1,6 @@
From: Maksim Malchuk <mmalchuk@mirantis.com>
Date: Wed, 24 Aug 2016 00:15:02 +0300
-Subject: Fix MySQL logging dir permissions for syslog
+Subject: [PATCH] Fix MySQL logging dir permissions for syslog
This change fixes permissions for MySQL logging directory to enable
syslogd create and write logs files into it.
@@ -22,7 +22,7 @@ index f483cf6..7bc8874 100644
@@ -118,8 +118,16 @@ class cluster::mysql (
onlyif => 'test -f /tmp/wsrep-init-file',
}
-
+
+ file { 'fix-log-dir':
+ ensure => directory,
+ path => '/var/log/mysql',
@@ -51,11 +51,11 @@ index 72c8c2f..ad3fc1b 100644
+ should contain_exec('create-init-file').that_comes_before('File[fix-log-dir]')
should contain_exec('create-init-file').that_notifies('Exec[wait-for-sync]')
end
-
+
@@ -41,6 +41,15 @@ describe 'cluster::mysql' do
should contain_exec('rm-init-file')
end
-
+
+ it 'should have correct permissions for logging directory' do
+ should contain_file('fix-log-dir').with(
+ :ensure => 'directory',
@@ -75,7 +75,7 @@ index d4ad8d0..2c4c5c5 100644
@@ -261,6 +261,15 @@ describe manifest do
)
end
-
+
+ it 'should have correct permissions for logging directory' do
+ should contain_file('fix-log-dir').with(
+ :ensure => 'directory',
diff --git a/patches/fuel-mirror/0001-Set-mos-ubuntu-base-URL-to-linux.enea.com.patch b/patches/fuel-mirror/0001-Set-mos-ubuntu-base-URL-to-linux.enea.com.patch
index a12c414..9d45cda 100644
--- a/patches/fuel-mirror/0001-Set-mos-ubuntu-base-URL-to-linux.enea.com.patch
+++ b/patches/fuel-mirror/0001-Set-mos-ubuntu-base-URL-to-linux.enea.com.patch
@@ -8,7 +8,7 @@ Contents of amd64 mos-ubuntu repos should be in sync with arm64.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/contrib/fuel_mirror/data/ubuntu.yaml b/contrib/fuel_mirror/data/ubuntu.yaml
-index 5ce288e..7bc0c4b 100644
+index ac62455..cd86ec9 100644
--- a/contrib/fuel_mirror/data/ubuntu.yaml
+++ b/contrib/fuel_mirror/data/ubuntu.yaml
@@ -1,6 +1,6 @@
@@ -16,6 +16,6 @@ index 5ce288e..7bc0c4b 100644
ubuntu_baseurl: &ubuntu_baseurl http://archive.ubuntu.com/ubuntu
-mos_baseurl: &mos_baseurl http://mirror.fuel-infra.org/mos-repos/ubuntu/$mos_version
+mos_baseurl: &mos_baseurl http://linux.enea.com/mos-repos/ubuntu/$mos_version
-
+
fuel_release_match:
version: $openstack_version
diff --git a/patches/fuel-mirror/0003-kernel-flavor-Add-linux-image-generic-lts-xenial.patch b/patches/fuel-mirror/kernel-bump/0001-kernel-flavor-Add-linux-image-generic-lts-xenial.patch
index 6be21da..35f356d 100644
--- a/patches/fuel-mirror/0003-kernel-flavor-Add-linux-image-generic-lts-xenial.patch
+++ b/patches/fuel-mirror/kernel-bump/0001-kernel-flavor-Add-linux-image-generic-lts-xenial.patch
@@ -8,14 +8,14 @@ Ubuntu arm64: While keeping kernel 4.2 for Trusty
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
- contrib/fuel_mirror/data/ubuntu.yaml | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ contrib/fuel_mirror/data/ubuntu.yaml | 2 ++
+ 1 file changed, 2 insertions(+)
diff --git a/contrib/fuel_mirror/data/ubuntu.yaml b/contrib/fuel_mirror/data/ubuntu.yaml
-index 2ec4f1d..b8c0ae4 100644
+index 2ec4f1d..6805847 100644
--- a/contrib/fuel_mirror/data/ubuntu.yaml
+++ b/contrib/fuel_mirror/data/ubuntu.yaml
-@@ -98,6 +98,8 @@ packages: &packages
+@@ -100,6 +100,8 @@ packages: &packages
- "linux-firmware-nonfree"
- "linux-headers-generic-lts-trusty"
- "linux-image-generic-lts-trusty"
diff --git a/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch b/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch
index d8fe07d..f1a1d41 100644
--- a/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch
+++ b/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch
@@ -104,10 +104,10 @@ index 0000000..08a528b
+ </instructions>
+ </configuration>
diff --git a/deployment_scripts/puppet/modules/opendaylight/manifests/init.pp b/deployment_scripts/puppet/modules/opendaylight/manifests/init.pp
-index a322f70..f71bfc8 100644
+index 69cc23a..791ceba 100644
--- a/deployment_scripts/puppet/modules/opendaylight/manifests/init.pp
+++ b/deployment_scripts/puppet/modules/opendaylight/manifests/init.pp
-@@ -10,4 +10,12 @@ class opendaylight {
+@@ -9,4 +9,12 @@ class opendaylight {
$odl_mgmt_ips = values($odl_mgmt_ips_hash)
$odl_nodes_names = keys($odl_mgmt_ips_hash)
$node_internal_address = $odl_mgmt_ips_hash["node-${node_uid}"]
@@ -121,13 +121,13 @@ index a322f70..f71bfc8 100644
+ }
}
diff --git a/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp b/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp
-index 924a840..d55a311 100644
+index 1962609..ca98532 100644
--- a/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp
+++ b/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp
@@ -17,6 +17,12 @@ class opendaylight::install (
ensure => installed,
}
-
+
+ if ($::osfamily == 'Debian' and $::opendaylight::arch == 'arm64') {
+ class { 'opendaylight::leveldbjni':
+ require => Package[$odl_package],
@@ -138,9 +138,9 @@ index 924a840..d55a311 100644
class { 'opendaylight::quagga':
before => Service['opendaylight']
@@ -35,7 +41,8 @@ class opendaylight::install (
-
+
debug("Set odl rest api port to ${rest_port}")
-
+
- file { "${conf_dir}/jetty.xml":
+ file { 'jetty.xml':
+ path => "${conf_dir}/jetty.xml",
@@ -313,10 +313,10 @@ index 0000000..5125fc7
+ }
+}
diff --git a/deployment_tasks.yaml b/deployment_tasks.yaml
-index 3706678..841bfee 100644
+index 20bd24f..e324ff5 100644
--- a/deployment_tasks.yaml
+++ b/deployment_tasks.yaml
-@@ -17,7 +17,7 @@
+@@ -20,7 +20,7 @@
parameters:
puppet_manifest: puppet/manifests/odl-install.pp
puppet_modules: puppet/modules:/etc/puppet/modules
diff --git a/patches/fuel-plugin-opendaylight/0002-opnfv-quagga-Build-for-UBUNTU_ARCH.patch b/patches/fuel-plugin-opendaylight/0002-opnfv-quagga-Build-for-UBUNTU_ARCH.patch
index a44222a..e6e7716 100644
--- a/patches/fuel-plugin-opendaylight/0002-opnfv-quagga-Build-for-UBUNTU_ARCH.patch
+++ b/patches/fuel-plugin-opendaylight/0002-opnfv-quagga-Build-for-UBUNTU_ARCH.patch
@@ -30,21 +30,21 @@ branch "stable/colorado", including prebuilt binaries (DEBs) for:
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
- pre_build_hook | 16 ++++++++++++++--
- 1 file changed, 14 insertions(+), 2 deletions(-)
+ pre_build_hook | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/pre_build_hook b/pre_build_hook
-index f973826..953e66c 100755
+index 0296821..a6d55e9 100755
--- a/pre_build_hook
+++ b/pre_build_hook
-@@ -41,9 +41,17 @@ NETWORKING_ODL_BRANCH=${NETWORKING_ODL_BRANCH:-stable/mitaka}
+@@ -53,9 +53,17 @@ NETWORKING_ODL_BRANCH=${NETWORKING_ODL_BRANCH:-stable/mitaka}
OPNFV_QUAGGE_PACKAGING_REPO=${OPNFV_QUAGGE_PACKAGING_REPO:-https://github.com/nikolas-hermanns/opnfv-quagga-packaging}
OPNFV_QUAGGE_PACKAGING_BRANCH=stable/colorado
-
+
-# For which systems odl package should be build
+# For which systems odl package should be built
BUILD_FOR=${BUILD_FOR:-ubuntu}
-
+
+# For which architecture(s) package should be built
+# Only applicable when "BUILD_FOR=ubuntu"
+# ODL itself is mostly arch-indep, but its deps are not
@@ -56,7 +56,7 @@ index f973826..953e66c 100755
DIR="$(dirname `readlink -f $0`)"
TMP_DIR="${DIR}/tmp"
MODULES="${DIR}/deployment_scripts/puppet/modules"
-@@ -74,7 +82,10 @@ function add_opnfv_quagga {
+@@ -86,7 +94,10 @@ function add_opnfv_quagga {
sudo apt-get -y install `cat requirements.txt`
make -j6
fi
@@ -67,4 +67,4 @@ index f973826..953e66c 100755
+ done
popd
popd
-
+
diff --git a/patches/fuel-plugin-opendaylight/0003-FIXME-ODL-wget-no-check-certificate-for-cache.patch b/patches/fuel-plugin-opendaylight/0003-FIXME-ODL-wget-no-check-certificate-for-cache.patch
index b57de50..8b2d1a3 100644
--- a/patches/fuel-plugin-opendaylight/0003-FIXME-ODL-wget-no-check-certificate-for-cache.patch
+++ b/patches/fuel-plugin-opendaylight/0003-FIXME-ODL-wget-no-check-certificate-for-cache.patch
@@ -28,15 +28,15 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pre_build_hook b/pre_build_hook
-index 4785917..c3dd664 100755
+index a6d55e9..21e7a99 100755
--- a/pre_build_hook
+++ b/pre_build_hook
-@@ -64,7 +64,7 @@ function cleanup {
+@@ -76,7 +76,7 @@ function cleanup {
}
-
+
function download {
- wget "$1" -qO $2
+ wget --no-check-certificate "$1" -qO $2
}
-
+
function unpack {
diff --git a/patches/fuel-plugin-ovs/0002-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch b/patches/fuel-plugin-ovs/0001-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch
index e9b90be..4c2283f 100644
--- a/patches/fuel-plugin-ovs/0002-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch
+++ b/patches/fuel-plugin-ovs/0001-Cleanup-Use-dget-instead-of-wget-dpkg-source.patch
@@ -24,25 +24,25 @@ index 1b42df1..3d7edea 100755
+++ b/ovs_build/build-ovs-nsh-dpdk.sh
@@ -17,10 +17,7 @@ sudo apt-get -y install devscripts dpkg-dev git wget
rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}
-
+
cd ${BUILD_HOME}
-wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc
-wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0.orig.tar.gz
-wget -c https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.debian.tar.xz
-dpkg-source -x dpdk_2.2.0-0ubuntu8.dsc
+dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc
-
+
# copy from debian/control
sudo apt-get install -y debhelper \
@@ -49,10 +46,7 @@ cd ${BUILD_HOME}; sudo dpkg -i *.deb
apt-get download libxenstore3.0
-
+
cd ${BUILD_HOME}
-wget -c https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0.orig.tar.gz
-wget -c https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc
-wget -c https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.debian.tar.xz
-dpkg-source -x openvswitch-dpdk_2.4.0-0ubuntu1.dsc
+dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc
-
+
# copy from debian/control
sudo apt-get install -y autoconf \
diff --git a/patches/fuel-plugin-ovs/0003-Cleanup-Drop-git-dependency.patch b/patches/fuel-plugin-ovs/0002-Cleanup-Drop-git-dependency.patch
index 89cab56..22aa570 100644
--- a/patches/fuel-plugin-ovs/0003-Cleanup-Drop-git-dependency.patch
+++ b/patches/fuel-plugin-ovs/0002-Cleanup-Drop-git-dependency.patch
@@ -13,46 +13,46 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/ovs_build/build-ovs-dpdk.sh b/ovs_build/build-ovs-dpdk.sh
-index aeb5eb7..9e92014 100755
+index aeb5eb7..01ba032 100755
--- a/ovs_build/build-ovs-dpdk.sh
+++ b/ovs_build/build-ovs-dpdk.sh
@@ -3,14 +3,14 @@
set -eux
-
+
OVS_COMMIT=9f4ecd654dbcb88b15a424445184591fc887537e
-URL_OVS=https://github.com/openvswitch/ovs.git
+URL_OVS_ARCHIVE=https://github.com/openvswitch/ovs/archive
BUILD_DEB=${BUILD_DEB:-/deb}
BUILD_SRC="$(dirname `readlink -f $0`)"
BUILD_DEST=${BUILD_DEST:-/tmp/ovs-dpdk}
-
+
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
-
+
-sudo apt-get -y install devscripts dpkg-dev git wget
+sudo apt-get -y install devscripts dpkg-dev wget
-
+
rm -rf ${BUILD_DEST}; mkdir -p ${BUILD_DEST}
-
+
@@ -62,9 +62,9 @@ sudo apt-get install -y autoconf \
python-zopeinterface \
python-six
-
+
-git clone https://github.com/openvswitch/ovs.git
-cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git
-cd ${BUILD_DEST}; cp -r ovs ovs-dpdk
+wget -c ${URL_OVS_ARCHIVE}/${OVS_COMMIT}.tar.gz
+tar xzf ${OVS_COMMIT}.tar.gz; mv ovs-${OVS_COMMIT} ovs
+cp -r ovs ovs-dpdk
-
+
cd ovs-dpdk
cp -r ${BUILD_SRC}/openvswitch-dpdk_2.5.90/debian .
diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh
-index 3d7edea..ec5eef4 100755
+index 3d7edea..25e4b6c 100755
--- a/ovs_build/build-ovs-nsh-dpdk.sh
+++ b/ovs_build/build-ovs-nsh-dpdk.sh
@@ -3,7 +3,7 @@
set -eux
-
+
OVS_COMMIT=7d433ae57ebb90cd68e8fa948a096f619ac4e2d8
-URL_OVS=https://github.com/openvswitch/ovs.git
+URL_OVS_ARCHIVE=https://github.com/openvswitch/ovs/archive
@@ -61,17 +61,17 @@ index 3d7edea..ec5eef4 100755
BUILD_DEST=${BUILD_DEST:-/deb}
@@ -12,7 +12,7 @@ DIR="$(dirname `readlink -f $0`)"
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
-
+
sudo apt-get build-dep openvswitch -y
-sudo apt-get -y install devscripts dpkg-dev git wget
+sudo apt-get -y install devscripts dpkg-dev wget
-
+
rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}
-
+
@@ -35,7 +35,7 @@ sudo apt-get install -y debhelper \
texlive-fonts-recommended \
texlive-latex-extra
-
+
-cd dpdk-2.2.0; rm -rf debian/patches/;
+cd dpdk-2.2.0; rm -rf debian/patches/
cat << EOF > debian/changelog
@@ -80,7 +80,7 @@ index 3d7edea..ec5eef4 100755
@@ -68,8 +68,8 @@ sudo apt-get install -y autoconf \
python-zopeinterface \
python-six
-
+
-git clone https://github.com/openvswitch/ovs.git
-cd ovs; git checkout ${OVS_COMMIT}
+wget -c ${URL_OVS_ARCHIVE}/${OVS_COMMIT}.tar.gz
diff --git a/patches/fuel-plugin-ovs/0004-build-apt-force-yes.patch b/patches/fuel-plugin-ovs/0003-build-apt-force-yes.patch
index 5b5712d..9ec04cd 100644
--- a/patches/fuel-plugin-ovs/0004-build-apt-force-yes.patch
+++ b/patches/fuel-plugin-ovs/0003-build-apt-force-yes.patch
@@ -19,21 +19,21 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/ovs_build/build-ovs-dpdk.sh b/ovs_build/build-ovs-dpdk.sh
-index 9e92014..75904f2 100755
+index 01ba032..dd9c6ff 100755
--- a/ovs_build/build-ovs-dpdk.sh
+++ b/ovs_build/build-ovs-dpdk.sh
@@ -10,7 +10,7 @@ BUILD_DEST=${BUILD_DEST:-/tmp/ovs-dpdk}
-
+
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
-
+
-sudo apt-get -y install devscripts dpkg-dev wget
+sudo apt-get -y --force-yes install devscripts dpkg-dev wget
-
+
rm -rf ${BUILD_DEST}; mkdir -p ${BUILD_DEST}
-
+
@@ -21,7 +21,7 @@ cd dpdk-16.07
cp -r ${BUILD_SRC}/dpdk_16.07/debian .
-
+
# copy from debian/control
-sudo apt-get install -y debhelper \
+sudo apt-get install -y --force-yes debhelper \
@@ -43,7 +43,7 @@ index 9e92014..75904f2 100755
@@ -41,9 +41,9 @@ cd ${BUILD_DEST}
sudo dpkg -i *.deb
apt-get download libxenstore3.0
-
+
-sudo apt-get build-dep openvswitch -y
+sudo apt-get build-dep openvswitch -y --force-yes
# copy from debian/control
@@ -53,23 +53,23 @@ index 9e92014..75904f2 100755
bzip2 \
debhelper \
diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh
-index ec5eef4..3b84f4c 100755
+index 25e4b6c..3751c02 100755
--- a/ovs_build/build-ovs-nsh-dpdk.sh
+++ b/ovs_build/build-ovs-nsh-dpdk.sh
@@ -11,8 +11,8 @@ DIR="$(dirname `readlink -f $0`)"
-
+
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
-
+
-sudo apt-get build-dep openvswitch -y
-sudo apt-get -y install devscripts dpkg-dev wget
+sudo apt-get build-dep openvswitch -y --force-yes
+sudo apt-get -y --force-yes install devscripts dpkg-dev wget
-
+
rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}
-
+
@@ -20,7 +20,7 @@ cd ${BUILD_HOME}
dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc
-
+
# copy from debian/control
-sudo apt-get install -y debhelper \
+sudo apt-get install -y --force-yes debhelper \
@@ -78,7 +78,7 @@ index ec5eef4..3b84f4c 100755
doxygen \
@@ -49,7 +49,7 @@ cd ${BUILD_HOME}
dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc
-
+
# copy from debian/control
-sudo apt-get install -y autoconf \
+sudo apt-get install -y --force-yes autoconf \
diff --git a/patches/fuel-plugin-ovs/0005-pre_build_hook-Introduce-USE_DOCKER-option.patch b/patches/fuel-plugin-ovs/0004-pre_build_hook-Introduce-USE_DOCKER-option.patch
index dbbfefc..7df0c5f 100644
--- a/patches/fuel-plugin-ovs/0005-pre_build_hook-Introduce-USE_DOCKER-option.patch
+++ b/patches/fuel-plugin-ovs/0004-pre_build_hook-Introduce-USE_DOCKER-option.patch
@@ -26,11 +26,11 @@ index 63cf7b4..b9ae6bb 100755
+++ b/pre_build_hook
@@ -3,27 +3,40 @@
set -eux
-
+
BUILD_FOR=${BUILD_FOR:-ubuntu}
+USE_DOCKER=${USE_DOCKER:-true}
DIR="$(dirname `readlink -f $0`)"
-
+
+if [ `uname -m` = 'aarch64' ]; then
+ USE_DOCKER=false
+fi
@@ -45,7 +45,7 @@ index 63cf7b4..b9ae6bb 100755
+ rm -rf ${DIR}/repositories/ubuntu ${DEB_DIR} ${DEB_DIR_NSH}
+ mkdir -p ${DIR}/repositories/ubuntu ${DEB_DIR} ${DEB_DIR_NSH}
+ sudo chmod -R 777 ${DEB_DIR} ${DEB_DIR_NSH}
-
+
cd ${DIR}/ovs_build
- sudo docker build -t ovs_build .
+ if [ "${USE_DOCKER}" = true ]; then
@@ -58,13 +58,13 @@ index 63cf7b4..b9ae6bb 100755
+ BUILD_HOME=/tmp/ovs-build-nsh-dpdk BUILD_DEST=${DEB_DIR_NSH} ./build-ovs-nsh-dpdk.sh
+ rm -rf /tmp/ovs-build-{,nsh-}dpdk
+ fi
-
+
- DEB_DIR=${DIR}/deb-ovs-dpdk
- rm -rf ${DEB_DIR}; mkdir -p ${DEB_DIR}; chmod 777 ${DEB_DIR};
- sudo docker run -v ${DEB_DIR}:/deb -t ovs_build /ovs_build/build-ovs-dpdk.sh
cd ${DEB_DIR}; tar czvf ../repositories/ubuntu/ovs-dpdk.tar.gz .;
cd ..; rm -rf ${DEB_DIR}
-
+
- DEB_DIR=${DIR}/deb-ovs-nsh-dpdk
- rm -rf ${DEB_DIR}; mkdir -p ${DEB_DIR}; chmod 777 ${DEB_DIR};
- sudo docker run -v ${DEB_DIR}:/deb -t ovs_build /ovs_build/build-ovs-nsh-dpdk.sh
@@ -72,6 +72,6 @@ index 63cf7b4..b9ae6bb 100755
- cd ..; rm -rf ${DEB_DIR}
+ cd ${DEB_DIR_NSH}; tar czvf ../repositories/ubuntu/ovs-nsh-dpdk.tar.gz .;
+ cd ..; rm -rf ${DEB_DIR_NSH}
-
+
;;
*) echo "Not supported system"; exit 1;;
diff --git a/patches/fuel-plugin-ovs/0006-build-install-pre_build_hook-Prepare-multiarch.patch b/patches/fuel-plugin-ovs/0005-build-install-pre_build_hook-Prepare-multiarch.patch
index 8ba8dd2..da71d8e 100644
--- a/patches/fuel-plugin-ovs/0006-build-install-pre_build_hook-Prepare-multiarch.patch
+++ b/patches/fuel-plugin-ovs/0005-build-install-pre_build_hook-Prepare-multiarch.patch
@@ -45,7 +45,7 @@ index efbed72..46d74bb 100644
dpdk_socket_mem=${4:-''}
+arch=$(dpkg --print-architecture)
+ovs="ovs-dpdk_${arch}.tar.gz"
-
+
-if [ $nsh = 'true' ]
-then
- curl http://$host:8080/plugins/fuel-plugin-ovs-0.9/repositories/ubuntu/ovs-nsh-dpdk.tar.gz | tar -xzv
@@ -58,7 +58,7 @@ index efbed72..46d74bb 100644
+if [ $nsh = 'true' ]; then
+ ovs="ovs-nsh-dpdk_${arch}.tar.gz"
+fi
-+
++
+curl http://$host:8080/plugins/fuel-plugin-ovs-0.9/repositories/ubuntu/${ovs} | tar -xzv
+dpkg -i openvswitch-datapath-dkms_*.deb
+dpkg -i openvswitch-common_*.deb
@@ -109,9 +109,9 @@ index dd9c6ff..a14f5fd 100755
--- a/ovs_build/build-ovs-dpdk.sh
+++ b/ovs_build/build-ovs-dpdk.sh
@@ -10,18 +10,27 @@ BUILD_DEST=${BUILD_DEST:-/tmp/ovs-dpdk}
-
+
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
-
+
-sudo apt-get -y --force-yes install devscripts dpkg-dev wget
+# Keep track of native arch (BUILD_ARCH) and target arch(s) (UBUNTU_ARCH)
+# All archs should be represented in `dpkg --print-architecture` format
@@ -119,7 +119,7 @@ index dd9c6ff..a14f5fd 100755
+# FIXME(armband): For now, only native building is supported!
+BUILD_ARCH=$(dpkg --print-architecture)
+UBUNTU_ARCH=${UBUNTU_ARCH:-${BUILD_ARCH}}
-
+
-rm -rf ${BUILD_DEST}; mkdir -p ${BUILD_DEST}
+# Build and/or fetch precompiled packages for all arch(s) in UBUNTU_ARCH
+for ARCH in ${UBUNTU_ARCH}; do
@@ -127,7 +127,7 @@ index dd9c6ff..a14f5fd 100755
+ if [ ${ARCH} = ${BUILD_ARCH} ]; then
+ # Native building for: DPDK, OVS-DPDK, OVS
+ sudo apt-get -y --force-yes install devscripts dpkg-dev wget
-
+
-cd ${BUILD_DEST}
-wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz
-xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar
@@ -137,7 +137,7 @@ index dd9c6ff..a14f5fd 100755
+ xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar
+ cd dpdk-16.07
+ cp -r ${BUILD_SRC}/dpdk_16.07/debian .
-
+
-# copy from debian/control
-sudo apt-get install -y --force-yes debhelper \
+ # DPDK build-dep install: copy from debian/control
@@ -151,14 +151,14 @@ index dd9c6ff..a14f5fd 100755
texlive-latex-extra
-debian/rules build; fakeroot debian/rules binary
+ debian/rules build; fakeroot debian/rules binary
-
+
-cd ${BUILD_DEST}
-sudo dpkg -i *.deb
-apt-get download libxenstore3.0
+ cd ${BUILD_DEST}
+ sudo dpkg -i *.deb
+ apt-get download libxenstore3.0
-
+
-sudo apt-get build-dep openvswitch -y --force-yes
-# copy from debian/control
-sudo apt-get install -y --force-yes autoconf \
@@ -171,27 +171,27 @@ index dd9c6ff..a14f5fd 100755
@@ -62,16 +71,19 @@ sudo apt-get install -y --force-yes autoconf \
python-zopeinterface \
python-six
-
+
-wget -c ${URL_OVS_ARCHIVE}/${OVS_COMMIT}.tar.gz
-tar xzf ${OVS_COMMIT}.tar.gz; mv ovs-${OVS_COMMIT} ovs
-cp -r ovs ovs-dpdk
+ wget -c ${URL_OVS_ARCHIVE}/${OVS_COMMIT}.tar.gz
+ tar xzf ${OVS_COMMIT}.tar.gz; mv ovs-${OVS_COMMIT} ovs
+ cp -r ovs ovs-dpdk
-
+
-cd ovs-dpdk
-cp -r ${BUILD_SRC}/openvswitch-dpdk_2.5.90/debian .
-debian/rules build; fakeroot debian/rules binary
+ cd ovs-dpdk
+ cp -r ${BUILD_SRC}/openvswitch-dpdk_2.5.90/debian .
+ debian/rules build; fakeroot debian/rules binary
-
+
-cd ${BUILD_DEST}/ovs
-debian/rules build; fakeroot debian/rules binary
+ cd ${BUILD_DEST}/ovs
+ debian/rules build; fakeroot debian/rules binary
+ fi
-
+
-cp -r ${BUILD_DEST}/*.deb ${BUILD_DEB}
-rm -rf ${BUILD_DEST}
+ # Store DEBs in <${BUILD_DEB}/${ARCH}/> dir and cleanup
@@ -203,9 +203,9 @@ index 3751c02..a65a2bb 100755
--- a/ovs_build/build-ovs-nsh-dpdk.sh
+++ b/ovs_build/build-ovs-nsh-dpdk.sh
@@ -11,16 +11,24 @@ DIR="$(dirname `readlink -f $0`)"
-
+
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
-
+
-sudo apt-get build-dep openvswitch -y --force-yes
-sudo apt-get -y --force-yes install devscripts dpkg-dev wget
+# Keep track of native arch (BUILD_ARCH) and target arch(s) (UBUNTU_ARCH)
@@ -214,7 +214,7 @@ index 3751c02..a65a2bb 100755
+# FIXME(armband): For now, only native building is supported!
+BUILD_ARCH=$(dpkg --print-architecture)
+UBUNTU_ARCH=${UBUNTU_ARCH:-${BUILD_ARCH}}
-
+
-rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}
+# Build and/or fetch precompiled packages for all arch(s) in UBUNTU_ARCH
+for ARCH in ${UBUNTU_ARCH}; do
@@ -224,7 +224,7 @@ index 3751c02..a65a2bb 100755
+ sudo apt-get build-dep openvswitch -y --force-yes
+ sudo apt-get -y --force-yes install devscripts dpkg-dev wget
+ dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc
-
+
-cd ${BUILD_HOME}
-dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc
-
@@ -238,7 +238,7 @@ index 3751c02..a65a2bb 100755
@@ -35,21 +43,22 @@ sudo apt-get install -y --force-yes debhelper \
texlive-fonts-recommended \
texlive-latex-extra
-
+
-cd dpdk-2.2.0; rm -rf debian/patches/
-cat << EOF > debian/changelog
+ cd dpdk-2.2.0; rm -rf debian/patches/
@@ -254,12 +254,12 @@ index 3751c02..a65a2bb 100755
+ debian/rules build; fakeroot debian/rules binary
+ cd ${BUILD_HOME}; sudo dpkg -i *.deb
+ apt-get download libxenstore3.0
-
+
-cd ${BUILD_HOME}
-dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc
+ cd ${BUILD_HOME}
+ dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc
-
+
-# copy from debian/control
-sudo apt-get install -y --force-yes autoconf \
+ # OVS-NSH build-dep install: copy from debian/control
@@ -270,7 +270,7 @@ index 3751c02..a65a2bb 100755
@@ -68,33 +77,41 @@ sudo apt-get install -y --force-yes autoconf \
python-zopeinterface \
python-six
-
+
-wget -c ${URL_OVS_ARCHIVE}/${OVS_COMMIT}.tar.gz
-tar xzf ${OVS_COMMIT}.tar.gz; mv ovs-${OVS_COMMIT} ovs
-PATCHES=$(cd ${DIR}/patches; echo *patch)
@@ -312,7 +312,7 @@ index 3751c02..a65a2bb 100755
EOF
-debian/rules build; fakeroot debian/rules binary
+ debian/rules build; fakeroot debian/rules binary
-
+
-cd ${BUILD_HOME}/ovs
-cat << EOF > debian/changelog
+ cd ${BUILD_HOME}/ovs
@@ -337,7 +337,7 @@ index b9ae6bb..3e46a37 100755
@@ -10,6 +10,11 @@ if [ `uname -m` = 'aarch64' ]; then
USE_DOCKER=false
fi
-
+
+# Pass target arch(s) (UBUNTU_ARCH) to build scripts.
+# All archs should be represented in `dpkg --print-architecture` format
+# UBUNTU_ARCH holds a space-separated list of target arch(s)
@@ -362,7 +362,7 @@ index b9ae6bb..3e46a37 100755
@@ -32,11 +39,14 @@ function build_pkg {
rm -rf /tmp/ovs-build-{,nsh-}dpdk
fi
-
+
- cd ${DEB_DIR}; tar czvf ../repositories/ubuntu/ovs-dpdk.tar.gz .;
- cd ..; rm -rf ${DEB_DIR}
-
@@ -376,6 +376,6 @@ index b9ae6bb..3e46a37 100755
+ tar czvf ../../repositories/ubuntu/ovs-nsh-dpdk_${ARCH}.tar.gz .
+ done
+ cd ${DIR}; sudo rm -rf ${DEB_DIR} ${DEB_DIR_NSH}
-
+
;;
*) echo "Not supported system"; exit 1;;
diff --git a/patches/fuel-plugin-ovs/0007-AArch64-Add-native-build-support.patch b/patches/fuel-plugin-ovs/0006-AArch64-Add-native-build-support.patch
index 1ea672b..b4ca884 100644
--- a/patches/fuel-plugin-ovs/0007-AArch64-Add-native-build-support.patch
+++ b/patches/fuel-plugin-ovs/0006-AArch64-Add-native-build-support.patch
@@ -18,9 +18,9 @@ index a14f5fd..a0c50e3 100755
--- a/ovs_build/build-ovs-dpdk.sh
+++ b/ovs_build/build-ovs-dpdk.sh
@@ -10,6 +10,10 @@ BUILD_DEST=${BUILD_DEST:-/tmp/ovs-dpdk}
-
+
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
-
+
+# AArch64 specifics, repository base URL, debian build versions
+AARCH64_REPO=${AARCH64_REPO:-'https://linux.enea.com/mos-repos/ubuntu/9.0'}
+AARCH64_DPDK_DEBV=${AARCH64_DPDK_DEBV:-'0~u14.04+mos1+mos9.0+amos1'}
@@ -31,7 +31,7 @@ index a14f5fd..a0c50e3 100755
@@ -24,10 +28,17 @@ for ARCH in ${UBUNTU_ARCH}; do
# Native building for: DPDK, OVS-DPDK, OVS
sudo apt-get -y --force-yes install devscripts dpkg-dev wget
-
+
- wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz
- xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar
- cd dpdk-16.07
@@ -47,7 +47,7 @@ index a14f5fd..a0c50e3 100755
+ cd dpdk-16.07
+ cp -r ${BUILD_SRC}/dpdk_16.07/debian .
+ fi
-
+
# DPDK build-dep install: copy from debian/control
sudo apt-get install -y --force-yes debhelper \
diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh
@@ -59,7 +59,7 @@ index a65a2bb..59d8a79 100755
sudo apt-get build-dep openvswitch -y --force-yes
sudo apt-get -y --force-yes install devscripts dpkg-dev wget
- dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/dpdk_2.2.0-0ubuntu8.dsc
-
+
+ # FIXME(armband): OVS-NSH-DPDK is not yet supported on arm64
# DPDK build-dep install: copy from debian/control
- sudo apt-get install -y --force-yes debhelper \
@@ -72,7 +72,7 @@ index a65a2bb..59d8a79 100755
@@ -43,19 +45,20 @@ for ARCH in ${UBUNTU_ARCH}; do
texlive-fonts-recommended \
texlive-latex-extra
-
+
- cd dpdk-2.2.0; rm -rf debian/patches/
- cat << EOF > debian/changelog
+ cd dpdk-2.2.0; rm -rf debian/patches/
@@ -89,13 +89,13 @@ index a65a2bb..59d8a79 100755
+ debian/rules build; fakeroot debian/rules binary
+ cd ${BUILD_HOME}; sudo dpkg -i *.deb
+ apt-get download libxenstore3.0
-
+
- cd ${BUILD_HOME}
- dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc
+ # OVS-NSH-DPDK build preparations: download sources, patch if needed
+ dget -x -u https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0-0ubuntu1.dsc
+ fi
-
+
# OVS-NSH build-dep install: copy from debian/control
sudo apt-get install -y --force-yes autoconf \
@@ -88,20 +91,27 @@ EOF
@@ -130,7 +130,7 @@ index a65a2bb..59d8a79 100755
- debian/rules build; fakeroot debian/rules binary
+ debian/rules build; fakeroot debian/rules binary
+ fi
-
+
+ # OVS-NSH build
cd ${BUILD_HOME}/ovs
cat << EOF > debian/changelog
@@ -141,7 +141,7 @@ index e7171b9..e0c27c5 100644
+++ b/ovs_build/openvswitch-dpdk_2.5.90/debian/control
@@ -27,7 +27,7 @@ Homepage: http://openvswitch.org/
XS-Testsuite: autopkgtest
-
+
Package: openvswitch-switch-dpdk
-Architecture: i386 amd64
+Architecture: i386 amd64 arm64
diff --git a/patches/fuel-plugin-ovs/0008-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch b/patches/fuel-plugin-ovs/0007-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch
index 0f7e072..deb1d59 100644
--- a/patches/fuel-plugin-ovs/0008-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch
+++ b/patches/fuel-plugin-ovs/0007-AArch64-Add-support-for-downloading-prebuilt-DEBs.patch
@@ -70,7 +70,7 @@ index a0c50e3..8d70265 100755
AARCH64_REPO=${AARCH64_REPO:-'https://linux.enea.com/mos-repos/ubuntu/9.0'}
AARCH64_DPDK_DEBV=${AARCH64_DPDK_DEBV:-'0~u14.04+mos1+mos9.0+amos1'}
+AARCH64_OVS_DEBV=${AARCH64_OVS_DEBV:-'2.5.90-1'}
-
+
# Keep track of native arch (BUILD_ARCH) and target arch(s) (UBUNTU_ARCH)
# All archs should be represented in `dpkg --print-architecture` format
# UBUNTU_ARCH holds a space-separated list of target arch(s)
@@ -79,9 +79,9 @@ index a0c50e3..8d70265 100755
+# debian binaries is supported!
BUILD_ARCH=$(dpkg --print-architecture)
UBUNTU_ARCH=${UBUNTU_ARCH:-${BUILD_ARCH}}
-
+
@@ -92,6 +94,20 @@ for ARCH in ${UBUNTU_ARCH}; do
-
+
cd ${BUILD_DEST}/ovs
debian/rules build; fakeroot debian/rules binary
+ else
@@ -99,16 +99,16 @@ index a0c50e3..8d70265 100755
+ echo "WARNING: Architecture [${ARCH}] does not provide precompiled DEBs, skipping!"
+ fi
fi
-
+
# Store DEBs in <${BUILD_DEB}/${ARCH}/> dir and cleanup
diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh
index 59d8a79..9d8a837 100755
--- a/ovs_build/build-ovs-nsh-dpdk.sh
+++ b/ovs_build/build-ovs-nsh-dpdk.sh
@@ -11,10 +11,14 @@ DIR="$(dirname `readlink -f $0`)"
-
+
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
-
+
+# AArch64 specifics, repository base URL, debian build versions
+AARCH64_OVS_NSH_DEBV=${AARCH64_OVS_NSH_DEBV:-'2.5.90-1.nsh'}
+
@@ -120,7 +120,7 @@ index 59d8a79..9d8a837 100755
+# debian binaries is supported!
BUILD_ARCH=$(dpkg --print-architecture)
UBUNTU_ARCH=${UBUNTU_ARCH:-${BUILD_ARCH}}
-
+
@@ -119,6 +123,15 @@ openvswitch (${OVS_VER}-1.nsh) unstable; urgency=low
-- Open vSwitch team <dev@openvswitch.org> $(date --rfc-2822)
EOF
@@ -135,5 +135,5 @@ index 59d8a79..9d8a837 100755
+ echo "WARNING: Architecture [${ARCH}] does not provide precompiled DEBs, skipping!"
+ fi
fi
-
+
# Store DEBs in <${BUILD_DEST}/${ARCH}/> dir and cleanup
diff --git a/patches/fuel-plugin-ovs/0009-build-docker-Use-host-s-network-stack.patch b/patches/fuel-plugin-ovs/0008-build-docker-Use-host-s-network-stack.patch
index e060681..e060681 100644
--- a/patches/fuel-plugin-ovs/0009-build-docker-Use-host-s-network-stack.patch
+++ b/patches/fuel-plugin-ovs/0008-build-docker-Use-host-s-network-stack.patch
diff --git a/patches/fuel-plugin-ovs/0010-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch b/patches/fuel-plugin-ovs/0009-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch
index 818203f..bea8a05 100644
--- a/patches/fuel-plugin-ovs/0010-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch
+++ b/patches/fuel-plugin-ovs/0009-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch
@@ -32,7 +32,7 @@ index a810b93..8ab22cc 100755
@@ -30,16 +30,24 @@ function armband_fetch() {
wget -c "${repo_base_url}/${repo_Packages_url}"
fi
-
+
- L=$(grep -Pzo "(?s)(?<=^Package: ${name}\n^Binary: )(\N*?)(?=\n^Version: ${ver})" \
+ L=$(grep -Pzo "(?s)(?<=^Package: ${name}\n^Binary: )(\N*?)(?=\n^Version: ${src_ver})" \
Sources | tr -d ',')
@@ -63,10 +63,10 @@ index 9d8a837..aebcb94 100755
+++ b/ovs_build/build-ovs-nsh-dpdk.sh
@@ -12,7 +12,7 @@ DIR="$(dirname `readlink -f $0`)"
export DEB_BUILD_OPTIONS='parallel=8 nocheck'
-
+
# AArch64 specifics, repository base URL, debian build versions
-AARCH64_OVS_NSH_DEBV=${AARCH64_OVS_NSH_DEBV:-'2.5.90-1.nsh'}
+AARCH64_OVS_NSH_DEBV=${AARCH64_OVS_NSH_DEBV:-'2.5.90~04.05-1.nsh+amos2'}
-
+
# Keep track of native arch (BUILD_ARCH) and target arch(s) (UBUNTU_ARCH)
# All archs should be represented in `dpkg --print-architecture` format
diff --git a/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch b/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch
index f3b9ea7..6dee64d 100644
--- a/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch
+++ b/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch
@@ -7,14 +7,14 @@ Add the following Openstack releases:
- Mitaka on Ubuntu 14.04 (aarch64)
- Mitaka on Ubuntu+UCA 14.04 (aarch64)
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
nailgun/nailgun/fixtures/openstack.yaml | 287 ++++++++++++++++++++++++++++++++
1 file changed, 287 insertions(+)
diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml
-index 62e6b73..9674d66 100644
+index d08a4fc..65646d4 100644
--- a/nailgun/nailgun/fixtures/openstack.yaml
+++ b/nailgun/nailgun/fixtures/openstack.yaml
@@ -2314,3 +2314,290 @@
diff --git a/patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch b/patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch
index d621dbd..0435891 100644
--- a/patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch
+++ b/patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Wed, 24 Feb 2016 20:11:54 +0100
Subject: [PATCH] Add arch to nailgun release and target image
@@ -10,23 +10,23 @@ As a bonus, it is also used when building the target image.
.../alembic_migrations/versions/armband.py | 53 ++++++++++++++++++++++
nailgun/nailgun/db/sqlalchemy/models/release.py | 8 ++++
nailgun/nailgun/fixtures/openstack.yaml | 5 ++
- .../nailgun/orchestrator/deployment_serializers.py | 9 +++-
+ .../nailgun/orchestrator/deployment_serializers.py | 8 +++-
.../orchestrator/provisioning_serializers.py | 3 +-
nailgun/nailgun/orchestrator/tasks_templates.py | 5 +-
.../integration/test_cluster_changes_handler.py | 12 ++---
.../integration/test_orchestrator_serializer.py | 4 +-
nailgun/nailgun/test/unit/test_tasks_templates.py | 6 ++-
- 10 files changed, 96 insertions(+), 14 deletions(-)
+ 10 files changed, 95 insertions(+), 14 deletions(-)
create mode 100644 nailgun/nailgun/db/migration/alembic_migrations/versions/armband.py
diff --git a/nailgun/nailgun/consts.py b/nailgun/nailgun/consts.py
-index 1ded0ba..5a1af0a 100644
+index 4900ec0..59b0c91 100644
--- a/nailgun/nailgun/consts.py
+++ b/nailgun/nailgun/consts.py
@@ -38,6 +38,11 @@ RELEASE_OS = Enum(
)
)
-
+
+RELEASE_ARCHS = Enum(
+ 'amd64',
+ 'arm64'
@@ -37,7 +37,7 @@ index 1ded0ba..5a1af0a 100644
'ha_full',
diff --git a/nailgun/nailgun/db/migration/alembic_migrations/versions/armband.py b/nailgun/nailgun/db/migration/alembic_migrations/versions/armband.py
new file mode 100644
-index 0000000..8cca69c
+index 0000000..6e42b3f
--- /dev/null
+++ b/nailgun/nailgun/db/migration/alembic_migrations/versions/armband.py
@@ -0,0 +1,53 @@
@@ -114,10 +114,10 @@ index 1b47de4..e209e72 100644
operating_system = Column(String(50), nullable=False)
state = Column(
diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml
-index 9674d66..d3226da 100644
+index 65646d4..874d4f0 100644
--- a/nailgun/nailgun/fixtures/openstack.yaml
+++ b/nailgun/nailgun/fixtures/openstack.yaml
-@@ -1904,6 +1904,7 @@
+@@ -1907,6 +1907,7 @@
name: "Mitaka on CentOS 6.5"
state: "unavailable"
version: "mitaka-9.0"
@@ -125,7 +125,7 @@ index 9674d66..d3226da 100644
operating_system: "CentOS"
description: "This option will install the OpenStack Mitaka packages using a CentOS based operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment."
attributes_metadata:
-@@ -1978,6 +1979,7 @@
+@@ -1980,6 +1981,7 @@
fields:
name: "Mitaka on Ubuntu 14.04"
version: "mitaka-9.0"
@@ -133,7 +133,7 @@ index 9674d66..d3226da 100644
operating_system: "Ubuntu"
description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment."
attributes_metadata:
-@@ -2219,6 +2221,7 @@
+@@ -2220,6 +2222,7 @@
fields:
name: "Mitaka on Ubuntu+UCA 14.04"
version: "mitaka-9.0"
@@ -158,7 +158,7 @@ index 9674d66..d3226da 100644
attributes_metadata:
editable:
diff --git a/nailgun/nailgun/orchestrator/deployment_serializers.py b/nailgun/nailgun/orchestrator/deployment_serializers.py
-index 699a599..6bb7990 100644
+index 08eb9c3..e561324 100644
--- a/nailgun/nailgun/orchestrator/deployment_serializers.py
+++ b/nailgun/nailgun/orchestrator/deployment_serializers.py
@@ -300,7 +300,13 @@ class DeploymentMultinodeSerializer(object):
@@ -173,11 +173,11 @@ index 699a599..6bb7990 100644
+ arch = "aarch64"
+ image_data['img_path'] = '{0}cirros-{1}-disk.img'.format(img_dir,
+ arch)
-
+
glance_properties = []
-
+
diff --git a/nailgun/nailgun/orchestrator/provisioning_serializers.py b/nailgun/nailgun/orchestrator/provisioning_serializers.py
-index 48a4753..b1f3ca6 100644
+index 48a4753..aaac22a 100644
--- a/nailgun/nailgun/orchestrator/provisioning_serializers.py
+++ b/nailgun/nailgun/orchestrator/provisioning_serializers.py
@@ -307,7 +307,8 @@ class ProvisioningSerializer61(ProvisioningSerializer):
@@ -187,7 +187,7 @@ index 48a4753..b1f3ca6 100644
- packages))
+ packages,
+ cluster.release.arch))
-
+
# NOTE(kozhukalov): This pre-provision task is going to be
# removed by 7.0 because we need this only for classic way of
diff --git a/nailgun/nailgun/orchestrator/tasks_templates.py b/nailgun/nailgun/orchestrator/tasks_templates.py
@@ -195,8 +195,8 @@ index 51dfdf7..bc2bff9 100644
--- a/nailgun/nailgun/orchestrator/tasks_templates.py
+++ b/nailgun/nailgun/orchestrator/tasks_templates.py
@@ -210,7 +210,7 @@ def make_reboot_task(uids, task):
-
-
+
+
def make_provisioning_images_task(
- uids, repos, provision_data, cid, packages):
+ uids, repos, provision_data, cid, packages, arch):
@@ -212,63 +212,63 @@ index 51dfdf7..bc2bff9 100644
+ "--input_data '{2}'").format(cid, arch, conf),
'timeout': settings.PROVISIONING_IMAGES_BUILD_TIMEOUT,
'retries': 1}})
-
+
diff --git a/nailgun/nailgun/test/integration/test_cluster_changes_handler.py b/nailgun/nailgun/test/integration/test_cluster_changes_handler.py
-index 0f212e5..da50eac 100644
+index fb82be0..450155d 100644
--- a/nailgun/nailgun/test/integration/test_cluster_changes_handler.py
+++ b/nailgun/nailgun/test/integration/test_cluster_changes_handler.py
-@@ -153,7 +153,7 @@ class TestHandlers(BaseIntegrationTest):
+@@ -154,7 +154,7 @@ class TestHandlers(BaseIntegrationTest):
common_attrs['last_controller'] = controller_nodes[-1]['name']
common_attrs['storage']['pg_num'] = 128
-
+
- common_attrs['test_vm_image'] = {
+ common_attrs['test_vm_image'] = [{
'container_format': 'bare',
'public': 'true',
'disk_format': 'qcow2',
-@@ -165,7 +165,7 @@ class TestHandlers(BaseIntegrationTest):
+@@ -166,7 +166,7 @@ class TestHandlers(BaseIntegrationTest):
"""--property murano_image_info="""
"""'{"title": "Murano Demo", "type": "cirros.demo"}'"""
),
- }
+ }]
-
+
critical_mapping = {
'primary-controller': True,
-@@ -565,7 +565,7 @@ class TestHandlers(BaseIntegrationTest):
+@@ -566,7 +566,7 @@ class TestHandlers(BaseIntegrationTest):
common_attrs['last_controller'] = controller_nodes[-1]['name']
common_attrs['storage']['pg_num'] = 128
-
+
- common_attrs['test_vm_image'] = {
+ common_attrs['test_vm_image'] = [{
'container_format': 'bare',
'public': 'true',
'disk_format': 'qcow2',
-@@ -577,7 +577,7 @@ class TestHandlers(BaseIntegrationTest):
+@@ -578,7 +578,7 @@ class TestHandlers(BaseIntegrationTest):
"""--property murano_image_info="""
"""'{"title": "Murano Demo", "type": "cirros.demo"}'"""
),
- }
+ }]
-
+
critical_mapping = {
'primary-controller': True,
-@@ -1049,7 +1049,7 @@ class TestHandlers(BaseIntegrationTest):
+@@ -1050,7 +1050,7 @@ class TestHandlers(BaseIntegrationTest):
common_attrs['last_controller'] = controller_nodes[-1]['name']
common_attrs['storage']['pg_num'] = 128
-
+
- common_attrs['test_vm_image'] = {
+ common_attrs['test_vm_image'] = [{
'container_format': 'bare',
'public': 'true',
'disk_format': 'qcow2',
-@@ -1061,7 +1061,7 @@ class TestHandlers(BaseIntegrationTest):
+@@ -1062,7 +1062,7 @@ class TestHandlers(BaseIntegrationTest):
"""--property murano_image_info="""
"""'{"title": "Murano Demo", "type": "cirros.demo"}'"""
),
- }
+ }]
-
+
critical_mapping = {
'primary-controller': True,
diff --git a/nailgun/nailgun/test/integration/test_orchestrator_serializer.py b/nailgun/nailgun/test/integration/test_orchestrator_serializer.py
@@ -276,22 +276,22 @@ index 5db8f4e..ef208cb 100644
--- a/nailgun/nailgun/test/integration/test_orchestrator_serializer.py
+++ b/nailgun/nailgun/test/integration/test_orchestrator_serializer.py
@@ -2584,12 +2584,12 @@ class BaseDeploymentSerializer(BaseSerializerTest):
-
+
def check_no_murano_data(self):
glance_properties = self.serializer.generate_test_vm_image_data(
- self.env.nodes[0])['test_vm_image']['glance_properties']
+ self.env.nodes[0])['test_vm_image'][0]['glance_properties']
self.assertNotIn('murano_image_info', glance_properties)
-
+
def check_murano_data(self):
glance_properties = self.serializer.generate_test_vm_image_data(
- self.env.nodes[0])['test_vm_image']['glance_properties']
+ self.env.nodes[0])['test_vm_image'][0]['glance_properties']
self.assertIn('murano_image_info', glance_properties)
-
-
+
+
diff --git a/nailgun/nailgun/test/unit/test_tasks_templates.py b/nailgun/nailgun/test/unit/test_tasks_templates.py
-index 4e81a19..d657518 100644
+index 4e81a19..695e53d 100644
--- a/nailgun/nailgun/test/unit/test_tasks_templates.py
+++ b/nailgun/nailgun/test/unit/test_tasks_templates.py
@@ -140,7 +140,8 @@ class TestMakeTask(base.BaseTestCase):
@@ -302,7 +302,7 @@ index 4e81a19..d657518 100644
+ packages=packages,
+ arch='amd64'
)
-
+
fuel_image_conf = {
@@ -177,7 +178,8 @@ class TestMakeTask(base.BaseTestCase):
cmd = result["parameters"]["cmd"].lstrip(
@@ -312,5 +312,5 @@ index 4e81a19..d657518 100644
+ "--data_driver nailgun_build_image --target_arch amd64"
+ " --input_data '").rstrip("'")
self.assertEqual(jsonutils.loads(cmd), fuel_image_conf)
-
+
def test_generate_ironic_bootstrap_keys_task(self):
diff --git a/patches/fuel-web/cross-bootstrap/0000-Add-arch-to-nailgun-release-and-target-image.patch b/patches/fuel-web/cross-bootstrap/0000-Add-arch-to-nailgun-release-and-target-image.patch
new file mode 120000
index 0000000..64ff45c
--- /dev/null
+++ b/patches/fuel-web/cross-bootstrap/0000-Add-arch-to-nailgun-release-and-target-image.patch
@@ -0,0 +1 @@
+../0002-Add-arch-to-nailgun-release-and-target-image.patch \ No newline at end of file
diff --git a/patches/fuel-web/direct-kernel-boot/0000-Add-arch-to-nailgun-release-and-target-image.patch b/patches/fuel-web/direct-kernel-boot/0000-Add-arch-to-nailgun-release-and-target-image.patch
new file mode 120000
index 0000000..64ff45c
--- /dev/null
+++ b/patches/fuel-web/direct-kernel-boot/0000-Add-arch-to-nailgun-release-and-target-image.patch
@@ -0,0 +1 @@
+../0002-Add-arch-to-nailgun-release-and-target-image.patch \ No newline at end of file
diff --git a/patches/fuel-web/0004-direct-kernel-boot-for-cirros.patch b/patches/fuel-web/direct-kernel-boot/0001-direct-kernel-boot-for-cirros.patch
index 994ad73..0f9395c 100644
--- a/patches/fuel-web/0004-direct-kernel-boot-for-cirros.patch
+++ b/patches/fuel-web/direct-kernel-boot/0001-direct-kernel-boot-for-cirros.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Tue, 15 Mar 2016 15:01:51 +0100
Subject: [PATCH] direct kernel boot for cirros
@@ -8,11 +8,11 @@ Subject: [PATCH] direct kernel boot for cirros
2 files changed, 61 insertions(+), 23 deletions(-)
diff --git a/nailgun/nailgun/orchestrator/base_serializers.py b/nailgun/nailgun/orchestrator/base_serializers.py
-index 0643635..a2f43b0 100644
+index 2fb0da5..ac787ed 100644
--- a/nailgun/nailgun/orchestrator/base_serializers.py
+++ b/nailgun/nailgun/orchestrator/base_serializers.py
@@ -145,12 +145,16 @@ class MuranoMetadataSerializerMixin(object):
-
+
def inject_murano_settings(self, image_data):
"""Adds murano metadata to the test image"""
- test_vm_image = image_data['test_vm_image']
@@ -31,16 +31,16 @@ index 0643635..a2f43b0 100644
+ murano_data
+ test_vm_images += [test_vm_image]
+ return {'test_vm_image': test_vm_images}
-
-
+
+
class VmwareDeploymentSerializerMixin(object):
diff --git a/nailgun/nailgun/orchestrator/deployment_serializers.py b/nailgun/nailgun/orchestrator/deployment_serializers.py
-index 6bb7990..62fb08b 100644
+index e561324..601301b 100644
--- a/nailgun/nailgun/orchestrator/deployment_serializers.py
+++ b/nailgun/nailgun/orchestrator/deployment_serializers.py
@@ -283,6 +283,9 @@ class DeploymentMultinodeSerializer(object):
return {'glance': {'image_cache_max_size': image_cache_max_size}}
-
+
def generate_test_vm_image_data(self, node):
+ images = []
+ # By default always prepare the disk image
@@ -48,7 +48,7 @@ index 6bb7990..62fb08b 100644
# Instantiate all default values in dict.
image_data = {
'container_format': 'bare',
-@@ -306,8 +309,8 @@ class DeploymentMultinodeSerializer(object):
+@@ -305,8 +308,8 @@ class DeploymentMultinodeSerializer(object):
arch = "x86_64"
elif arch == "arm64":
arch = "aarch64"
@@ -56,12 +56,12 @@ index 6bb7990..62fb08b 100644
- arch)
+ image_data['img_path'] = \
+ '{0}cirros-{1}-disk.img'.format(img_dir, arch)
-
+
glance_properties = []
-
-@@ -322,8 +325,38 @@ class DeploymentMultinodeSerializer(object):
+
+@@ -321,8 +324,38 @@ class DeploymentMultinodeSerializer(object):
glance_properties.append('--property hypervisor_type=vmware')
-
+
image_data['glance_properties'] = ' '.join(glance_properties)
+ images += [image_data]
+
@@ -93,13 +93,13 @@ index 6bb7990..62fb08b 100644
+ 'glance_properties': '',
+ }
+ images += [kernel_data, initrd_data]
-
+
- return {'test_vm_image': image_data}
+ return {'test_vm_image': images}
-
+
@classmethod
def get_net_provider_serializer(cls, cluster):
-@@ -522,20 +555,21 @@ class DeploymentHASerializer61(DeploymentHASerializer,
+@@ -521,20 +554,21 @@ class DeploymentHASerializer61(DeploymentHASerializer,
images_data['test_vm_image'] = []
if attrs.get('editable', {}).get('common', {}). \
get('use_vcenter', {}).get('value') is True:
@@ -134,4 +134,4 @@ index 6bb7990..62fb08b 100644
+ images_data['test_vm_image'] += image_data['test_vm_image']
else:
images_data = image_data
-
+
diff --git a/patches/fuel-web/0007-kernel-flavor-linux-image-generic-lts-xenial.patch b/patches/fuel-web/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch
index 5a068d6..8018974 100644
--- a/patches/fuel-web/0007-kernel-flavor-linux-image-generic-lts-xenial.patch
+++ b/patches/fuel-web/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch
@@ -12,10 +12,10 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml
-index 9c34a05..6848424 100644
+index 874d4f0..c5087b6 100644
--- a/nailgun/nailgun/fixtures/openstack.yaml
+++ b/nailgun/nailgun/fixtures/openstack.yaml
-@@ -2103,8 +2103,8 @@
+@@ -2081,8 +2081,8 @@
i40e-dkms
linux-firmware
linux-firmware-nonfree
@@ -26,7 +26,7 @@ index 9c34a05..6848424 100644
lvm2
mcollective
mdadm
-@@ -2447,8 +2447,8 @@
+@@ -2424,8 +2424,8 @@
i40e-dkms
linux-firmware
linux-firmware-nonfree
diff --git a/patches/fuel-web/multiarch-fuel/0000-Add-arch-to-nailgun-release-and-target-image.patch b/patches/fuel-web/multiarch-fuel/0000-Add-arch-to-nailgun-release-and-target-image.patch
new file mode 120000
index 0000000..64ff45c
--- /dev/null
+++ b/patches/fuel-web/multiarch-fuel/0000-Add-arch-to-nailgun-release-and-target-image.patch
@@ -0,0 +1 @@
+../0002-Add-arch-to-nailgun-release-and-target-image.patch \ No newline at end of file
diff --git a/patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch b/patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch
new file mode 120000
index 0000000..e0d56a8
--- /dev/null
+++ b/patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch
@@ -0,0 +1 @@
+../0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch \ No newline at end of file
diff --git a/patches/fuel-web/0005-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch b/patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch
index 776ae32..d76a1f6 100644
--- a/patches/fuel-web/0005-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch
+++ b/patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch
@@ -13,10 +13,10 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 2 insertions(+)
diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml
-index d3226da..7e6e96e 100644
+index c5087b6..ba25093 100644
--- a/nailgun/nailgun/fixtures/openstack.yaml
+++ b/nailgun/nailgun/fixtures/openstack.yaml
-@@ -1978,6 +1978,7 @@
+@@ -1980,6 +1980,7 @@
extend: *base_release
fields:
name: "Mitaka on Ubuntu 14.04"
@@ -24,7 +24,7 @@ index d3226da..7e6e96e 100644
version: "mitaka-9.0"
arch: "amd64"
operating_system: "Ubuntu"
-@@ -2220,6 +2221,7 @@
+@@ -2221,6 +2222,7 @@
extend: *ubuntu_release
fields:
name: "Mitaka on Ubuntu+UCA 14.04"
diff --git a/patches/fuel-web/0006-Add-configuration-item-for-WSREP-SST-provider.patch b/patches/fuel-web/mysql-sst-provider/0001-Add-configuration-item-for-WSREP-SST-provider.patch
index 87f0a2f..2f63ec0 100644
--- a/patches/fuel-web/0006-Add-configuration-item-for-WSREP-SST-provider.patch
+++ b/patches/fuel-web/mysql-sst-provider/0001-Add-configuration-item-for-WSREP-SST-provider.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Wed, 20 Apr 2016 15:05:15 -0700
Subject: [PATCH] Add configuration item for WSREP SST provider
@@ -6,16 +6,16 @@ This patch adds a radio button in "OpenStack Services" tab of the
environment settings to configure which WSREP SST provider to use for
MySQL.
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
---
nailgun/nailgun/fixtures/openstack.yaml | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml
-index 62e6b73..4b123b9 100644
+index ba25093..e855cf0 100644
--- a/nailgun/nailgun/fixtures/openstack.yaml
+++ b/nailgun/nailgun/fixtures/openstack.yaml
-@@ -918,6 +918,27 @@
+@@ -932,6 +932,27 @@
description: "Name for Mongo replication set"
weight: 30
type: "text"
diff --git a/patches/opnfv-fuel/0046-build-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch b/patches/opnfv-fuel/0000-build-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch
index e6d4dc2..27b00c7 100644
--- a/patches/opnfv-fuel/0046-build-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch
+++ b/patches/opnfv-fuel/0000-build-Use-OPNFV_GIT_SHA-for-ISO-preparer-ID.patch
@@ -6,36 +6,64 @@ isoinfo -i lists the following information for Fuel@OPNFV ISO:
"Data preparer id: 86aafaf5454a846c417848bb94f264c4420160f3"
where the SHA hash is Fuel git repo HEAD SHA.
+For Armband's build system, using only the Fuel commit ID is not
+enough to fully describe the state of the source code, as patches
+are also applied to other fuel modules (as git submodules).
+Instead, a pointer to a valid Armband commit ID should be used.
+
However, Armband overrides OPNFV_GIT_SHA to the Armband git repo
commit hash, so the ISO metadata should also reflect this.
+While at it, allow product name to be overriden, to signal the
+commit ID should be looked up inside the Armband repository.
+
+Change-Id: I33ad490f1afe28c1d439dda40e39cee1955e0ac2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
+ build/Makefile | 4 ++--
build/docker/runcontext | 2 +-
build/install/install.sh | 6 +++++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/build/Makefile b/build/Makefile
+index 56acb40..ac85498 100644
+--- a/build/Makefile
++++ b/build/Makefile
+@@ -21,11 +21,11 @@ SHELL = /bin/bash
+ export MOSVERSION = 9.0
+ export ISOSRC = file:$(shell pwd)/fuel-$(MOSVERSION).iso
+ export ISOCACHE = $(shell pwd)/$(shell basename $(ISOSRC))
+-export PRODNO = "OPNFV_FUEL"
++export PRODNO ?= "OPNFV_FUEL"
+ export REVSTATE = "P0000"
+ export USER ?= $(shell whoami)
+ export BUILD_DATE = $(shell date --utc +%Y-%m-%d:%H:%M)
+-export OPNFV_GIT_SHA = $(shell git rev-parse HEAD)
++export OPNFV_GIT_SHA ?= $(shell git rev-parse HEAD)
+ # Store in /etc/fuel_build_id on fuel master
+ export BUILD_ID := $(PRODNO)_$(BUILD_DATE)_$(OPNFV_GIT_SHA)
diff --git a/build/docker/runcontext b/build/docker/runcontext
-index e4874df..07b0dc1 100755
+index daad663..2d13562 100755
--- a/build/docker/runcontext
+++ b/build/docker/runcontext
-@@ -119,7 +119,7 @@ RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm \
+@@ -115,7 +115,7 @@ 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 -e ARMBAND_BASE \
-+ -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH -e ARMBAND_BASE -e OPNFV_GIT_SHA \
+- -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH \
++ -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH -e OPNFV_GIT_SHA \
-u $USER_ID:$GROUP_ID -w $PWD \
-v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"
-
+
diff --git a/build/install/install.sh b/build/install/install.sh
-index f6308fb..9e003bb 100755
+index c632419..866d304 100755
--- a/build/install/install.sh
+++ b/build/install/install.sh
-@@ -210,8 +210,12 @@ make_iso_image() {
+@@ -196,8 +196,12 @@ make_iso_image() {
find . -name TRANS.TBL -exec rm {} \;
rm -rf rr_moved
-
+
+ if [[ -z "$OPNFV_GIT_SHA" ]]; then
+ OPNFV_GIT_SHA=$(git rev-parse --verify HEAD)
+ fi
diff --git a/patches/opnfv-fuel/0001-build-Add-ARMBAND_BASE-support.patch b/patches/opnfv-fuel/0001-build-Add-ARMBAND_BASE-support.patch
new file mode 100644
index 0000000..17cfd68
--- /dev/null
+++ b/patches/opnfv-fuel/0001-build-Add-ARMBAND_BASE-support.patch
@@ -0,0 +1,70 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Thu, 11 Aug 2016 15:34:32 +0200
+Subject: [PATCH] build: Add ARMBAND_BASE support
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ build/Makefile | 10 ++++++++++
+ build/docker/Dockerfile | 2 +-
+ build/docker/runcontext | 6 +++++-
+ 3 files changed, 18 insertions(+), 2 deletions(-)
+
+diff --git a/build/Makefile b/build/Makefile
+index 4454c35..377ecc6 100644
+--- a/build/Makefile
++++ b/build/Makefile
+@@ -14,4 +14,9 @@ SHELL = /bin/bash
+
++# Only configure Armband specific stuff when ARMBAND_BASE is set
++ifdef ARMBAND_BASE
++ include ${ARMBAND_BASE}/armband-fuel-config.mk
++endif
++
+ ############################################################################
+ # BEGIN of variables to customize
+ #
+@@ -140,6 +140,7 @@ $(ISOCACHE):
+ # fuel-main Makefiles do not like `make -C`
+ cd $(FUEL_MAIN_DIR) && make repos
+ cp f_repos/.cachefuelinfo gitinfo_fuel.txt
++ test -z $(ARMBAND_BASE) || $(REPOINFO) $(ARMBAND_BASE) >> gitinfo_fuel.txt
+
+ # Repeat build up to three times
+ sudo -E ./fuel_build_loop
+diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile
+index b38ea4c..624f233 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 UBUNTU_ARCH\"" > /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 ARMBAND_BASE\"" > /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 daad663..e4874df 100755
+--- a/build/docker/runcontext
++++ b/build/docker/runcontext
+@@ -42,6 +42,10 @@ GITROOT=`git rev-parse --show-toplevel`
+ CID_FILE=`mktemp -u -t runcontext.XXXXXXXXXX`
+ CONTEXT_DIR=`mktemp -d ${GITROOT}/.docker_contextXXXXXX`
+
++if [[ $ARMBAND_BASE ]]; then
++ GITROOT=$ARMBAND_BASE
++fi
++
+ # If RSYNC_CONNECT_PROG is used, we need to copy all of
+ # the SSH structure, should one of the keys need to be
+ # used.
+@@ -115,7 +119,7 @@ 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 -e OPNFV_GIT_SHA \
++ -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH -e OPNFV_GIT_SHA -e ARMBAND_BASE \
+ -u $USER_ID:$GROUP_ID -w $PWD \
+ -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"
+
diff --git a/patches/opnfv-fuel/0004-Fuel-VM-for-the-Enea-Armband-lab.patch b/patches/opnfv-fuel/0002-Fuel-VM-for-the-Enea-Armband-lab.patch
index aa97aa6..cefc062 100644
--- a/patches/opnfv-fuel/0004-Fuel-VM-for-the-Enea-Armband-lab.patch
+++ b/patches/opnfv-fuel/0002-Fuel-VM-for-the-Enea-Armband-lab.patch
@@ -1,4 +1,3 @@
-From 800aae6db0d0d79d01cec4df85075026073063dd Mon Sep 17 00:00:00 2001
From: Josep Puigdemont <josep.puigdemont@enea.com>
Date: Wed, 4 May 2016 14:27:23 +0200
Subject: [PATCH] Fuel VM for the Enea Armband lab
@@ -106,6 +105,3 @@ index 0000000..8773ed4
+ </memballoon>
+ </devices>
+</domain>
---
-2.5.5
-
diff --git a/patches/opnfv-fuel/0009-dea_base-replace-grub-pc-by-grub-efi-arm64.patch b/patches/opnfv-fuel/0003-dea_base-replace-grub-pc-by-grub-efi-arm64.patch
index 08b84de..fae1400 100644
--- a/patches/opnfv-fuel/0009-dea_base-replace-grub-pc-by-grub-efi-arm64.patch
+++ b/patches/opnfv-fuel/0003-dea_base-replace-grub-pc-by-grub-efi-arm64.patch
@@ -12,11 +12,11 @@ index 0b8485b..658b328 100644
--- a/deploy/config/dea_base.yaml
+++ b/deploy/config/dea_base.yaml
@@ -462,7 +462,7 @@ settings:
-
+
gdisk
-
+
- grub-pc
+ grub-efi-arm64
-
+
hpsa-dkms
-
+
diff --git a/patches/opnfv-fuel/0010-post-scripts-Allow-SSH-on-non-admin-ifaces.patch b/patches/opnfv-fuel/0004-post-scripts-Allow-SSH-on-non-admin-ifaces.patch
index e098d47..e098d47 100644
--- a/patches/opnfv-fuel/0010-post-scripts-Allow-SSH-on-non-admin-ifaces.patch
+++ b/patches/opnfv-fuel/0004-post-scripts-Allow-SSH-on-non-admin-ifaces.patch
diff --git a/patches/opnfv-fuel/0030-deploy.py-add-a-time-stamp-to-the-new-ISO-image.patch b/patches/opnfv-fuel/0005-deploy.py-add-a-time-stamp-to-the-new-ISO-image.patch
index 3e3480b..61847ab 100644
--- a/patches/opnfv-fuel/0030-deploy.py-add-a-time-stamp-to-the-new-ISO-image.patch
+++ b/patches/opnfv-fuel/0005-deploy.py-add-a-time-stamp-to-the-new-ISO-image.patch
@@ -26,7 +26,7 @@ index 041ba2f..cebef97 100755
import errno
import signal
@@ -100,8 +101,9 @@ class AutoDeploy(object):
-
+
def install_fuel_master(self):
log('Install Fuel Master')
- new_iso = ('%s/deploy-%s'
diff --git a/patches/opnfv-fuel/0055-build-docker-Use-host-s-network-stack.patch b/patches/opnfv-fuel/0006-build-docker-Use-host-s-network-stack.patch
index d9fd36a..69b0e82 100644
--- a/patches/opnfv-fuel/0055-build-docker-Use-host-s-network-stack.patch
+++ b/patches/opnfv-fuel/0006-build-docker-Use-host-s-network-stack.patch
@@ -20,7 +20,7 @@ index 07b0dc1..b0d6d37 100755
+++ b/build/docker/runcontext
@@ -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 \
+ -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH -e OPNFV_GIT_SHA -e ARMBAND_BASE \
-u $USER_ID:$GROUP_ID -w $PWD \
+ -v /etc/hosts:/etc/hosts \
-v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"
diff --git a/patches/opnfv-fuel/0006-deploy.sh-no-need-to-set-umask-0000.patch b/patches/opnfv-fuel/0006-deploy.sh-no-need-to-set-umask-0000.patch
deleted file mode 100644
index 9c00590..0000000
--- a/patches/opnfv-fuel/0006-deploy.sh-no-need-to-set-umask-0000.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From f67625ce6c607b47bc99c5118f5e52fe8a8e763b Mon Sep 17 00:00:00 2001
-From: Josep Puigdemont <josep.puigdemont@enea.com>
-Date: Fri, 6 May 2016 03:07:40 +0200
-Subject: [PATCH] deploy.sh: no need to set umask 0000
-
-Change-Id: If3283a16139097db57b06c0535d33a88dc1b2ed2
-Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
----
- ci/deploy.sh | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/ci/deploy.sh b/ci/deploy.sh
-index 8411714..c08a94b 100755
---- a/ci/deploy.sh
-+++ b/ci/deploy.sh
-@@ -84,9 +84,6 @@ Input parameters to the build script is:
- -i .iso image to be deployed (needs to be provided in a URI
- style, it can be a local resource: file:// or a remote resource http(s)://)
-
--NOTE: Root priviledges are needed for this script to run
--
--
- Examples:
- sudo `basename $0` -b file:///home/jenkins/lab-config -l lf -p pod1 -s ha_odl-l3_heat_ceilometer -i file:///home/jenkins/myiso.iso
- EOF
-@@ -231,9 +228,6 @@ fi
- # Enable the automatic exit trap
- trap do_exit SIGINT SIGTERM EXIT
-
--# Set no restrictive umask so that Jenkins can removeeee any residuals
--umask 0000
--
- clean
-
- pushd ${DEPLOY_DIR} > /dev/null
---
-2.5.5
-
diff --git a/patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch b/patches/opnfv-fuel/0007-deploy-Fix-add-bootstrap-DEA-override-delay.patch
index 2189b00..88ac762 100644
--- a/patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch
+++ b/patches/opnfv-fuel/0007-deploy-Fix-add-bootstrap-DEA-override-delay.patch
@@ -17,13 +17,13 @@ index 808d0b1..1a7685a 100644
+++ b/deploy/install_fuel_master.py
@@ -196,11 +196,13 @@ class InstallFuelMaster(object):
self.work_dir, os.path.basename(self.dea_file)))
-
+
def wait_until_installation_completed(self):
- WAIT_LOOP = 360
+ WAIT_LOOP = 720
SLEEP_TIME = 10
- CMD = 'ps -ef | grep %s | grep -v grep' % BOOTSTRAP_ADMIN
-
+ CMD = 'pgrep -f %s' % BOOTSTRAP_ADMIN
+
install_completed = False
+ time.sleep(60)
+ self.wait_for_node_up()
diff --git a/patches/opnfv-fuel/0015-build-Makefile-Overrideable-product-commit-hash.patch b/patches/opnfv-fuel/0015-build-Makefile-Overrideable-product-commit-hash.patch
deleted file mode 100644
index 1c9bd82..0000000
--- a/patches/opnfv-fuel/0015-build-Makefile-Overrideable-product-commit-hash.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Mon, 18 Jul 2016 23:50:30 +0200
-Subject: [PATCH] build/Makefile: Overrideable product, commit hash.
-
-For Armband's build system, using only the Fuel commit ID is not
-enough to fully describe the state of the source code, as patches
-are also applied to other fuel modules (as git submodules).
-Instead, a pointer to a valid Armband commit ID should be used.
-
-While at it, allow product name to be overriden, to signal the
-commit ID should be looked up inside the Armband repository.
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- build/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/build/Makefile b/build/Makefile
-index ec5d27a..ba117da 100644
---- a/build/Makefile
-+++ b/build/Makefile
-@@ -21,11 +21,11 @@ SHELL = /bin/bash
- export MOSVERSION = 9.0
- export ISOSRC = file:$(shell pwd)/fuel-$(MOSVERSION).iso
- export ISOCACHE = $(shell pwd)/$(shell basename $(ISOSRC))
--export PRODNO = "OPNFV_FUEL"
-+export PRODNO ?= "OPNFV_FUEL"
- export REVSTATE = "P0000"
- export USER ?= $(shell whoami)
- export BUILD_DATE = $(shell date --utc +%Y-%m-%d:%H:%M)
--export OPNFV_GIT_SHA = $(shell git rev-parse HEAD)
-+export OPNFV_GIT_SHA ?= $(shell git rev-parse HEAD)
- # Store in /etc/fuel_build_id on fuel master
- export BUILD_ID := $(PRODNO)_$(BUILD_DATE)_$(OPNFV_GIT_SHA)
-
diff --git a/patches/opnfv-fuel/0043-build-Add-armband.mk-config.patch b/patches/opnfv-fuel/0043-build-Add-armband.mk-config.patch
deleted file mode 100644
index cb07c9f..0000000
--- a/patches/opnfv-fuel/0043-build-Add-armband.mk-config.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Date: Thu, 11 Aug 2016 15:34:32 +0200
-Subject: [PATCH] build: Add armband.mk config, env var ARMBAND_BASE
-
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
----
- build/Makefile | 10 ++++++++++
- build/armband.mk | 53 +++++++++++++++++++++++++++++++++++++++++++++++++
- build/docker/Dockerfile | 2 +-
- build/docker/runcontext | 6 +++++-
- 4 files changed, 69 insertions(+), 2 deletions(-)
- create mode 100644 build/armband.mk
-
-diff --git a/build/Makefile b/build/Makefile
-index 4454c35..377ecc6 100644
---- a/build/Makefile
-+++ b/build/Makefile
-@@ -14,6 +14,9 @@ SHELL = /bin/bash
- # settings.
- -include environment.mk
-
-+# Override Armband specific information & git commit references
-+-include armband.mk
-+
- ############################################################################
- # BEGIN of variables to customize
- #
-@@ -129,5 +132,8 @@ $(ISOCACHE):
- 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
-@@ -228,5 +234,9 @@ debug:
- sha1sum fuel_build_loop >> .cachedata
- sha1sum config.mk >> .cachedata
-+ @if test -n $(ARMBAND_BASE); then \
-+ sha1sum armband.mk >> .cachedata; \
-+ $(REPOINFO) $(ARMBAND_BASE) >> .cachedata; \
-+ fi
- sha1sum Makefile >> .cachedata
- $(CACHETOOL) getbiweek >> .cachedata
- cat .cachedata | $(CACHETOOL) getid > .cacheid
-diff --git a/build/armband.mk b/build/armband.mk
-new file mode 100644
-index 0000000..1e772f0
---- /dev/null
-+++ b/build/armband.mk
-@@ -0,0 +1,54 @@
-+##############################################################################
-+# Copyright (c) 2016 Enea AB and others.
-+# 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
-+##############################################################################
-+
-+# Only configure Armband stuff when ARMBAND_BASE is set
-+ifdef ARMBAND_BASE
-+ # Armband plugins, supported archs & specific info
-+ export PLUGINS := f_odlpluginbuild f_bgpvpn-pluginbuild f_ovs-nsh-dpdk-pluginbuild
-+ export UBUNTU_ARCH := amd64 arm64
-+ export PRODNO := OPNFV_A_FUEL
-+ export MIRROR_MOS_UBUNTU := linux.enea.com
-+ export EXTRA_RPM_REPOS := armband,http://linux.enea.com/mos-repos/centos/mos9.0-centos7/armband/x86_64,10
-+
-+ # Temporary fuel-plugin-builder repo info for runtime patching
-+ export FPB_REPO := https://github.com/openstack/fuel-plugins
-+ export FPB_BRANCH := master
-+ export FPB_CHANGE := refs/changes/31/311031/2
-+
-+ # Armband git submodules for Fuel/OPNFV components
-+ export ASTUTE_REPO := ${ARMBAND_BASE}/upstream/fuel-astute
-+ export ASTUTE_COMMIT := HEAD
-+
-+ export NAILGUN_REPO := ${ARMBAND_BASE}/upstream/fuel-web
-+ export NAILGUN_COMMIT := HEAD
-+
-+ export FUEL_AGENT_REPO := ${ARMBAND_BASE}/upstream/fuel-agent
-+ export FUEL_AGENT_COMMIT := HEAD
-+
-+ export FUEL_NAILGUN_AGENT_REPO := ${ARMBAND_BASE}/upstream/fuel-nailgun-agent
-+ export FUEL_NAILGUN_AGENT_COMMIT := HEAD
-+
-+ export FUEL_MIRROR_REPO := ${ARMBAND_BASE}/upstream/fuel-mirror
-+ export FUEL_MIRROR_COMMIT := HEAD
-+
-+ export FUELLIB_REPO := ${ARMBAND_BASE}/upstream/fuel-library
-+ export FUELLIB_COMMIT := HEAD
-+
-+ export FUEL_PLUGIN_ODL_REPO := ${ARMBAND_BASE}/upstream/fuel-plugin-opendaylight
-+ export FUEL_PLUGIN_ODL_BRANCH := armband-workbench
-+ export FUEL_PLUGIN_ODL_CHANGE := HEAD
-+ export OPNFV_QUAGGE_PACKAGING_REPO := https://github.com/alexandruavadanii/opnfv-quagga-packaging
-+
-+ export OVS_NSH_DPDK_REPO := ${ARMBAND_BASE}/upstream/fuel-plugin-ovs
-+ export OVS_NSH_DPDK_BRANCH := HEAD
-+
-+ export VSPERF_REPO := ${ARMBAND_BASE}/upstream/vswitchperf
-+ export VSPERF_BRANCH := armband-workbench
-+ export VSPERF_CHANGE := HEAD
-+endif
-diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile
-index b38ea4c..624f233 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 UBUNTU_ARCH\"" > /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 ARMBAND_BASE\"" > /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 daad663..e4874df 100755
---- a/build/docker/runcontext
-+++ b/build/docker/runcontext
-@@ -42,6 +42,10 @@ GITROOT=`git rev-parse --show-toplevel`
- CID_FILE=`mktemp -u -t runcontext.XXXXXXXXXX`
- CONTEXT_DIR=`mktemp -d ${GITROOT}/.docker_contextXXXXXX`
-
-+if [[ $ARMBAND_BASE ]]; then
-+ GITROOT=$ARMBAND_BASE
-+fi
-+
- # If RSYNC_CONNECT_PROG is used, we need to copy all of
- # the SSH structure, should one of the keys need to be
- # used.
-@@ -115,7 +119,7 @@ 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 \
-+ -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH -e ARMBAND_BASE \
- -u $USER_ID:$GROUP_ID -w $PWD \
- -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT"
-
diff --git a/patches/opnfv-fuel/0028-bootstrap-Add-lshw-package.patch b/patches/opnfv-fuel/arm64-bug-fixes/0001-bootstrap-Add-lshw-package.patch
index a811f2f..61578bf 100644
--- a/patches/opnfv-fuel/0028-bootstrap-Add-lshw-package.patch
+++ b/patches/opnfv-fuel/arm64-bug-fixes/0001-bootstrap-Add-lshw-package.patch
@@ -17,10 +17,11 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 1 insertion(+)
diff --git a/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml b/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
-index 15d9e9d..b45a14a 100644
+index fcf4257..264ae0e 100644
--- a/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
+++ b/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
-@@ -17,5 +17,6 @@
+@@ -24,6 +24,7 @@
+ - linux-headers-generic
- live-boot
- live-boot-initramfs-tools
+ - lshw
diff --git a/patches/opnfv-fuel/0054-net-check-add-support-for-faulty-operstate.patch b/patches/opnfv-fuel/arm64-bug-fixes/0002-net-check-add-support-for-faulty-operstate.patch
index 8a765c9..a7006fc 100644
--- a/patches/opnfv-fuel/0054-net-check-add-support-for-faulty-operstate.patch
+++ b/patches/opnfv-fuel/arm64-bug-fixes/0002-net-check-add-support-for-faulty-operstate.patch
@@ -15,13 +15,13 @@ Signed-off-by: Stefan Sicleru <stefan.sicleru@enea.com>
---
...et-check-add-support-for-faulty-operstate.patch | 38 ++++++++++++++++++++++
1 file changed, 38 insertions(+)
- create mode 100644 build/patch-repos/build/repos/network-checker/0010-net-check-add-support-for-faulty-operstate.patch
+ create mode 100644 build/f_repos/patch/network-checker/0010-net-check-add-support-for-faulty-operstate.patch
-diff --git a/build/patch-repos/build/repos/network-checker/0010-net-check-add-support-for-faulty-operstate.patch b/build/patch-repos/build/repos/network-checker/0010-net-check-add-support-for-faulty-operstate.patch
+diff --git a/build/f_repos/patch/network-checker/0010-net-check-add-support-for-faulty-operstate.patch b/build/f_repos/patch/network-checker/0010-net-check-add-support-for-faulty-operstate.patch
new file mode 100644
index 0000000..71e7b73
--- /dev/null
-+++ b/build/patch-repos/build/repos/network-checker/0010-net-check-add-support-for-faulty-operstate.patch
++++ b/build/f_repos/patch/network-checker/0010-net-check-add-support-for-faulty-operstate.patch
@@ -0,0 +1,38 @@
+From: Stefan Sicleru <stefan.sicleru@enea.com>
+Date: Tue, 30 Aug 2016 17:30:24 +0200
@@ -58,6 +58,6 @@ index 0000000..71e7b73
++ return 'Link detected: yes' in '\n'.join(output).replace('\n', ' ')
++
++ return False
-+
++
+ def _ensure_iface_up(self, iface, vid=None):
+ """Ensures interface is with vid up."""
diff --git a/patches/opnfv-fuel/0027-UX-Update-bootstrap-target-build-time-estimate.patch b/patches/opnfv-fuel/cross-bootstrap/0001-UX-Update-bootstrap-target-build-time-estimate.patch
index fe62395..91ba18a 100644
--- a/patches/opnfv-fuel/0027-UX-Update-bootstrap-target-build-time-estimate.patch
+++ b/patches/opnfv-fuel/cross-bootstrap/0001-UX-Update-bootstrap-target-build-time-estimate.patch
@@ -8,14 +8,15 @@ introduced by using qemu-user-static.
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
- build/bootstrap_admin_node.sh.patch | 23 +++++++++++++++++++++++
- 1 file changed, 23 insertions(+)
+ .../0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
-diff --git a/build/patch-repos/0010-bootstrap_admin_node.sh.patch b/build/patch-repos/0010-bootstrap_admin_node.sh.patch
-index c66b497..46b53e6 100644
---- a/build/patch-repos/0010-bootstrap_admin_node.sh.patch
-+++ b/build/patch-repos/0010-bootstrap_admin_node.sh.patch
-@@ -8,5 +8,20 @@
+diff --git a/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch b/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch
+index 446d0b6..c2e664c 100644
+--- a/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch
++++ b/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch
+@@ -10,6 +10,21 @@ diff --git a/iso/bootstrap_admin_node.sh b/iso/bootstrap_admin_node.sh
+ index 3197c91..db3123d 100755
--- a/iso/bootstrap_admin_node.sh
+++ b/iso/bootstrap_admin_node.sh
+@@ -86,9 +86,11 @@
diff --git a/patches/opnfv-fuel/0021-Build-bootstrap-image-for-arm64.patch b/patches/opnfv-fuel/cross-bootstrap/0002-Build-bootstrap-image-for-arm64.patch
index 4daf733..836cb2c 100644
--- a/patches/opnfv-fuel/0021-Build-bootstrap-image-for-arm64.patch
+++ b/patches/opnfv-fuel/cross-bootstrap/0002-Build-bootstrap-image-for-arm64.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Thu, 3 Mar 2016 19:04:07 +0100
Subject: [PATCH] Build bootstrap image for arm64
@@ -6,13 +6,15 @@ For now the arch is hardcoded for simplicity. We should detect this
but how? If we're multi-arch then one bootstrap image should be built
per supported arch. This requires Fuel refactoring.
---
- build/bootstrap_admin_node.sh.patch | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
+ .../0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch b/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch
+index c2e664c..12d0dfb 100644
+--- a/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch
++++ b/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch
+@@ -73,6 +73,15 @@ index 3197c91..db3123d 100755
-diff --git a/build/patch-repos/0010-bootstrap_admin_node.sh.patch b/build/patch-repos/0010-bootstrap_admin_node.sh.patch
---- a/build/patch-repos/0010-bootstrap_admin_node.sh.patch
-+++ b/build/patch-repos/0010-bootstrap_admin_node.sh.patch
-@@ -53,3 +53,12 @@
# Enable iptables
systemctl enable iptables.service
+@@ -484,7 +490,7 @@
@@ -25,3 +27,5 @@ diff --git a/build/patch-repos/0010-bootstrap_admin_node.sh.patch b/build/patch-
+ fuel notify --topic "done" --send "${bs_done_message}"
+ else
@@ -532,6 +545,16 @@ systemctl start ntpd
+
+ bash /etc/rc.local
diff --git a/patches/opnfv-fuel/0022-bootstrap-Use-public-Ubuntu-ports-mirrors.patch b/patches/opnfv-fuel/cross-bootstrap/0003-bootstrap-Use-public-Ubuntu-ports-mirrors.patch
index ff13b39..157306b 100644
--- a/patches/opnfv-fuel/0022-bootstrap-Use-public-Ubuntu-ports-mirrors.patch
+++ b/patches/opnfv-fuel/cross-bootstrap/0003-bootstrap-Use-public-Ubuntu-ports-mirrors.patch
@@ -14,10 +14,10 @@ current config.
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml b/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
-index aa12c45..2e4843d 100644
+index 264ae0e..17e161f 100644
--- a/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
+++ b/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
-@@ -36,19 +36,19 @@
+@@ -49,19 +49,19 @@
repos:
- name: ubuntu
section: "main universe multiverse"
@@ -40,7 +40,9 @@ index aa12c45..2e4843d 100644
priority:
suite: trusty-security
type: deb
-@@ -60,2 +60,3 @@
+@@ -73,4 +73,5 @@
+ type: deb
+ skip_default_img_build: false
direct_repo_addresses:
+ - "ports.ubuntu.com"
- "127.0.0.1"
diff --git a/patches/opnfv-fuel/0031-post-scripts-Enable-systemd-binfmt-for-first-boot.patch b/patches/opnfv-fuel/cross-bootstrap/0004-post-scripts-Enable-systemd-binfmt-for-first-boot.patch
index 03e877a..26b898f 100644
--- a/patches/opnfv-fuel/0031-post-scripts-Enable-systemd-binfmt-for-first-boot.patch
+++ b/patches/opnfv-fuel/cross-bootstrap/0004-post-scripts-Enable-systemd-binfmt-for-first-boot.patch
@@ -25,37 +25,14 @@ automatically started. Of course, this only affects the first boot.
Finally, this commit adds an OPNFV post-install script in
/opt/opnfv/bootstrap/post.d, which starts systemd-binfmt service.
---
- build/bootstrap_admin_node.sh.patch | 15 ++++++++++
.../post-scripts/80_prepare_cross_builds.sh | 32 ++++++++++++++++++++++
- 2 files changed, 47 insertions(+)
+ ...PNFV-Additions-to-bootstrap_admin_node.sh.patch | 13 +++++++++
+ 2 files changed, 45 insertions(+)
create mode 100755 build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
-diff --git a/build/patch-repos/0010-bootstrap_admin_node.sh.patch b/build/patch-repos/0010-bootstrap_admin_node.sh.patch
-index b1ea90b..7f16d0b 100644
---- a/build/patch-repos/0010-bootstrap_admin_node.sh.patch
-+++ b/build/patch-repos/0010-bootstrap_admin_node.sh.patch
-@@ -24,5 +24,18 @@
- nodes over PXE, they will be discovered and become available for installing \
- OpenStack on them"
-+@@ -239,6 +239,12 @@
-+ # /etc/fuel_openstack_version is provided by 'fuel-openstack-metadata' package
-+ OPENSTACK_VERSION=$(cat /etc/fuel_openstack_version)
-+
-++# FIXME(armband): This part might be moved to an earlier stage later
-++# /etc/fuel_openstack_arch is constructed based on local mirror metadata
-++grep -oP "^Architectures: \K.*$" \
-++ ${wwwdir}/${OPENSTACK_VERSION}/ubuntu/x86_64/dists/mos${FUEL_RELEASE}/Release > \
-++ /etc/fuel_openstack_arch
-++
-+ # We do not ship debian-installer kernel and initrd on ISO.
-+ # But we still need to be able to create ubuntu cobbler distro
-+ # which requires kernel and initrd to be available. So, we
- @@ -339,8 +339,22 @@ fuelmenu --save-only --iface=$ADMIN_INTERFACE || fail
- set +x
- echo "Done!"
diff --git a/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh b/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
new file mode 100755
-index 0000000..d33d1d1
+index 0000000..01eb2e2
--- /dev/null
+++ b/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
@@ -0,0 +1,32 @@
@@ -91,3 +68,27 @@ index 0000000..d33d1d1
+fi
+
+echo "Done preparing cross-building"
+diff --git a/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch b/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch
+index 12d0dfb..81d196b 100644
+--- a/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch
++++ b/build/f_repos/patch/fuel-main/0001-OPNFV-Additions-to-bootstrap_admin_node.sh.patch
+@@ -25,6 +25,19 @@ index 3197c91..db3123d 100755
+ bs_done_message="Default bootstrap image building done. Now you can boot new \
+ nodes over PXE, they will be discovered and become available for installing \
+ OpenStack on them"
++@@ -239,6 +239,12 @@
++ # /etc/fuel_openstack_version is provided by 'fuel-openstack-metadata' package
++ OPENSTACK_VERSION=$(cat /etc/fuel_openstack_version)
++
+++# FIXME(armband): This part might be moved to an earlier stage later
+++# /etc/fuel_openstack_arch is constructed based on local mirror metadata
+++grep -oP "^Architectures: \K.*$" \
+++ ${wwwdir}/${OPENSTACK_VERSION}/ubuntu/x86_64/dists/mos${FUEL_RELEASE}/Release > \
+++ /etc/fuel_openstack_arch
+++
++ # We do not ship debian-installer kernel and initrd on ISO.
++ # But we still need to be able to create ubuntu cobbler distro
++ # which requires kernel and initrd to be available. So, we
+ @@ -339,8 +339,22 @@ fuelmenu --save-only --iface=$ADMIN_INTERFACE || fail
+ set +x
+ echo "Done!"
diff --git a/patches/opnfv-fuel/0032-mcagent-Increase-max-shell-command-timeout-to-2h.patch b/patches/opnfv-fuel/cross-bootstrap/0005-mcagent-Increase-max-shell-command-timeout-to-2h.patch
index f5fc4cf..c04cc8a 100644
--- a/patches/opnfv-fuel/0032-mcagent-Increase-max-shell-command-timeout-to-2h.patch
+++ b/patches/opnfv-fuel/cross-bootstrap/0005-mcagent-Increase-max-shell-command-timeout-to-2h.patch
@@ -16,14 +16,14 @@ for mcagent has to be increased.
[ Alexandru Avadanii ]
Repackaged, based on Stan's `fuel-astute` patch.
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
.../f_bootstrap/post-scripts/80_prepare_cross_builds.sh | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh b/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
-index d33d1d1..d78b850 100755
+index 01eb2e2..12f66e6 100755
--- a/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
+++ b/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
@@ -26,6 +26,20 @@ if which dpkg > /dev/null 2>&1; then
@@ -46,4 +46,4 @@ index d33d1d1..d78b850 100755
+ /usr/libexec/mcollective/mcollective/agent/execute_shell_command.ddl
fi
fi
-
+
diff --git a/patches/opnfv-fuel/0033-bootstrap-Use-gzip-instead-of-xz-compression.patch b/patches/opnfv-fuel/cross-bootstrap/0006-bootstrap-Use-gzip-instead-of-xz-compression.patch
index e7b176b..ccbd3e1 100644
--- a/patches/opnfv-fuel/0033-bootstrap-Use-gzip-instead-of-xz-compression.patch
+++ b/patches/opnfv-fuel/cross-bootstrap/0006-bootstrap-Use-gzip-instead-of-xz-compression.patch
@@ -14,13 +14,13 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 19 insertions(+)
diff --git a/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh b/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
-index 3839d62..7ceaacc 100755
+index 12f66e6..3cb22f3 100755
--- a/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
+++ b/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
@@ -27,6 +27,11 @@ if which dpkg > /dev/null 2>&1; then
exit 1
fi
-
+
+ # Determine python site-packages directory location
+ PYTHON_SITEPKGS_DIR=$(python -c \
+ "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
@@ -49,4 +49,4 @@ index 3839d62..7ceaacc 100755
+ fi
fi
fi
-
+
diff --git a/patches/opnfv-fuel/0034-Nailgun-Increase-target-image-build-timeout.patch b/patches/opnfv-fuel/cross-bootstrap/0007-Nailgun-Increase-target-image-build-timeout.patch
index 2fbe680..19a025f 100644
--- a/patches/opnfv-fuel/0034-Nailgun-Increase-target-image-build-timeout.patch
+++ b/patches/opnfv-fuel/cross-bootstrap/0007-Nailgun-Increase-target-image-build-timeout.patch
@@ -10,14 +10,14 @@ to be safer.
[ Alexandru Avadanii ]
Moved original patch wrote by Stan to post-install.
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
.../f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh b/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
-index 7ceaacc..0435a28 100755
+index 3cb22f3..c106bc3 100755
--- a/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
+++ b/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
@@ -45,6 +45,13 @@ if which dpkg > /dev/null 2>&1; then
@@ -31,6 +31,6 @@ index 7ceaacc..0435a28 100755
+ ${PYTHON_SITEPKGS_DIR}/nailgun/settings.yaml
+ echo "INFO: [1h] => [2h] updated nailgun image build timeout."
+ fi
-
+
# Bootstrap: Use gzip instead of xz compression.
#
diff --git a/patches/opnfv-fuel/0035-m1.micro-Increase-profile-RAM-size-to-128MB.patch b/patches/opnfv-fuel/cross-bootstrap/0008-m1.micro-Increase-profile-RAM-size-to-128MB.patch
index 89720a2..a54222a 100644
--- a/patches/opnfv-fuel/0035-m1.micro-Increase-profile-RAM-size-to-128MB.patch
+++ b/patches/opnfv-fuel/cross-bootstrap/0008-m1.micro-Increase-profile-RAM-size-to-128MB.patch
@@ -11,7 +11,7 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 15 insertions(+)
diff --git a/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh b/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
-index 0435a28..078f117 100755
+index c106bc3..0b48ca2 100755
--- a/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
+++ b/build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh
@@ -66,6 +66,21 @@ if which dpkg > /dev/null 2>&1; then
@@ -35,4 +35,4 @@ index 0435a28..078f117 100755
+ fi
fi
fi
-
+
diff --git a/patches/opnfv-fuel/0001-kernel-flavor-linux-image-generic-lts-xenial.patch b/patches/opnfv-fuel/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch
index 70847ba..c3a8da4 100644
--- a/patches/opnfv-fuel/0001-kernel-flavor-linux-image-generic-lts-xenial.patch
+++ b/patches/opnfv-fuel/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch
@@ -13,10 +13,10 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml b/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
-index daef3d5..2985619 100644
+index 17e161f..fb0ad1a 100644
--- a/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
+++ b/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
-@@ -5,7 +5,7 @@
+@@ -13,7 +13,7 @@
extra_dirs:
- /usr/share/fuel_bootstrap_cli/files/trusty
output_dir: /tmp/
@@ -25,7 +25,7 @@ index daef3d5..2985619 100644
packages:
- fuel-agent
- hwloc
-@@ -13,6 +13,6 @@
+@@ -21,7 +21,7 @@
- i40e-dkms
- linux-firmware
- linux-firmware-nonfree
@@ -33,19 +33,20 @@ index daef3d5..2985619 100644
+ - linux-headers-generic-lts-xenial
- live-boot
- live-boot-initramfs-tools
+ - lshw
diff --git a/deploy/config/dea_base.yaml b/deploy/config/dea_base.yaml
-index 658b328..5f3c156 100644
+index 5a25040..f5a03e2 100644
--- a/deploy/config/dea_base.yaml
+++ b/deploy/config/dea_base.yaml
@@ -474,9 +474,9 @@ settings:
-
+
linux-firmware-nonfree
-
+
- linux-headers-generic-lts-trusty
+ linux-headers-generic-lts-xenial
-
+
- linux-image-generic-lts-trusty
+ linux-image-generic-lts-xenial
-
+
lvm2
-
+
diff --git a/patches/opnfv-fuel/0002-FIXME-deploy-EFI-Skip-re-ordering-boot-via-IPMI.patch b/patches/opnfv-fuel/multiarch-efi/0001-FIXME-deploy-EFI-Skip-re-ordering-boot-via-IPMI.patch
index d6ff381..3b3c612 100644
--- a/patches/opnfv-fuel/0002-FIXME-deploy-EFI-Skip-re-ordering-boot-via-IPMI.patch
+++ b/patches/opnfv-fuel/multiarch-efi/0001-FIXME-deploy-EFI-Skip-re-ordering-boot-via-IPMI.patch
@@ -19,7 +19,7 @@ index 93dc395..1d2dfeb 100644
--- a/deploy/deploy_env.py
+++ b/deploy/deploy_env.py
@@ -255,7 +255,9 @@ class CloudDeploy(object):
-
+
def set_boot_order_nodes(self):
self.power_off_nodes()
- self.set_boot_order(['pxe', 'disk'])
@@ -27,5 +27,5 @@ index 93dc395..1d2dfeb 100644
+ # Until we choose an uniform design on EFI systems, just disable it
+ # self.set_boot_order(['pxe', 'disk'])
self.power_on_nodes()
-
+
def get_put_deploy_log(self):
diff --git a/patches/opnfv-fuel/0020-Add-arm64-deb-repositories-setup.patch b/patches/opnfv-fuel/multiarch-mirrors/0001-Add-arm64-deb-repositories-setup.patch
index 9083ceb..c3a76d1 100644
--- a/patches/opnfv-fuel/0020-Add-arm64-deb-repositories-setup.patch
+++ b/patches/opnfv-fuel/multiarch-mirrors/0001-Add-arm64-deb-repositories-setup.patch
@@ -1,4 +1,4 @@
-From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
Date: Wed, 24 Feb 2016 20:04:03 +0100
Subject: [PATCH] Add arm64 deb repositories setup
@@ -12,7 +12,7 @@ Subject: [PATCH] Add arm64 deb repositories setup
6 files changed, 52 insertions(+), 15 deletions(-)
diff --git a/build/f_isoroot/f_kscfg/ks.cfg.patch b/build/f_isoroot/f_kscfg/ks.cfg.patch
-index a6840e4..e1ae8fc 100644
+index a6840e4..84a241f 100644
--- a/build/f_isoroot/f_kscfg/ks.cfg.patch
+++ b/build/f_isoroot/f_kscfg/ks.cfg.patch
@@ -1,6 +1,16 @@
@@ -22,7 +22,7 @@ index a6840e4..e1ae8fc 100644
+*** 448,453 ****
+--- 448,454 ----
+ cp ${SOURCE}/.treeinfo ${repodir}/centos/x86_64
-+
++
+ # Copying Ubuntu files
++ # FIXME: This is missleading as dist/pool may contain multiple arch!
+ mkdir -p ${repodir}/ubuntu/x86_64/images
@@ -39,14 +39,14 @@ index 0d15aec..e6392f8 100644
@@ -16,12 +16,18 @@ TreeDefault {
Directory "pool";
};
-
+
-BinDirectory "pool/main" {
+BinDirectory "pool/main/binary-amd64" {
Packages "dists/trusty/main/binary-amd64/Packages";
BinOverride "./indices/override.trusty.main";
ExtraOverride "./indices/override.trusty.extra.main";
};
-
+
+BinDirectory "pool/main/binary-arm64" {
+ Packages "dists/trusty/main/binary-arm64/Packages";
+ BinOverride "./indices/override.trusty.main";
@@ -75,13 +75,13 @@ index 3b5b239..c6ab4fb 100644
@@ -16,11 +16,16 @@ TreeDefault {
Directory "pool";
};
-
+
-BinDirectory "pool/debian-installer" {
+BinDirectory "pool/debian-installer/binary-amd64" {
Packages "dists/trusty/main/debian-installer/binary-amd64/Packages";
BinOverride "./indices/override.trusty.main.debian-installer";
};
-
+
+BinDirectory "pool/debian-installer/binary-arm64" {
+ Packages "dists/trusty/main/debian-installer/binary-arm64/Packages";
+ BinOverride "./indices/override.trusty.main.debian-installer";
@@ -91,13 +91,13 @@ index 3b5b239..c6ab4fb 100644
Packages {
Extensions ".udeb";
diff --git a/build/install/install.sh b/build/install/install.sh
-index 4e0389e..8c29e08 100755
+index 866d304..9e003bb 100755
--- a/build/install/install.sh
+++ b/build/install/install.sh
@@ -122,12 +122,24 @@ prep_make_live() {
ssh-copy-id root@$FUELHOST
sshfs root@1${FUELHOST}:/ $TMP_HOSTMOUNT
-
+
- if [ -f $REPO/dists/trusty/main/binary-amd64/Packages.backup ]; then
+ for arch in arm64 amd64; do
+ if [ -f $REPO/dists/trusty/main/binary-${arch}/Packages.backup ]; then
@@ -115,7 +115,7 @@ index 4e0389e..8c29e08 100755
echo "Error - found backup file for Packages!"
exit 1
fi
-
+
- if [ -f $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup ]; then
+ if [ -f $REPO/dists/trusty/main/binary-arm64/Packages.gz.backup ]; then
echo "Error - found backup file for Packages.gz!"
@@ -124,7 +124,7 @@ index 4e0389e..8c29e08 100755
@@ -142,8 +154,10 @@ prep_make_live() {
exit 1
fi
-
+
- cp $REPO/dists/trusty/main/binary-amd64/Packages $REPO/dists/trusty/main/binary-amd64/Packages.backup
- cp $REPO/dists/trusty/main/binary-amd64/Packages.gz $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup
+ for arch in arm64 amd64; do
@@ -140,7 +140,7 @@ index a9e74bc..e90c632 100755
+++ b/build/install/uninstall.sh
@@ -31,15 +31,17 @@ DEST=$MOUNT
REPO=$DEST/var/www/nailgun/ubuntu/fuelweb/x86_64
-
+
cd $REPO
-if [ ! -f $REPO/dists/trusty/main/binary-amd64/Packages.backup ]; then
- echo "Error - didn't find backup file for Packages!"
@@ -151,7 +151,7 @@ index a9e74bc..e90c632 100755
+ echo "Error - didn't find backup file for Packages for ${arch}!"
+ exit 1
+ fi
-
+
-if [ ! -f $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup ]; then
- echo "Error - didn't find backup file for Packages.gz!"
- exit 1
@@ -161,6 +161,6 @@ index a9e74bc..e90c632 100755
+ exit 1
+ fi
+done
-
+
if [ ! -f $REPO/dists/trusty/Release.backup ]; then
echo "Error - didn't find backup file for Release!"
diff --git a/patches/opnfv-fuel/0048-fpb-Support-multiple-versions-of-packages.patch b/patches/opnfv-fuel/multiarch-plugins/0001-fpb-Support-multiple-versions-of-packages.patch
index 25187b4..35bef5c 100644
--- a/patches/opnfv-fuel/0048-fpb-Support-multiple-versions-of-packages.patch
+++ b/patches/opnfv-fuel/multiarch-plugins/0001-fpb-Support-multiple-versions-of-packages.patch
@@ -19,7 +19,7 @@ index 624f233..ab0d0d3 100644
+++ b/build/docker/Dockerfile
@@ -23,7 +23,14 @@ RUN apt-get install -y software-properties-common python-software-properties \
build-essential ruby-dev rubygems-integration python-pip git rpm createrepo dpkg-dev
-
+
RUN gem install fpm
-RUN pip install fuel-plugin-builder
+
@@ -30,14 +30,16 @@ index 624f233..ab0d0d3 100644
+ (git fetch origin INSERT_FPB_CHANGE && git checkout FETCH_HEAD)) && \
+ python setup.py sdist && pip install ./dist/fuel-plugin-builder-*.tar.gz && \
+ cd .. && rm -rf fuel-plugins
-
+
RUN echo "ALL ALL=NOPASSWD: ALL" > /etc/sudoers.d/open-sudo
RUN echo "Defaults env_keep += \"ftp_proxy http_proxy https_proxy no_proxy RSYNC_PROXY RSYNC_CONNECT_PROG npm_config_registry\"" > /etc/sudoers.d/keep-proxies
diff --git a/build/docker/Makefile b/build/docker/Makefile
-index d4423b0..226bbd0 100644
+index 783881e..74f6346 100644
--- a/build/docker/Makefile
+++ b/build/docker/Makefile
-@@ -25,4 +25,8 @@ all: .docker
+@@ -34,6 +34,10 @@ all: .docker
+
+ .dockercfg: $(FILES)
cp Dockerfile ubuntu-builder/Dockerfile
+ # Only add FPB ENVs when set - needed to fetch, patch and install FPB
+ test -n "${FPB_REPO}" && sed -i "s;INSERT_FPB_REPO;${FPB_REPO};" ubuntu-builder/Dockerfile || exit 0
diff --git a/patches/opnfv-fuel/0007-Remove-check-for-root.patch b/patches/opnfv-fuel/upstream-backports/0001-deploy.sh-Remove-check-for-root-rm-umask-0000.patch
index 2282f59..cd30166 100644
--- a/patches/opnfv-fuel/0007-Remove-check-for-root.patch
+++ b/patches/opnfv-fuel/upstream-backports/0001-deploy.sh-Remove-check-for-root-rm-umask-0000.patch
@@ -1,25 +1,39 @@
-From b7d5f0ca9a76de6d99fc5d6f5cbb8df864c62b7b Mon Sep 17 00:00:00 2001
-From: Josep Puigdemont <josep.puigdemont@enea.com>
-Date: Wed, 4 May 2016 14:27:23 +0200
-Subject: [PATCH] Remove check for root
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Fri, 6 May 2016 03:07:40 +0200
+Subject: [PATCH] deploy.sh: Remove check for root (rm umask 0000)
+
+Patch(es) by Josep, signed by Alex only for upstreaming.
+
+[Alexandru Avadanii]
+Squashed two atomic commits into one change.
-Change-Id: Ic6bfaf07c0d9d347aec2df8724184d0314665503
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
- ci/deploy.sh | 5 -----
- deploy/deploy-config.py | 1 -
- deploy/deploy.py | 2 --
- deploy/environments/virtual_fuel.py | 2 --
- 4 files changed, 10 deletions(-)
+ ci/deploy.sh | 11 -----------
+ deploy/deploy-config.py | 1 -
+ deploy/deploy.py | 2 --
+ deploy/environments/virtual_fuel.py | 2 --
+ 4 files changed, 16 deletions(-)
diff --git a/ci/deploy.sh b/ci/deploy.sh
-index c08a94b..081806c 100755
+index 8411714..081806c 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
-@@ -209,11 +209,6 @@ do
+@@ -84,9 +84,6 @@ Input parameters to the build script is:
+ -i .iso image to be deployed (needs to be provided in a URI
+ style, it can be a local resource: file:// or a remote resource http(s)://)
+
+-NOTE: Root priviledges are needed for this script to run
+-
+-
+ Examples:
+ sudo `basename $0` -b file:///home/jenkins/lab-config -l lf -p pod1 -s ha_odl-l3_heat_ceilometer -i file:///home/jenkins/myiso.iso
+ EOF
+@@ -212,11 +209,6 @@ do
esac
done
-
+
-if [[ $EUID -ne 0 ]]; then
- echo "This script must be run as root" 1>&2
- exit 1
@@ -28,33 +42,43 @@ index c08a94b..081806c 100755
if [ -z $BASE_CONFIG_URI ] || [ -z $TARGET_LAB ] || \
[ -z $TARGET_POD ] || [ -z $DEPLOY_SCENARIO ] || \
[ -z $ISO ]; then
+@@ -231,9 +223,6 @@ fi
+ # Enable the automatic exit trap
+ trap do_exit SIGINT SIGTERM EXIT
+
+-# Set no restrictive umask so that Jenkins can removeeee any residuals
+-umask 0000
+-
+ clean
+
+ pushd ${DEPLOY_DIR} > /dev/null
diff --git a/deploy/deploy-config.py b/deploy/deploy-config.py
-index 65d51b2..88a1111 100644
+index 2a09aa3..02debe2 100644
--- a/deploy/deploy-config.py
+++ b/deploy/deploy-config.py
-@@ -40,7 +40,6 @@ from common import (
+@@ -41,7 +41,6 @@ from common import (
check_file_exists,
create_dir_if_not_exists,
delete,
- check_if_root,
ArgParser,
)
-
+
diff --git a/deploy/deploy.py b/deploy/deploy.py
-index 56e5bd5..a021e28 100755
+index fe213e5..08702d2 100755
--- a/deploy/deploy.py
+++ b/deploy/deploy.py
-@@ -33,7 +33,6 @@ from common import (
+@@ -34,7 +34,6 @@ from common import (
check_dir_exists,
create_dir_if_not_exists,
delete,
- check_if_root,
ArgParser,
)
-
-@@ -234,7 +233,6 @@ class AutoDeploy(object):
+
+@@ -252,7 +251,6 @@ class AutoDeploy(object):
return 0
-
+
def run(self):
- check_if_root()
if self.cleanup_only:
@@ -74,12 +98,9 @@ index b1a76e4..4ff68f6 100644
)
@@ -135,7 +134,6 @@ class VirtualFuel(ExecutionEnvironment):
vm_definition_overwrite)
-
+
def setup_environment(self):
- check_if_root()
self.cleanup_environment()
self.create_vm()
-
---
-2.5.5
diff --git a/patches/opnfv-fuel/0040-Backport-dpkg-checkbuilddeps-to-mk-build-deps.patch b/patches/opnfv-fuel/upstream-backports/0002-Backport-dpkg-checkbuilddeps-to-mk-build-deps.patch
index 5dde448..eb81942 100644
--- a/patches/opnfv-fuel/0040-Backport-dpkg-checkbuilddeps-to-mk-build-deps.patch
+++ b/patches/opnfv-fuel/upstream-backports/0002-Backport-dpkg-checkbuilddeps-to-mk-build-deps.patch
@@ -9,14 +9,14 @@ Backported from [1].
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
...ce-dpkg-checkbuilddeps-with-mk-build-deps.patch | 38 ++++++++++++++++++++++
- 1 files changed, 38 insertions(+)
- create mode 100644 build/replace-dpkg-checkbuilddeps-with-mk-build-deps.patch
+ 1 file changed, 38 insertions(+)
+ create mode 100644 build/f_repos/patch/fuel-main/0005-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch
-diff --git a/build/patch-repos/0040-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch b/build/patch-repos/0040-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch
+diff --git a/build/f_repos/patch/fuel-main/0005-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch b/build/f_repos/patch/fuel-main/0005-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch
new file mode 100644
index 0000000..896f3cf
--- /dev/null
-+++ b/build/patch-repos/0040-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch
++++ b/build/f_repos/patch/fuel-main/0005-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch
@@ -0,0 +1,38 @@
+From: Sergii Golovatiuk <sgolovatiuk@mirantis.com>
+Date: Fri, 3 Jun 2016 12:26:19 +0200
@@ -40,7 +40,7 @@ index 0000000..896f3cf
+@@ -10,7 +10,7 @@ clean-deb:
+ done
+ sudo rm -rf $(BUILD_DIR)/packages/deb
-+
++
+-$(BUILD_DIR)/packages/deb/buildd.tar.gz: SANDBOX_DEB_PKGS:=wget bzip2 apt-utils build-essential python-setuptools python-pbr devscripts debhelper fakeroot
++$(BUILD_DIR)/packages/deb/buildd.tar.gz: SANDBOX_DEB_PKGS:=wget bzip2 apt-utils build-essential fakeroot devscripts equivs debhelper python-setuptools python-pbr
+ $(BUILD_DIR)/packages/deb/buildd.tar.gz: SANDBOX_UBUNTU:=$(BUILD_DIR)/packages/deb/chroot
diff --git a/patches/vswitchperf/0001-ci-build-vsperf-make-qemu-system-name-arch-indep.patch b/patches/vswitchperf/0001-ci-build-vsperf-make-qemu-system-name-arch-indep.patch
index 29e8a1d..0fd972c 100644
--- a/patches/vswitchperf/0001-ci-build-vsperf-make-qemu-system-name-arch-indep.patch
+++ b/patches/vswitchperf/0001-ci-build-vsperf-make-qemu-system-name-arch-indep.patch
@@ -10,7 +10,7 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/ci/build-vsperf.sh b/ci/build-vsperf.sh
-index 5370898..fc38747 100755
+index a02de00..fa0d46a 100755
--- a/ci/build-vsperf.sh
+++ b/ci/build-vsperf.sh
@@ -87,14 +87,15 @@ TEST_REPORT_LOG_DIR="${HOME}/opnfv/$PROJECT/results/$BRANCH"
@@ -22,7 +22,7 @@ index 5370898..fc38747 100755
sudo pkill python3 &> /dev/null
- sudo killall -9 qemu-system-x86_64 &> /dev/null
+ sudo killall -9 "${qemu_system_name}" &> /dev/null
-
+
# sometimes qemu resists to terminate, so wait a bit and kill it again
- if pgrep qemu-system-x86_64 &> /dev/null ; then
+ if pgrep "${qemu_system_name}" &> /dev/null ; then
@@ -31,4 +31,4 @@ index 5370898..fc38747 100755
+ sudo killall -9 "${qemu_system_name}" &> /dev/null
sleep 5
fi
-
+
diff --git a/patches/vswitchperf/0002-s-u-build_base_machine-Arch-indep-libdir-s.patch b/patches/vswitchperf/0002-s-u-build_base_machine-Arch-indep-libdir-s.patch
index 0a92144..f82aaae 100644
--- a/patches/vswitchperf/0002-s-u-build_base_machine-Arch-indep-libdir-s.patch
+++ b/patches/vswitchperf/0002-s-u-build_base_machine-Arch-indep-libdir-s.patch
@@ -10,21 +10,21 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/systems/ubuntu/build_base_machine.sh b/systems/ubuntu/build_base_machine.sh
-index a2b48a2..7cbe78e 100755
+index 1b42a79..b0f3740 100755
--- a/systems/ubuntu/build_base_machine.sh
+++ b/systems/ubuntu/build_base_machine.sh
-@@ -52,11 +52,12 @@ apt-get -y install libfuse-dev
+@@ -54,11 +54,12 @@ apt-get -y install libnuma-dev
# packages related to VM
-
+
# a few manual fix up on a ubuntu
-cd /lib/x86_64-linux-gnu
+local arch=$(uname -m)
+cd /lib/${arch}-linux-gnu
ln -sf libssl.so.1.0.0 libssl.so
ln -sf libcrypto.so.1.0.0 libcrypto.so
-
+
-cd /usr/lib/x86_64-linux-gnu
+cd /usr/lib/${arch}-linux-gnu
ln -sf libxml2.so.2 libxml2.so
-
-
+
+
diff --git a/upstream/fuel-agent b/upstream/fuel-agent
deleted file mode 160000
-Subproject 2cd6925ce2986b58a3ff1dcade12f55a41bff71
diff --git a/upstream/fuel-astute b/upstream/fuel-astute
deleted file mode 160000
-Subproject 65309028c2b65cee68bb865f3895ed185922f3b
diff --git a/upstream/fuel-library b/upstream/fuel-library
deleted file mode 160000
-Subproject 0744f4b3fb170d98c7ba70160cd9b91064865bd
diff --git a/upstream/fuel-mirror b/upstream/fuel-mirror
deleted file mode 160000
-Subproject 81246a7ecd95c27b388df8f8954e4fb81a3f06e
diff --git a/upstream/fuel-nailgun-agent b/upstream/fuel-nailgun-agent
deleted file mode 160000
-Subproject 46fa0db0f8944f9e67699d281d462678aaf4db2
diff --git a/upstream/fuel-web b/upstream/fuel-web
deleted file mode 160000
-Subproject d3463ad92df45541fc0107801aef71e73a194ec