diff options
11 files changed, 504 insertions, 188 deletions
diff --git a/.gitmodules b/.gitmodules index 96222938..3069a650 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,10 +2,6 @@ path = upstream/fuel url = https://gerrit.opnfv.org/gerrit/fuel branch = master -[submodule "fuel-main"] - path = upstream/fuel-main - url = https://github.com/openstack/fuel-main.git - branch = stable/mitaka [submodule "fuel-library"] path = upstream/fuel-library url = https://github.com/openstack/fuel-library.git @@ -63,8 +63,6 @@ build: cd ${root}/upstream/fuel/build && \ make \ BUILD_FUEL_PLUGINS=f_odlpluginbuild \ - FUEL_MAIN_REPO=${root}/upstream/fuel-main \ - FUEL_MAIN_TAG= \ UBUNTU_ARCH="amd64 arm64" \ FUELLIB_REPO=${root}/upstream/fuel-library \ NAILGUN_REPO=${root}/upstream/fuel-web \ @@ -81,7 +79,6 @@ build: FUEL_NAILGUN_AGENT_COMMIT=HEAD \ FUEL_MIRROR_COMMIT=HEAD \ ODL_BRANCH=armband-workbench \ - CENTOS_MAJOR=7 \ EXTRA_RPM_REPOS="armband,http://linux.enea.com/mos-repos/centos/mos9.0-centos7/armband/x86_64,10" \ MIRROR_MOS_UBUNTU=linux.enea.com \ JAVA8_URL=https://launchpad.net/~openjdk-r/+archive/ubuntu/ppa/+files/openjdk-8-jre-headless_8u72-b15-1~trusty1_arm64.deb \ diff --git a/patches/fuel-main/0001-mirror-sandbox-Allow-multi-arch-debian-mirrors.patch b/patches/fuel-main/0001-mirror-sandbox-Allow-multi-arch-debian-mirrors.patch deleted file mode 100644 index 18f2c20e..00000000 --- a/patches/fuel-main/0001-mirror-sandbox-Allow-multi-arch-debian-mirrors.patch +++ /dev/null @@ -1,44 +0,0 @@ -From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> -Date: Thu, 25 Feb 2016 13:31:19 +0100 -Subject: [PATCH] mirror, sandbox: Allow multi-arch debian mirrors - -This patch allows specifying multiple architectures via UBUNTU_ARCH in -form of a list of space separated architectures. The first architecture -in the list is considered primary and will be used for building all the -deb packages by fuel-main. Additional architectures are added to allow -targets of other architectures to use the mirror. -NOTE: this imposes a requirement that all packages built are arch -independent (which is true so far). - -Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> ---- - mirror/ubuntu/module.mk | 2 +- - sandbox.mk | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/mirror/ubuntu/module.mk b/mirror/ubuntu/module.mk -index 7a9466e..fe1ada2 100644 ---- a/mirror/ubuntu/module.mk -+++ b/mirror/ubuntu/module.mk -@@ -81,7 +81,7 @@ $(BUILD_DIR)/mirror/ubuntu/mirror.done: - --root=$(MIRROR_MOS_UBUNTU_ROOT) \ - --dist=$(MIRROR_MOS_UBUNTU_SUITE) \ - --section=$(subst $(space),$(comma),$(MIRROR_MOS_UBUNTU_SECTION)) \ -- --arch=$(UBUNTU_ARCH) \ -+ --arch=$(shell echo $(UBUNTU_ARCH) | tr ' ' ',') \ - $(LOCAL_MIRROR_UBUNTU)/ - rm -rf $(LOCAL_MIRROR_UBUNTU)/.temp $(LOCAL_MIRROR_UBUNTU)/project - $(ACTION.TOUCH) -diff --git a/sandbox.mk b/sandbox.mk -index 4bc3962..5ffddbd 100644 ---- a/sandbox.mk -+++ b/sandbox.mk -@@ -188,7 +188,7 @@ touch $(SANDBOX_UBUNTU)/etc/init.d/.legacy-bootordering - mkdir -p $(SANDBOX_UBUNTU)/usr/sbin - cp -a $(BUILD_DIR)/policy-rc.d $(SANDBOX_UBUNTU)/usr/sbin - echo "Running debootstrap" --sudo debootstrap --no-check-gpg --include=ca-certificates --arch=$(UBUNTU_ARCH) $(MIRROR_UBUNTU_SUITE) $(SANDBOX_UBUNTU) $(MIRROR_UBUNTU_METHOD)://$(MIRROR_UBUNTU)$(MIRROR_UBUNTU_ROOT) -+sudo debootstrap --no-check-gpg --include=ca-certificates --arch=$(word 1,$(UBUNTU_ARCH)) $(MIRROR_UBUNTU_SUITE) $(SANDBOX_UBUNTU) $(MIRROR_UBUNTU_METHOD)://$(MIRROR_UBUNTU)$(MIRROR_UBUNTU_ROOT) - if [ -e $(SANDBOX_UBUNTU)/etc/resolv.conf ]; then sudo cp -a $(SANDBOX_UBUNTU)/etc/resolv.conf $(SANDBOX_UBUNTU)/etc/resolv.conf.orig; fi - sudo cp /etc/resolv.conf $(SANDBOX_UBUNTU)/etc/resolv.conf - if [ -e $(SANDBOX_UBUNTU)/etc/hosts ]; then sudo cp -a $(SANDBOX_UBUNTU)/etc/hosts $(SANDBOX_UBUNTU)/etc/hosts.orig; fi diff --git a/patches/opnfv-fuel/000098-FIXME-build-fuel-main-Decouple-patches-Makefile.patch b/patches/opnfv-fuel/000098-FIXME-build-fuel-main-Decouple-patches-Makefile.patch new file mode 100644 index 00000000..8b464b47 --- /dev/null +++ b/patches/opnfv-fuel/000098-FIXME-build-fuel-main-Decouple-patches-Makefile.patch @@ -0,0 +1,366 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Sat, 18 Jun 2016 01:09:27 +0200 +Subject: [PATCH] WIP: build: fuel-main: Decouple patches, Makefile. + +FIXME: Not tested, only a discussion starter. + +Submitted upstream in Fuel@OPNFv, see change-id. + +ARMBAND changes: +Upstream removed all mirrors but usa and cz, and changed +its default to mirror.fuel-infra.org in [1]. + +This allows us to drop patching of fuel-main/config.mk +with the Czech mirror. + +If needed, USE_MIRROR=cz can be specified as an env var. + +FIXME: Remove when Fuel@OPNFV pulls change and deals with it. + +Use `git apply` and/or `git am` in favor of `patch`. +Change patches from old context format to unified diff. + +This change allows us to decouple Makefile and patches. +This means we no longer have to manually stage touched files +before committing them to git. + +Possible improvements: +- replace cz mirror patch with USE_MIRROR=cz makevar; +- move patches to separate dir and add ordering info (prefix); +- merge patches (currently we have one per touched file); + +Remove obsolete (unused?) patch: +- fuel-main_docker_version.patch + +[1] https://github.com/openstack/fuel-main/commit/ + 751d502cfe15d9c9df0ee89530ac3b0b73aa1638 + +Change-Id: I5b621370993b259779c813b47105f632948e6da7 +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + build/Makefile | 17 ++-- + build/bootstrap_admin_node.sh.patch | 167 +++++++++++++++-------------------- + build/fuel-main_docker_version.patch | 20 ----- + build/isolinux.cfg.patch | 43 +++++---- + build/repo-mirror-cz.patch | 32 +++---- + 5 files changed, 113 insertions(+), 166 deletions(-) + delete mode 100644 build/fuel-main_docker_version.patch + +diff --git a/build/Makefile b/build/Makefile +index 956183c..69e5690 100644 +--- a/build/Makefile ++++ b/build/Makefile +@@ -109,9 +109,9 @@ $(ISOCACHE): + cd /tmp && git clone $(FUEL_MAIN_REPO); \ + fi + cd /tmp/fuel-main && git checkout $(FUEL_MAIN_TAG) +- @echo "fuel" `git -C /tmp/fuel-main show | grep commit | head -1 | cut -d " " -f2` >> $(VERSION_FILE) +- # Patch for using the Czech Fuel mirror +- cd /tmp/fuel-main && patch -p0 < $(TOPDIR)/repo-mirror-cz.patch ++ @echo "fuel" `git -C /tmp/fuel-main rev-parse HEAD` >> $(VERSION_FILE) ++ # Patch for using the Czech Fuel mirror (non-committed) ++ cd /tmp/fuel-main && git apply $(TOPDIR)/repo-mirror-cz.patch + # Remove Docker optimizations, otherwise multistrap will fail during + # Fuel build. + sudo rm -f /etc/apt/apt.conf.d/docker* +@@ -135,13 +135,10 @@ $(ISOCACHE): + # OPNFV patches at Fuel build time + # Need to be commited in order for them to be considered by the Fuel + # build system +- cd /tmp/fuel-main/iso && git config user.name "Fuel OPNFV" +- cd /tmp/fuel-main/iso && git config user.email "fuel@opnfv.org" +- cd /tmp/fuel-main/iso && patch -p0 < $(TOPDIR)/bootstrap_admin_node.sh.patch +- cd /tmp/fuel-main/iso && git add -u bootstrap_admin_node.sh +- cd /tmp/fuel-main/iso/isolinux && patch -p0 < $(TOPDIR)/isolinux.cfg.patch +- cd /tmp/fuel-main/iso/isolinux && git add -u isolinux.cfg +- cd /tmp/fuel-main/iso && git commit -m "Added OPNFV patches" ++ cd /tmp/fuel-main && git config user.name "Fuel OPNFV" ++ cd /tmp/fuel-main && git config user.email "fuel@opnfv.org" ++ cd /tmp/fuel-main && git am $(TOPDIR)/bootstrap_admin_node.sh.patch ++ cd /tmp/fuel-main && git am $(TOPDIR)/isolinux.cfg.patch + # Repeat build up to three times + sudo -E ./fuel_build_loop + cp /tmp/fuel-main/build/artifacts/fuel*.iso . +diff --git a/build/bootstrap_admin_node.sh.patch b/build/bootstrap_admin_node.sh.patch +index e137b74..8a2b69f 100644 +--- a/build/bootstrap_admin_node.sh.patch ++++ b/build/bootstrap_admin_node.sh.patch +@@ -1,95 +1,72 @@ +-*** bootstrap_admin_node.sh.orig Mon May 30 06:31:38 2016 +---- bootstrap_admin_node.sh Mon May 30 06:35:11 2016 +-*************** +-*** 339,346 **** +- set +x +- echo "Done!" +- +- if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then +-! fuelmenu || fail +- else +- # Give user 15 seconds to enter fuelmenu or else continue +- echo +---- 339,360 ---- +- set +x +- echo "Done!" +- +-+ ### OPNFV addition BEGIN +-+ shopt -s nullglob +-+ for script in /opt/opnfv/bootstrap/pre.d/*.sh +-+ do +-+ echo "Pre script: $script" >> /root/pre.log 2>&1 +-+ $script >> /root/pre.log 2>&1 +-+ done +-+ shopt -u nullglob +-+ ### OPNFV addition END +-+ +-+ # Enable sshd +-+ systemctl enable sshd +-+ systemctl start sshd +-+ +- if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then +-! fuelmenu +- else +- # Give user 15 seconds to enter fuelmenu or else continue +- echo +-*************** +-*** 360,368 **** +- fi +- fi ++From: Fuel OPNFV <fuel@opnfv.org> ++Date: Mon, 13 Jun 2016 22:23:57 +0200 ++Subject: OPNFV: Additions to bootstrap_admin_node.sh + +- # Enable online base MOS repos (security, updates) if we run an ISO installation +-! [ -f /etc/fuel_build_id ] && \ +-! yum-config-manager --enable mos${FUEL_RELEASE}-security mos${FUEL_RELEASE}-updates --save +- +- if [ ! -f "${ASTUTE_YAML}" ]; then +- echo ${fuelmenu_fail_message} +---- 360,369 ---- +- fi +- fi +- +-+ # OPNFV: Disabled to speedup installation in offline env. +- # Enable online base MOS repos (security, updates) if we run an ISO installation +-! #[ -f /etc/fuel_build_id ] && \ +-! # yum-config-manager --enable mos${FUEL_RELEASE}-security mos${FUEL_RELEASE}-updates --save +- +- if [ ! -f "${ASTUTE_YAML}" ]; then +- echo ${fuelmenu_fail_message} +-*************** +-*** 374,382 **** +- [ ! -f /etc/fuel_build_id ] && \ +- sed -i "s|127.0.0.1:8080/ubuntu/x86_64|mirror.fuel-infra.org/mos-repos/ubuntu/${FUEL_RELEASE}|g" "${ASTUTE_YAML}" +- +-! # Enable sshd +-! systemctl enable sshd +-! systemctl start sshd +- +- # Enable iptables +- systemctl enable iptables.service +---- 388,394 ---- +- [ ! -f /etc/fuel_build_id ] && \ +- sed -i "s|127.0.0.1:8080/ubuntu/x86_64|mirror.fuel-infra.org/mos-repos/ubuntu/${FUEL_RELEASE}|g" "${ASTUTE_YAML}" +- +-! systemctl reload sshd +- +- # Enable iptables +- systemctl enable iptables.service +-*************** +-*** 529,534 **** +---- 541,556 ---- +- +- bash /etc/rc.local +- +-+ ### OPNFV addition BEGIN +-+ shopt -s nullglob +-+ for script in /opt/opnfv/bootstrap/post.d/*.sh +-+ do +-+ echo "Post script: $script" >> /root/post.log 2>&1 +-+ $script >> /root/post.log 2>&1 +-+ done +-+ shopt -u nullglob +-+ ### OPNFV addition END +-+ +- if [ "`get_bootstrap_skip`" = "False" ]; then +- build_ubuntu_bootstrap bs_status || true +- else ++--- ++diff --git a/iso/bootstrap_admin_node.sh b/iso/bootstrap_admin_node.sh ++index 3197c91..e035145 100755 ++--- a/iso/bootstrap_admin_node.sh +++++ b/iso/bootstrap_admin_node.sh ++@@ -339,8 +339,22 @@ fuelmenu --save-only --iface=$ADMIN_INTERFACE || fail ++ set +x ++ echo "Done!" ++ +++### OPNFV addition BEGIN +++shopt -s nullglob +++for script in /opt/opnfv/bootstrap/pre.d/*.sh +++do +++ echo "Pre script: $script" >> /root/pre.log 2>&1 +++ $script >> /root/pre.log 2>&1 +++done +++shopt -u nullglob +++### OPNFV addition END +++ +++# Enable sshd +++systemctl enable sshd +++systemctl start sshd +++ ++ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then ++- fuelmenu || fail +++ fuelmenu ++ else ++ # Give user 15 seconds to enter fuelmenu or else continue ++ echo ++@@ -360,9 +374,10 @@ else ++ fi ++ fi ++ +++# OPNFV: Disabled to speedup installation in offline env. ++ # Enable online base MOS repos (security, updates) if we run an ISO installation ++-[ -f /etc/fuel_build_id ] && \ ++- yum-config-manager --enable mos${FUEL_RELEASE}-security mos${FUEL_RELEASE}-updates --save +++#[ -f /etc/fuel_build_id ] && \ +++# yum-config-manager --enable mos${FUEL_RELEASE}-security mos${FUEL_RELEASE}-updates --save ++ ++ if [ ! -f "${ASTUTE_YAML}" ]; then ++ echo ${fuelmenu_fail_message} ++@@ -377,7 +392,5 @@ if [ ! -f /etc/fuel_build_id ]; then ++ ++-# Enable sshd ++-systemctl enable sshd ++-systemctl start sshd +++systemctl reload sshd ++ ++ # Enable iptables ++ systemctl enable iptables.service ++@@ -532,6 +545,16 @@ systemctl start ntpd ++ ++ bash /etc/rc.local ++ +++### OPNFV addition BEGIN +++shopt -s nullglob +++for script in /opt/opnfv/bootstrap/post.d/*.sh +++do +++ echo "Post script: $script" >> /root/post.log 2>&1 +++ $script >> /root/post.log 2>&1 +++done +++shopt -u nullglob +++### OPNFV addition END +++ ++ if [ "`get_bootstrap_skip`" = "False" ]; then ++ build_ubuntu_bootstrap bs_status || true ++ else +diff --git a/build/fuel-main_docker_version.patch b/build/fuel-main_docker_version.patch +deleted file mode 100644 +index 22b5824..0000000 +--- a/build/fuel-main_docker_version.patch ++++ /dev/null +@@ -1,20 +0,0 @@ +-*** prepare-build-env.sh.orig 2016-01-11 14:55:50.615286910 +0100 +---- prepare-build-env.sh 2016-01-11 14:59:44.775308422 +0100 +-*************** +-*** 102,108 **** +- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 +- # Install docker +- sudo apt-get update +-! sudo apt-get -y install lxc-docker-1.5.0 +- fi +- +- # Install software +---- 102,109 ---- +- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 +- # Install docker +- sudo apt-get update +-! sudo sh -c 'echo DOCKER_OPTS=\"--bip 172.45.0.1/24\" > /etc/default/docker' +-! sudo apt-get -y -o Dpkg::Options::="--force-confold" install lxc-docker-1.7.1 +- fi +- +- # Install software +diff --git a/build/isolinux.cfg.patch b/build/isolinux.cfg.patch +index ebd991b..7ca7a5c 100644 +--- a/build/isolinux.cfg.patch ++++ b/build/isolinux.cfg.patch +@@ -1,24 +1,21 @@ +-*** isolinux.cfg.orig Tue May 10 10:13:21 2016 +---- isolinux.cfg Tue May 10 10:15:12 2016 +-*************** +-*** 19,27 **** +- menu label ^1. Fuel Install (Static IP) +- menu default +- kernel vmlinuz +-! append initrd=initrd.img net.ifnames=0 biosdevname=0 inst.repo=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ inst.ks=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:eth0:off::: nameserver=10.20.0.1 +- +- label nailgunifname +- menu label ^2. Fuel Advanced Install (Static IP) +- kernel vmlinuz +-! append initrd=initrd.img inst.repo=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ inst.ks=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:adminif:off::: nameserver=10.20.0.1 ifname=adminif:XX:XX:XX:XX:XX:XX +---- 19,27 ---- +- menu label ^1. Fuel Install (Static IP) +- menu default +- kernel vmlinuz +-! append initrd=initrd.img net.ifnames=0 biosdevname=0 inst.repo=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ inst.ks=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:eth0:off::: nameserver=10.20.0.1 showmenu=yes +- +- label nailgunifname +- menu label ^2. Fuel Advanced Install (Static IP) +- kernel vmlinuz +-! append initrd=initrd.img inst.repo=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ inst.ks=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:adminif:off::: nameserver=10.20.0.1 ifname=adminif:XX:XX:XX:XX:XX:XX showmenu=yes ++From: Fuel OPNFV <fuel@opnfv.org> ++Date: Mon, 13 Jun 2016 22:23:57 +0200 ++Subject: OPNFV: showmenu=yes in isolinux.cfg + ++--- ++diff --git a/iso/isolinux/isolinux.cfg b/iso/isolinux/isolinux.cfg ++index c6b1ed9..77a4b18 100644 ++--- a/iso/isolinux/isolinux.cfg +++++ b/iso/isolinux/isolinux.cfg ++@@ -19,9 +19,9 @@ label nailgun ++ menu label ^1. Fuel Install (Static IP) ++ menu default ++ kernel vmlinuz ++- append initrd=initrd.img net.ifnames=0 biosdevname=0 inst.repo=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ inst.ks=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:eth0:off::: nameserver=10.20.0.1 +++ append initrd=initrd.img net.ifnames=0 biosdevname=0 inst.repo=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ inst.ks=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:eth0:off::: nameserver=10.20.0.1 showmenu=yes ++ ++ label nailgunifname ++ menu label ^2. Fuel Advanced Install (Static IP) ++ kernel vmlinuz ++- append initrd=initrd.img inst.repo=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ inst.ks=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:adminif:off::: nameserver=10.20.0.1 ifname=adminif:XX:XX:XX:XX:XX:XX +++ append initrd=initrd.img inst.repo=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ inst.ks=cdrom:LABEL=will_be_substituted_with_ISO_VOLUME_ID:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:adminif:off::: nameserver=10.20.0.1 ifname=adminif:XX:XX:XX:XX:XX:XX showmenu=yes +diff --git a/build/repo-mirror-cz.patch b/build/repo-mirror-cz.patch +index aa8eaf9..4b5643c 100644 +--- a/build/repo-mirror-cz.patch ++++ b/build/repo-mirror-cz.patch +@@ -1,19 +1,13 @@ +-*** config.mk.orig Thu Jan 7 23:30:38 2016 +---- config.mk Thu Jan 7 23:32:36 2016 +-*************** +-*** 153,159 **** +- # 'msk', 'srt', 'usa', 'hrk', 'cz' +- # Setting any other value or removing of this variable will cause +- # download of all the packages directly from internet +-! USE_MIRROR?=ext +- +- ifeq ($(USE_MIRROR),ext) +- MIRROR_FUEL?=http://mirror.fuel-infra.org/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos$(CENTOS_MAJOR)-fuel/os/x86_64/ +---- 153,159 ---- +- # 'msk', 'srt', 'usa', 'hrk', 'cz' +- # Setting any other value or removing of this variable will cause +- # download of all the packages directly from internet +-! USE_MIRROR?=cz +- +- ifeq ($(USE_MIRROR),ext) +- MIRROR_FUEL?=http://mirror.fuel-infra.org/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos$(CENTOS_MAJOR)-fuel/os/x86_64/ ++diff --git a/config.mk b/config.mk ++index 2a512cf..3193ecf 100644 ++--- a/config.mk +++++ b/config.mk ++@@ -133,7 +133,7 @@ LOCAL_MIRROR_UBUNTU_OS_BASEURL:=$(LOCAL_MIRROR_UBUNTU) ++ # 'msk', 'srt', 'usa', 'hrk', 'cz' ++ # Setting any other value or removing of this variable will cause ++ # download of all the packages directly from internet ++-USE_MIRROR?=ext +++USE_MIRROR?=cz ++ ++ ifeq ($(USE_MIRROR),ext) ++ MIRROR_FUEL?=http://mirror.fuel-infra.org/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos$(CENTOS_MAJOR)/os/x86_64/ diff --git a/patches/opnfv-fuel/000099-FIXME-Remove-repo-mirror-cz.patch.patch b/patches/opnfv-fuel/000099-FIXME-Remove-repo-mirror-cz.patch.patch deleted file mode 100644 index 467e1076..00000000 --- a/patches/opnfv-fuel/000099-FIXME-Remove-repo-mirror-cz.patch.patch +++ /dev/null @@ -1,62 +0,0 @@ -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Wed, 1 Jun 2016 21:44:49 +0200 -Subject: [PATCH] FIXME: Remove repo-mirror-cz.patch. - -Upstream removed all mirrors but usa and cz, and changed -its default to mirror.fuel-infra.org in [1]. - -This allows us to drop patching of fuel-main/config.mk -with the Czech mirror. - -If needed, USE_MIRROR=cz can be specified as an env var. - -FIXME: Remove when Fuel@OPNFV pulls change and deals with it. - -[1] https://github.com/openstack/fuel-main/commit/ - 751d502cfe15d9c9df0ee89530ac3b0b73aa1638 - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - build/Makefile | 2 -- - build/repo-mirror-cz.patch | 19 ------------------- - 2 files changed, 21 deletions(-) - delete mode 100644 build/repo-mirror-cz.patch - -diff --git a/build/Makefile b/build/Makefile -index e84edcd..211177d 100644 ---- a/build/Makefile -+++ b/build/Makefile -@@ -106,8 +106,6 @@ $(ISOCACHE): - fi - cd /tmp/fuel-main && git checkout $(FUEL_MAIN_TAG) - @echo "fuel" `git -C /tmp/fuel-main show | grep commit | head -1 | cut -d " " -f2` >> $(VERSION_FILE) -- # Patch for using the Czech Fuel mirror -- cd /tmp/fuel-main && patch -p0 < $(TOPDIR)/repo-mirror-cz.patch - # Remove Docker optimizations, otherwise multistrap will fail during - # Fuel build. - sudo rm -f /etc/apt/apt.conf.d/docker* -diff --git a/build/repo-mirror-cz.patch b/build/repo-mirror-cz.patch -deleted file mode 100644 -index aa8eaf9..0000000 ---- a/build/repo-mirror-cz.patch -+++ /dev/null -@@ -1,19 +0,0 @@ --*** config.mk.orig Thu Jan 7 23:30:38 2016 ----- config.mk Thu Jan 7 23:32:36 2016 --*************** --*** 153,159 **** -- # 'msk', 'srt', 'usa', 'hrk', 'cz' -- # Setting any other value or removing of this variable will cause -- # download of all the packages directly from internet --! USE_MIRROR?=ext -- -- ifeq ($(USE_MIRROR),ext) -- MIRROR_FUEL?=http://mirror.fuel-infra.org/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos$(CENTOS_MAJOR)-fuel/os/x86_64/ ----- 153,159 ---- -- # 'msk', 'srt', 'usa', 'hrk', 'cz' -- # Setting any other value or removing of this variable will cause -- # download of all the packages directly from internet --! USE_MIRROR?=cz -- -- ifeq ($(USE_MIRROR),ext) -- MIRROR_FUEL?=http://mirror.fuel-infra.org/mos-repos/centos/$(PRODUCT_NAME)$(PRODUCT_VERSION)-centos$(CENTOS_MAJOR)-fuel/os/x86_64/ diff --git a/patches/opnfv-fuel/0021-Build-bootstrap-image-for-arm64.patch b/patches/opnfv-fuel/0021-Build-bootstrap-image-for-arm64.patch index 42218ad1..f66777c7 100644 --- a/patches/opnfv-fuel/0021-Build-bootstrap-image-for-arm64.patch +++ b/patches/opnfv-fuel/0021-Build-bootstrap-image-for-arm64.patch @@ -10,30 +10,18 @@ per supported arch. This requires Fuel refactoring. 1 file changed, 17 insertions(+) diff --git a/build/bootstrap_admin_node.sh.patch b/build/bootstrap_admin_node.sh.patch -index aeef3f7..c66b497 100644 --- a/build/bootstrap_admin_node.sh.patch +++ b/build/bootstrap_admin_node.sh.patch -@@ -53,6 +53,23 @@ - # Enable iptables - systemctl enable iptables.service - *************** -+*** 484,490 **** -+ local ret=1 -+ echo ${bs_progress_message} >&2 -+ set_ui_bootstrap_error "${bs_progress_message}" >&2 -+! if fuel-bootstrap -v --debug build --activate >>"$bs_build_log" 2>&1; then -+ ret=0 -+ fuel notify --topic "done" --send "${bs_done_message}" -+ else -+--- 484,490 ---- -+ local ret=1 -+ echo ${bs_progress_message} >&2 -+ set_ui_bootstrap_error "${bs_progress_message}" >&2 -+! if fuel-bootstrap -v --debug build --target_arch arm64 --activate >>"$bs_build_log" 2>&1; then -+ ret=0 -+ fuel notify --topic "done" --send "${bs_done_message}" -+ else -+*************** - *** 529,534 **** - --- 541,556 ---- - +@@ -53,3 +53,12 @@ + # Enable iptables + systemctl enable iptables.service ++@@ -484,7 +490,7 @@ ++ local ret=1 ++ echo ${bs_progress_message} >&2 ++ set_ui_bootstrap_error "${bs_progress_message}" >&2 ++- if fuel-bootstrap -v --debug build --activate >>"$bs_build_log" 2>&1; then +++ if fuel-bootstrap -v --debug build --target_arch arm64 --activate >>"$bs_build_log" 2>&1; then ++ ret=0 ++ fuel notify --topic "done" --send "${bs_done_message}" ++ else + @@ -532,6 +545,16 @@ systemctl start ntpd diff --git a/patches/opnfv-fuel/0027-UX-Update-bootstrap-target-build-time-estimate.patch b/patches/opnfv-fuel/0027-UX-Update-bootstrap-target-build-time-estimate.patch index 66ac65e8..4023264c 100644 --- a/patches/opnfv-fuel/0027-UX-Update-bootstrap-target-build-time-estimate.patch +++ b/patches/opnfv-fuel/0027-UX-Update-bootstrap-target-build-time-estimate.patch @@ -15,33 +15,24 @@ diff --git a/build/bootstrap_admin_node.sh.patch b/build/bootstrap_admin_node.sh index c66b497..46b53e6 100644 --- a/build/bootstrap_admin_node.sh.patch +++ b/build/bootstrap_admin_node.sh.patch -@@ -1,6 +1,29 @@ - *** bootstrap_admin_node.sh.orig Mon May 30 06:31:38 2016 - --- bootstrap_admin_node.sh Mon May 30 06:35:11 2016 - *************** -+*** 86,94 **** -+ http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide/bootstrap/\ -+ bootstrap_troubleshoot.html" -+ bs_progress_message="There is no active bootstrap. Bootstrap image building \ -+! is in progress. Usually it takes 15-20 minutes. It depends on your internet \ -+! connection and hardware performance. After bootstrap image becomes available, \ -+! reboot nodes that failed to be discovered." -+ 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" -+--- 86,96 ---- -+ http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide/bootstrap/\ -+ bootstrap_troubleshoot.html" -+ bs_progress_message="There is no active bootstrap. Bootstrap image building \ -+! is in progress. Usually it takes 15-20 minutes for a native build (x86_64) \ -+! and/or 30-45 minutes for each cross-build (e.g. AArch64). \ -+! It depends on your internet connection, hardware performance and selected \ -+! bootstrap architecture(s). This ISO supports AArch64 only. After bootstrap \ -+! image becomes available, reboot nodes that failed to be discovered." -+ 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" -+*************** - *** 339,346 **** - set +x - echo "Done!" +@@ -8,5 +8,20 @@ + --- a/iso/bootstrap_admin_node.sh + +++ b/iso/bootstrap_admin_node.sh ++@@ -86,9 +86,11 @@ ++ http://docs.openstack.org/developer/fuel-docs/userdocs/fuel-install-guide/bootstrap/\ ++ bootstrap_troubleshoot.html" ++ bs_progress_message="There is no active bootstrap. Bootstrap image building \ ++-is in progress. Usually it takes 15-20 minutes. It depends on your internet \ ++-connection and hardware performance. After bootstrap image becomes available, \ ++-reboot nodes that failed to be discovered." +++is in progress. Usually it takes 15-20 minutes for a native build (x86_64) \ +++and/or 30-45 minutes for each cross-build (e.g. AArch64). \ +++It depends on your internet connection, hardware performance and selected \ +++bootstrap architecture(s). This ISO supports AArch64 only. After bootstrap \ +++image becomes available, reboot nodes that failed to be discovered." ++ 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" + @@ -339,8 +339,22 @@ fuelmenu --save-only --iface=$ADMIN_INTERFACE || fail + set +x + echo "Done!" diff --git a/patches/opnfv-fuel/0031-post-scripts-Enable-systemd-binfmt-for-first-boot.patch b/patches/opnfv-fuel/0031-post-scripts-Enable-systemd-binfmt-for-first-boot.patch index e3100962..6d55311c 100644 --- a/patches/opnfv-fuel/0031-post-scripts-Enable-systemd-binfmt-for-first-boot.patch +++ b/patches/opnfv-fuel/0031-post-scripts-Enable-systemd-binfmt-for-first-boot.patch @@ -34,28 +34,25 @@ diff --git a/build/bootstrap_admin_node.sh.patch b/build/bootstrap_admin_node.sh index b1ea90b..7f16d0b 100644 --- a/build/bootstrap_admin_node.sh.patch +++ b/build/bootstrap_admin_node.sh.patch -@@ -24,6 +24,21 @@ - nodes over PXE, they will be discovered and become available for installing \ - OpenStack on them" - *************** -+*** 239,244 **** -+--- 239,250 ---- -+ # /etc/fuel_openstack_version is provided by 'fuel-openstack-metadata' package -+ OPENSTACK_VERSION=$(cat /etc/fuel_openstack_version) +@@ -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 +++# 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,346 **** - set +x - echo "Done!" ++ # 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 diff --git a/patches/opnfv-fuel/0036-repo-mirror-Allow-multi-arch-local-mirrors.patch b/patches/opnfv-fuel/0036-repo-mirror-Allow-multi-arch-local-mirrors.patch new file mode 100644 index 00000000..0316e42b --- /dev/null +++ b/patches/opnfv-fuel/0036-repo-mirror-Allow-multi-arch-local-mirrors.patch @@ -0,0 +1,87 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Sat, 18 Jun 2016 19:42:15 +0200 +Subject: [PATCH] repo mirror: Allow multi-arch local mirrors + +This patch allows specifying multiple architectures via UBUNTU_ARCH in +form of a list of space separated architectures. The first architecture +in the list is considered primary and will be used for building all the +deb packages by fuel-main. Additional architectures are added to allow +targets of other architectures to use the mirror. + +NOTE: this imposes a requirement that all packages built are arch +independent (which is true so far). + +[ Alexandru Avadanii ] +Reworked for applying on top of fuel@OPNFV. + +Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + build/Makefile | 1 + + build/repo-multi-arch-local-mirrors.patch | 45 +++++++++++++++++++++++++++++++ + 2 files changed, 46 insertions(+) + create mode 100644 build/repo-multi-arch-local-mirrors.patch + +diff --git a/build/Makefile b/build/Makefile +index 2d33aa4..0490bab 100644 +--- a/build/Makefile ++++ b/build/Makefile +@@ -139,6 +139,7 @@ $(ISOCACHE): + cd /tmp/fuel-main && git config user.email "fuel@opnfv.org" + cd /tmp/fuel-main && git am $(TOPDIR)/bootstrap_admin_node.sh.patch + cd /tmp/fuel-main && git am $(TOPDIR)/isolinux.cfg.patch ++ cd /tmp/fuel-main && git am $(TOPDIR)/repo-multi-arch-local-mirrors.patch + # Repeat build up to three times + sudo -E ./fuel_build_loop + cp /tmp/fuel-main/build/artifacts/fuel*.iso . +diff --git a/build/repo-multi-arch-local-mirrors.patch b/build/repo-multi-arch-local-mirrors.patch +new file mode 100644 +index 0000000..c3ff26a +--- /dev/null ++++ b/build/repo-multi-arch-local-mirrors.patch +@@ -0,0 +1,45 @@ ++From: Stanislaw Kardach <stanislaw.kardach@cavium.com> ++Date: Thu, 25 Feb 2016 13:31:19 +0100 ++Subject: repo mirror: Allow multi-arch local mirrors ++ ++This patch allows specifying multiple architectures via UBUNTU_ARCH in ++form of a list of space separated architectures. The first architecture ++in the list is considered primary and will be used for building all the ++deb packages by fuel-main. Additional architectures are added to allow ++targets of other architectures to use the mirror. ++NOTE: this imposes a requirement that all packages built are arch ++independent (which is true so far). ++ ++Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> ++Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ++--- ++ mirror/ubuntu/module.mk | 2 +- ++ sandbox.mk | 2 +- ++ 2 files changed, 2 insertions(+), 2 deletions(-) ++ ++diff --git a/mirror/ubuntu/module.mk b/mirror/ubuntu/module.mk ++index 7a9466e..fe1ada2 100644 ++--- a/mirror/ubuntu/module.mk +++++ b/mirror/ubuntu/module.mk ++@@ -81,7 +81,7 @@ $(BUILD_DIR)/mirror/ubuntu/mirror.done: ++ --root=$(MIRROR_MOS_UBUNTU_ROOT) \ ++ --dist=$(MIRROR_MOS_UBUNTU_SUITE) \ ++ --section=$(subst $(space),$(comma),$(MIRROR_MOS_UBUNTU_SECTION)) \ ++- --arch=$(UBUNTU_ARCH) \ +++ --arch=$(shell echo $(UBUNTU_ARCH) | tr ' ' ',') \ ++ $(LOCAL_MIRROR_UBUNTU)/ ++ rm -rf $(LOCAL_MIRROR_UBUNTU)/.temp $(LOCAL_MIRROR_UBUNTU)/project ++ $(ACTION.TOUCH) ++diff --git a/sandbox.mk b/sandbox.mk ++index 4bc3962..5ffddbd 100644 ++--- a/sandbox.mk +++++ b/sandbox.mk ++@@ -188,7 +188,7 @@ touch $(SANDBOX_UBUNTU)/etc/init.d/.legacy-bootordering ++ mkdir -p $(SANDBOX_UBUNTU)/usr/sbin ++ cp -a $(BUILD_DIR)/policy-rc.d $(SANDBOX_UBUNTU)/usr/sbin ++ echo "Running debootstrap" ++-sudo debootstrap --no-check-gpg --include=ca-certificates --arch=$(UBUNTU_ARCH) $(MIRROR_UBUNTU_SUITE) $(SANDBOX_UBUNTU) $(MIRROR_UBUNTU_METHOD)://$(MIRROR_UBUNTU)$(MIRROR_UBUNTU_ROOT) +++sudo debootstrap --no-check-gpg --include=ca-certificates --arch=$(word 1,$(UBUNTU_ARCH)) $(MIRROR_UBUNTU_SUITE) $(SANDBOX_UBUNTU) $(MIRROR_UBUNTU_METHOD)://$(MIRROR_UBUNTU)$(MIRROR_UBUNTU_ROOT) ++ if [ -e $(SANDBOX_UBUNTU)/etc/resolv.conf ]; then sudo cp -a $(SANDBOX_UBUNTU)/etc/resolv.conf $(SANDBOX_UBUNTU)/etc/resolv.conf.orig; fi ++ sudo cp /etc/resolv.conf $(SANDBOX_UBUNTU)/etc/resolv.conf ++ if [ -e $(SANDBOX_UBUNTU)/etc/hosts ]; then sudo cp -a $(SANDBOX_UBUNTU)/etc/hosts $(SANDBOX_UBUNTU)/etc/hosts.orig; fi diff --git a/upstream/fuel b/upstream/fuel -Subproject f2656175b7aff1aa7ef5b32e6dfdf1858b61210 +Subproject 105fa8c0d40e241c206e37755f13aebb2e137eb diff --git a/upstream/fuel-main b/upstream/fuel-main deleted file mode 160000 -Subproject 751d502cfe15d9c9df0ee89530ac3b0b73aa163 |