diff options
Diffstat (limited to 'patches/opnfv-fuel')
19 files changed, 113 insertions, 878 deletions
diff --git a/patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch b/patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch deleted file mode 100644 index e7867d48..00000000 --- a/patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch +++ /dev/null @@ -1,58 +0,0 @@ -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Mon, 18 Jul 2016 17:42:48 +0200 -Subject: [PATCH] deploy: Delete old Fuel env if present - -In order to clean up old partitioning and boot entries on target -nodes, before removing the Fuel Master, try ssh-ing into it and -removing all environments/nodes. - -This is especially important for EFI systems, where old boot -entries are left behind without a proper env delete, leading to -target nodes failing to PXE boot on Fuel Master re-install. - -This change assumes that: -- all Fuel Master information is unchanged between old and new - deploy (fuel IP, password etc.); -- Fuel Master is up and running, in a sane state (target nodes - are also online), when deploy starts; - -Closes: ARMBAND-51 - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - deploy/deploy.py | 15 +++++++++++++++ - 1 file changed, 15 insertions(+) - -diff --git a/deploy/deploy.py b/deploy/deploy.py -index 48a53c3..184510f 100755 ---- a/deploy/deploy.py -+++ b/deploy/deploy.py -@@ -110,6 +110,20 @@ class AutoDeploy(object): - self.iso_file = new_iso - self.install_iso() - -+ def delete_old_fuel_env(self): -+ log('Delete old Fuel Master environments if present') -+ try: -+ old_dep = CloudDeploy(self.dea, self.dha, self.fuel_conf['ip'], -+ self.fuel_username, self.fuel_password, -+ self.dea_file, self.fuel_plugins_conf_dir, -+ WORK_DIR, self.no_health_check, -+ self.deploy_timeout, -+ self.no_deploy_environment, self.deploy_log) -+ with old_dep.ssh: -+ old_dep.check_previous_installation() -+ except Exception as e: -+ log('Could not delete old env: %s' % str(e)) -+ - def install_iso(self): - fuel = InstallFuelMaster(self.dea_file, self.dha_file, - self.fuel_conf['ip'], self.fuel_username, -@@ -227,6 +241,7 @@ class AutoDeploy(object): - def deploy(self): - self.collect_fuel_info() - if not self.no_fuel: -+ self.delete_old_fuel_env() - self.setup_execution_environment() - self.create_tmp_dir() - self.install_fuel_master() diff --git a/patches/opnfv-fuel/0003-deploy.sh-accept-a-timeout-flag-T.patch b/patches/opnfv-fuel/0003-deploy.sh-accept-a-timeout-flag-T.patch deleted file mode 100644 index 641891bb..00000000 --- a/patches/opnfv-fuel/0003-deploy.sh-accept-a-timeout-flag-T.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 0ca4dada5b3528c84f2edcb7f1a2df8f0a18779d Mon Sep 17 00:00:00 2001 -From: Josep Puigdemont <josep.puigdemont@enea.com> -Date: Mon, 9 May 2016 11:05:58 +0200 -Subject: [PATCH] deploy.sh: accept a timeout flag (-T) - -Change-Id: I58a7b9bc639bb03b994ea34fc317f5679140d9fd -Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> ---- - ci/deploy.sh | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) - -diff --git a/ci/deploy.sh b/ci/deploy.sh -index 4e4586c..8411714 100755 ---- a/ci/deploy.sh -+++ b/ci/deploy.sh -@@ -29,7 +29,7 @@ cat << EOF - xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - `basename $0`: Deploys the Fuel@OPNFV stack - --usage: `basename $0` -b base-uri [-B PXE Bridge] [-f] [-F] [-H] -l lab-name -p pod-name -s deploy-scenario [-S image-dir] -i iso -+usage: `basename $0` -b base-uri [-B PXE Bridge] [-f] [-F] [-H] -l lab-name -p pod-name -s deploy-scenario [-S image-dir] [-T timeout] -i iso - -s deployment-scenario [-S optional Deploy-scenario path URI] - [-R optional local relen repo (containing deployment Scenarios] - -@@ -47,6 +47,7 @@ OPTIONS: - -p Pod-name - -s Deploy-scenario short-name/base-file-name - -S Storage dir for VM images -+ -T Timeout, in minutes, for the deploy. - -i iso url - - Description: -@@ -78,6 +79,8 @@ Input parameters to the build script is: - or a deployment short-name as defined by scenario.yaml in the deployment - scenario path. - -S Storage dir for VM images, default is fuel/deploy/images -+-T Timeout, in minutes, for the deploy. It defaults to using the DEPLOY_TIMEOUT -+ environment variable when defined, or to the default in deploy.py otherwise - -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)://) - -@@ -116,6 +119,11 @@ FUEL_CREATION_ONLY='' - NO_DEPLOY_ENVIRONMENT='' - STORAGE_DIR='' - DRY_RUN=0 -+if ! [ -z $DEPLOY_TIMEOUT ]; then -+ DEPLOY_TIMEOUT="-dt $DEPLOY_TIMEOUT" -+else -+ DEPLOY_TIMEOUT="" -+fi - # - # END of variables to customize - ############################################################################ -@@ -123,7 +131,7 @@ DRY_RUN=0 - ############################################################################ - # BEGIN of main - # --while getopts "b:B:dfFHl:L:p:s:S:i:he" OPTION -+while getopts "b:B:dfFHl:L:p:s:S:T:i:he" OPTION - do - case $OPTION in - b) -@@ -174,6 +182,9 @@ do - STORAGE_DIR="-s ${OPTARG}" - fi - ;; -+ T) -+ DEPLOY_TIMEOUT="-dt ${OPTARG}" -+ ;; - i) - ISO=${OPTARG} - if [[ ! $ISO == file://* ]] && \ -@@ -243,8 +254,8 @@ if [ $DRY_RUN -eq 0 ]; then - ISO=${SCRIPT_PATH}/ISO/image.iso - fi - # Start deployment -- echo "python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO" -- python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO -+ echo "python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO $DEPLOY_TIMEOUT" -+ python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO $DEPLOY_TIMEOUT - fi - popd > /dev/null - --- -2.5.5 - diff --git a/patches/opnfv-fuel/0005-transplant-Generate-extra-interfaces-config-file.patch b/patches/opnfv-fuel/0005-transplant-Generate-extra-interfaces-config-file.patch deleted file mode 100644 index 76c27163..00000000 --- a/patches/opnfv-fuel/0005-transplant-Generate-extra-interfaces-config-file.patch +++ /dev/null @@ -1,108 +0,0 @@ -From: Josep Puigdemont <josep.puigdemont@enea.com> -Date: Wed, 4 May 2016 17:58:56 +0200 -Subject: [PATCH] transplant: Generate extra interfaces config file - -The DEA override may contain a IFCGF_<interface> section in its 'fuel:' -section, containing the necessary keys to produce a ifcfg-<interface> -file, like in this example: - -fuel: - IFCFG_ETH1: - device: eth1 - ipaddress: 10.0.1.10 - netmask: 255.255.255.0 - gateway: 10.0.1.254 - -FIXME: In order for Network Manager to use the newly added interfaces -for outgoing traffic and honor their GATEWAY setting (e.g. if we just -added one public interface), the default route on admin iface (most of -the time called eth0) should be disabled. For now, we assume the admin -interface is always "eth0". - -Change-Id: I0457dc9a0d49e46b8ca85cfe7a4435c2b15f5238 -Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> -Signed-off-by: Alexandu Avadanii <alexandru.avadanii@enea.com> ---- - deploy/transplant_fuel_settings.py | 37 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -diff --git a/deploy/transplant_fuel_settings.py b/deploy/transplant_fuel_settings.py -index e57a4fb..9a65cf6 100644 ---- a/deploy/transplant_fuel_settings.py -+++ b/deploy/transplant_fuel_settings.py -@@ -11,10 +11,14 @@ - import sys - import io - import yaml -+import re -+import os - from dea import DeploymentEnvironmentAdapter - - from common import ( - check_file_exists, -+ exec_cmd, -+ log, - ) - - ASTUTE_YAML = '/etc/fuel/astute.yaml' -@@ -35,15 +39,45 @@ def parse_arguments(): - check_file_exists(dea_file) - return dea_file - -+def write_ifcfg_file(key, fuel_conf): -+ config = ('BOOTPROTO=none\n' -+ 'ONBOOT=yes\n' -+ 'TYPE=Ethernet\n' -+ 'NM_CONTROLLED=yes\n') -+ for skey in ('ipaddress', 'device', 'netmask', 'gateway'): -+ if not fuel_conf[key].get(skey): -+ log('Warning: missing key %s for %s' % (skey, key)) -+ config += '%s=\n' % skey.upper() -+ elif skey == 'ipaddress': -+ config += 'IPADDR=%s\n' % fuel_conf[key][skey] -+ else: -+ config += '%s=%s\n' % (skey.upper(), fuel_conf[key][skey]) -+ -+ fname = os.path.join('/etc/sysconfig/network-scripts/', -+ key.lower().replace('_','-')) -+ with open(fname, 'wc') as f: -+ f.write(config) - - def transplant(dea, astute): - fuel_conf = dea.get_fuel_config() -+ require_network_restart = False - for key in fuel_conf.iterkeys(): - if key == 'ADMIN_NETWORK': - for skey in fuel_conf[key].iterkeys(): - astute[key][skey] = fuel_conf[key][skey] -+ elif re.match('^IFCFG', key): -+ log('Adding interface configuration for: %s' % key.lower()) -+ require_network_restart = True -+ write_ifcfg_file(key, fuel_conf) -+ if astute.has_key(key): -+ astute.pop(key, None) - else: - astute[key] = fuel_conf[key] -+ if require_network_restart: -+ admin_ifcfg = '/etc/sysconfig/network-scripts/ifcfg-eth0' -+ exec_cmd('echo "DEFROUTE=no" >> %s' % admin_ifcfg) -+ log('At least one interface was reconfigured, restart network manager') -+ exec_cmd('systemctl restart network') - return astute - - -@@ -51,11 +85,14 @@ def main(): - check_file_exists(ASTUTE_YAML) - check_file_exists(FUEL_BOOTSTRAP_CLI_YAML) - dea = DeploymentEnvironmentAdapter(dea_file) -+ log('Reading astute file %s' % ASTUTE_YAML) - with io.open(ASTUTE_YAML) as stream: - astute = yaml.load(stream) -+ log('Initiating transplant') - transplant(dea, astute) - with io.open(ASTUTE_YAML, 'w') as stream: - yaml.dump(astute, stream, default_flow_style=False) -+ log('Transplant done') - # Update bootstrap config yaml with info from DEA/astute.yaml - with io.open(FUEL_BOOTSTRAP_CLI_YAML) as stream: - fuel_bootstrap_cli = yaml.load(stream) diff --git a/patches/opnfv-fuel/0008-deploy-reap.py-Dump-extra-interfaces-information.patch b/patches/opnfv-fuel/0008-deploy-reap.py-Dump-extra-interfaces-information.patch deleted file mode 100644 index 9ed79cc4..00000000 --- a/patches/opnfv-fuel/0008-deploy-reap.py-Dump-extra-interfaces-information.patch +++ /dev/null @@ -1,97 +0,0 @@ -From e8232eca62d67c2bac1d34f5b2adfeba1a580634 Mon Sep 17 00:00:00 2001 -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Wed, 4 May 2016 18:31:09 +0200 -Subject: [PATCH] deploy/reap.py: Dump extra interfaces information. - -Since on AArch64, Ubuntu local mirror lacks arm64 packages (see [1]), -Fuel master requires internet connectivity during deploy, and hence -a way to setup such a public (extra) interface automatically. - -Previous commit "transplant: Generate extra interfaces config file" -introduced support for passing this information via DEA (override), -which may define a IFCGF_<interface> section in its 'fuel:' -section, containing the necessary keys to produce a ifcfg-<interface> -file, like in this example: - -fuel: - IFCFG_ETH1: - device: eth1 - ipaddress: 10.0.1.10 - netmask: 255.255.255.0 - gateway: 10.0.1.254 - -In order for Network Manager to use the newly added interfaces -for outgoing traffic and honor their GATEWAY setting (e.g. if we just -added one public interface), the default route on admin iface (most of -the time called eth0) is disabled when extra interfaces are present. - -FIXME: Only supports lowercase interface names, but so does Fuel, -see related bug report [2]. - -[1] https://jira.opnfv.org/browse/ARMBAND-35 -[2] https://jira.opnfv.org/browse/FUEL-136 - -Change-Id: I6f0a759c65a435ec8bd883a04c8d1adca109cc13 -Signed-off-by: Alexandu Avadanii <alexandru.avadanii@enea.com> -Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> ---- - deploy/reap.py | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -diff --git a/deploy/reap.py b/deploy/reap.py -index ed5bc99..9f14e35 100644 ---- a/deploy/reap.py -+++ b/deploy/reap.py -@@ -15,6 +15,8 @@ import yaml - import glob - import shutil - import tempfile -+import re -+import netaddr - - from common import ( - N, -@@ -248,6 +250,40 @@ class Reap(object): - if key not in ['ipaddress', 'netmask', - 'dhcp_pool_start', 'dhcp_pool_end', 'ssh_network']: - del fuel['ADMIN_NETWORK'][key] -+ -+ ## FIXME(armband): Factor in support for adding public/other interfaces. -+ ## TODO: Following block expects interface name(s) to be lowercase only -+ interfaces_list = exec_cmd('ip -o -4 a | grep -e "e[nt][hopsx].*"') -+ for interface in re.split('\n', interfaces_list): -+ # Sample output line from above cmd: -+ # 3: eth1 inet 10.0.2.10/24 scope global eth1 valid_lft forever ... -+ ifcfg = re.split(r'\s+', interface) -+ ifcfg_name = ifcfg[1] -+ ifcfg_ipaddr = ifcfg[3] -+ -+ # Filter out admin interface (device name is not known, match IP) -+ current_network = netaddr.IPNetwork(ifcfg_ipaddr) -+ if str(current_network.ip) == fuel['ADMIN_NETWORK']['ipaddress']: -+ continue -+ -+ # Read ifcfg-* network interface config file, write IFCFG_<IFNAME> -+ ifcfg_sec = 'IFCFG_%s' % ifcfg_name.upper() -+ fuel[ifcfg_sec] = {} -+ ifcfg_data = {} -+ ifcfg_f = ('/etc/sysconfig/network-scripts/ifcfg-%s' % ifcfg_name) -+ with open(ifcfg_f) as f: -+ for line in f: -+ if line.startswith('#'): -+ continue -+ (key, val) = line.split('=') -+ ifcfg_data[key.lower()] = val.rstrip() -+ -+ # Keep only needed info (e.g. filter-out type=Ethernet). -+ fuel[ifcfg_sec]['ipaddress'] = ifcfg_data['ipaddr'] -+ fuel[ifcfg_sec]['device'] = ifcfg_data['device'] -+ fuel[ifcfg_sec]['netmask'] = str(current_network.netmask) -+ fuel[ifcfg_sec]['gateway'] = ifcfg_data['gateway'] -+ - self.write_yaml(self.dea_file, {'fuel': fuel}) - - def reap_network_settings(self): --- -2.5.5 - 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 f66777c7..4daf733e 100644 --- a/patches/opnfv-fuel/0021-Build-bootstrap-image-for-arm64.patch +++ b/patches/opnfv-fuel/0021-Build-bootstrap-image-for-arm64.patch @@ -9,9 +9,9 @@ per supported arch. This requires Fuel refactoring. build/bootstrap_admin_node.sh.patch | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) -diff --git a/build/bootstrap_admin_node.sh.patch b/build/bootstrap_admin_node.sh.patch ---- a/build/bootstrap_admin_node.sh.patch -+++ b/build/bootstrap_admin_node.sh.patch +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 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 4023264c..fe623957 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 @@ -11,10 +11,10 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> build/bootstrap_admin_node.sh.patch | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) -diff --git a/build/bootstrap_admin_node.sh.patch b/build/bootstrap_admin_node.sh.patch +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/bootstrap_admin_node.sh.patch -+++ b/build/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 @@ -8,5 +8,20 @@ --- a/iso/bootstrap_admin_node.sh +++ b/iso/bootstrap_admin_node.sh 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 6d55311c..03e877a1 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 @@ -30,10 +30,10 @@ Finally, this commit adds an OPNFV post-install script in 2 files changed, 47 insertions(+) create mode 100755 build/f_isoroot/f_bootstrap/post-scripts/80_prepare_cross_builds.sh -diff --git a/build/bootstrap_admin_node.sh.patch b/build/bootstrap_admin_node.sh.patch +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/bootstrap_admin_node.sh.patch -+++ b/build/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 @@ -24,5 +24,18 @@ nodes over PXE, they will be discovered and become available for installing \ OpenStack on them" diff --git a/patches/opnfv-fuel/0036-repo-mirror-Allow-multi-arch-local-mirrors.patch b/patches/opnfv-fuel/0036-repo-mirror-Allow-multi-arch-local-mirrors.patch deleted file mode 100644 index 45ebb4e9..00000000 --- a/patches/opnfv-fuel/0036-repo-mirror-Allow-multi-arch-local-mirrors.patch +++ /dev/null @@ -1,136 +0,0 @@ -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Sat, 18 Jun 2016 19:42:15 +0200 -Subject: [PATCH] repo mirror: Allow multi-arch local mirrors - -This patch allows specifying multiple architectures via UBUNTU_ARCH in -form of a list of space separated architectures. The first architecture -in the list is considered primary and will be used for building all the -deb packages by fuel-main. Additional architectures are added to allow -targets of other architectures to use the mirror. - -NOTE: this imposes a requirement that all packages built are arch -independent (which is true so far). - -[ Alexandru Avadanii ] -Reworked for applying on top of fuel@OPNFV. -Pass UBUNTU_ARCH to Docker containers. - -Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - build/Makefile | 1 + - build/docker/Dockerfile | 2 +- - build/docker/runcontext | 8 ++++- - build/repo-multi-arch-local-mirrors.patch | 59 +++++++++++++++++++++++++++++++ - 4 files changed, 68 insertions(+), 2 deletions(-) - create mode 100644 build/repo-multi-arch-local-mirrors.patch - -diff --git a/build/Makefile b/build/Makefile -index 95b1487..829a231 100644 ---- a/build/Makefile -+++ b/build/Makefile -@@ -135,6 +135,7 @@ $(ISOCACHE): - cd /tmp/fuel-main && git am $(TOPDIR)/bootstrap_admin_node.sh.patch - cd /tmp/fuel-main && git am $(TOPDIR)/isolinux.cfg.patch - cd /tmp/fuel-main/build/repos/fuel-nailgun && git am $(TOPDIR)/Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch -+ cd /tmp/fuel-main && git am $(TOPDIR)/repo-multi-arch-local-mirrors.patch - # Repeat build up to three times - sudo -E ./fuel_build_loop - cp /tmp/fuel-main/build/artifacts/fuel*.iso . -diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile -index 1bb56b7..b38ea4c 100644 ---- a/build/docker/Dockerfile -+++ b/build/docker/Dockerfile -@@ -30,7 +30,7 @@ RUN echo "Defaults env_keep += \"ftp_proxy http_proxy https_proxy no_proxy RSYNC - # Keeping PWD is needed to build as root - RUN echo "Defaults env_keep += \"PWD\"" > /etc/sudoers.d/keep-pwd - # Keeping variables for ISO build --RUN echo "Defaults env_keep += \"MIRROR_UBUNTU MIRROR_UBUNTU_ROOT MIRROR_MOS_UBUNTU MIRROR_MOS_UBUNTU_ROOT MIRROR_FUEL LATEST_TARGET_UBUNTU\"" > /etc/sudoers.d/keep-mos -+RUN echo "Defaults env_keep += \"MIRROR_UBUNTU MIRROR_UBUNTU_ROOT MIRROR_MOS_UBUNTU MIRROR_MOS_UBUNTU_ROOT MIRROR_FUEL LATEST_TARGET_UBUNTU UBUNTU_ARCH\"" > /etc/sudoers.d/keep-mos - RUN chmod 0440 /etc/sudoers.d/open-sudo - RUN chmod 0440 /etc/sudoers.d/keep-proxies - RUN chmod 0440 /etc/sudoers.d/keep-pwd -diff --git a/build/docker/runcontext b/build/docker/runcontext -index 9f07776..daad663 100755 ---- a/build/docker/runcontext -+++ b/build/docker/runcontext -@@ -111,7 +111,13 @@ if [ -n "$CACHEBASE" ]; then - fi - fi - --RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE -e BUILD_FUEL_PLUGINS -e MIRROR_UBUNTU -e MIRROR_UBUNTU_ROOT -e MIRROR_MOS_UBUNTU -e MIRROR_MOS_UBUNTU_ROOT -e MIRROR_FUEL -e LATEST_TARGET_UBUNTU -u $USER_ID:$GROUP_ID -w $PWD -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT" -+RUN_CONTEXT_OPT="--cidfile $CID_FILE --privileged=true --rm \ -+ -e HOME=$HOME -e CACHEDEBUG -e CACHETRANSPORT -e CACHEMAXAGE -e CACHEBASE \ -+ -e BUILD_FUEL_PLUGINS -e MIRROR_UBUNTU -e MIRROR_UBUNTU_ROOT \ -+ -e MIRROR_MOS_UBUNTU -e MIRROR_MOS_UBUNTU_ROOT -e MIRROR_FUEL \ -+ -e LATEST_TARGET_UBUNTU -e UBUNTU_ARCH \ -+ -u $USER_ID:$GROUP_ID -w $PWD \ -+ -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT" - - # Passing "debug" puts up an interactive bash shell - if [ "$1" == "debug" ]; then -diff --git a/build/repo-multi-arch-local-mirrors.patch b/build/repo-multi-arch-local-mirrors.patch -new file mode 100644 -index 0000000..d404287 ---- /dev/null -+++ b/build/repo-multi-arch-local-mirrors.patch -@@ -0,0 +1,59 @@ -+From: Stanislaw Kardach <stanislaw.kardach@cavium.com> -+Date: Thu, 25 Feb 2016 13:31:19 +0100 -+Subject: repo mirror: Allow multi-arch local mirrors -+ -+This patch allows specifying multiple architectures via UBUNTU_ARCH in -+form of a list of space separated architectures. The first architecture -+in the list is considered primary and will be used for building all the -+deb packages by fuel-main. Additional architectures are added to allow -+targets of other architectures to use the mirror. -+NOTE: this imposes a requirement that all packages built are arch -+independent (which is true so far). -+ -+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> -+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+--- -+ mirror/ubuntu/module.mk | 2 +- -+ sandbox.mk | 2 +- -+ config.mk | 2 +- -+ 3 files changed, 3 insertions(+), 3 deletions(-) -+ -+diff --git a/mirror/ubuntu/module.mk b/mirror/ubuntu/module.mk -+index 7a9466e..fe1ada2 100644 -+--- a/mirror/ubuntu/module.mk -++++ b/mirror/ubuntu/module.mk -+@@ -81,7 +81,7 @@ $(BUILD_DIR)/mirror/ubuntu/mirror.done: -+ --root=$(MIRROR_MOS_UBUNTU_ROOT) \ -+ --dist=$(MIRROR_MOS_UBUNTU_SUITE) \ -+ --section=$(subst $(space),$(comma),$(MIRROR_MOS_UBUNTU_SECTION)) \ -+- --arch=$(UBUNTU_ARCH) \ -++ --arch=$(shell echo $(UBUNTU_ARCH) | tr ' ' ',') \ -+ $(LOCAL_MIRROR_UBUNTU)/ -+ rm -rf $(LOCAL_MIRROR_UBUNTU)/.temp $(LOCAL_MIRROR_UBUNTU)/project -+ $(ACTION.TOUCH) -+diff --git a/sandbox.mk b/sandbox.mk -+index 4bc3962..5ffddbd 100644 -+--- a/sandbox.mk -++++ b/sandbox.mk -+@@ -188,7 +188,7 @@ touch $(SANDBOX_UBUNTU)/etc/init.d/.legacy-bootordering -+ mkdir -p $(SANDBOX_UBUNTU)/usr/sbin -+ cp -a $(BUILD_DIR)/policy-rc.d $(SANDBOX_UBUNTU)/usr/sbin -+ echo "Running debootstrap" -+-sudo debootstrap --no-check-gpg --include=ca-certificates --arch=$(UBUNTU_ARCH) $(MIRROR_UBUNTU_SUITE) $(SANDBOX_UBUNTU) $(MIRROR_UBUNTU_METHOD)://$(MIRROR_UBUNTU)$(MIRROR_UBUNTU_ROOT) -++sudo debootstrap --no-check-gpg --include=ca-certificates --arch=$(word 1,$(UBUNTU_ARCH)) $(MIRROR_UBUNTU_SUITE) $(SANDBOX_UBUNTU) $(MIRROR_UBUNTU_METHOD)://$(MIRROR_UBUNTU)$(MIRROR_UBUNTU_ROOT) -+ if [ -e $(SANDBOX_UBUNTU)/etc/resolv.conf ]; then sudo cp -a $(SANDBOX_UBUNTU)/etc/resolv.conf $(SANDBOX_UBUNTU)/etc/resolv.conf.orig; fi -+ sudo cp /etc/resolv.conf $(SANDBOX_UBUNTU)/etc/resolv.conf -+ if [ -e $(SANDBOX_UBUNTU)/etc/hosts ]; then sudo cp -a $(SANDBOX_UBUNTU)/etc/hosts $(SANDBOX_UBUNTU)/etc/hosts.orig; fi -+diff --git a/config.mk b/config.mk -+index 74ee039..45a3b30 100644 -+--- a/config.mk -++++ b/config.mk -+@@ -49,7 +49,7 @@ UBUNTU_MINOR:=04 -+ UBUNTU_RELEASE_NUMBER:=$(UBUNTU_MAJOR).$(UBUNTU_MINOR) -+ UBUNTU_KERNEL_FLAVOR?=lts-trusty -+ UBUNTU_NETBOOT_FLAVOR?=netboot -+-UBUNTU_ARCH:=amd64 -++UBUNTU_ARCH?=amd64 -+ UBUNTU_IMAGE_RELEASE:=$(UBUNTU_MAJOR)$(UBUNTU_MINOR) -+ SEPARATE_IMAGES?=/boot,ext2 /,ext4 -+ diff --git a/patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch b/patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch index f0016892..94b3071e 100644 --- a/patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch +++ b/patches/opnfv-fuel/0039-deploy-Fix-add-bootstrap-DEA-override-delay.patch @@ -8,18 +8,19 @@ one minute sleep before checking for completition of fuel install. Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> --- - deploy/install_fuel_master.py | 1 + - 1 file changed, 1 insertion(+) + deploy/install_fuel_master.py | 2 ++ + 1 file changed, 2 insertions(+) diff --git a/deploy/install_fuel_master.py b/deploy/install_fuel_master.py -index 808d0b1..609a335 100644 +index 808d0b1..404474c 100644 --- a/deploy/install_fuel_master.py +++ b/deploy/install_fuel_master.py -@@ -201,6 +201,7 @@ class InstallFuelMaster(object): +@@ -201,6 +201,8 @@ class InstallFuelMaster(object): CMD = 'ps -ef | grep %s | grep -v grep' % BOOTSTRAP_ADMIN install_completed = False + time.sleep(60) ++ self.wait_for_node_up() with self.ssh: for i in range(WAIT_LOOP): ret = self.ssh.exec_cmd(CMD) diff --git a/patches/opnfv-fuel/0040-Backport-dpkg-checkbuilddeps-to-mk-build-deps.patch b/patches/opnfv-fuel/0040-Backport-dpkg-checkbuilddeps-to-mk-build-deps.patch index 675b9815..5dde448f 100644 --- a/patches/opnfv-fuel/0040-Backport-dpkg-checkbuilddeps-to-mk-build-deps.patch +++ b/patches/opnfv-fuel/0040-Backport-dpkg-checkbuilddeps-to-mk-build-deps.patch @@ -8,26 +8,15 @@ Backported from [1]. Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> --- - build/Makefile | 1 + ...ce-dpkg-checkbuilddeps-with-mk-build-deps.patch | 38 ++++++++++++++++++++++ - 2 files changed, 39 insertions(+) + 1 files changed, 38 insertions(+) create mode 100644 build/replace-dpkg-checkbuilddeps-with-mk-build-deps.patch -diff --git a/build/Makefile b/build/Makefile -index d917f26..ec5d27a 100644 ---- a/build/Makefile -+++ b/build/Makefile -@@ -140,4 +140,5 @@ $(ISOCACHE): - cd /tmp/fuel-main && git am $(TOPDIR)/repo-multi-arch-local-mirrors.patch -+ cd /tmp/fuel-main && git am $(TOPDIR)/replace-dpkg-checkbuilddeps-with-mk-build-deps.patch - # Repeat build up to three times - sudo -E ./fuel_build_loop - cp /tmp/fuel-main/build/artifacts/fuel*.iso . -diff --git a/build/replace-dpkg-checkbuilddeps-with-mk-build-deps.patch b/build/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 new file mode 100644 index 0000000..896f3cf --- /dev/null -+++ b/build/replace-dpkg-checkbuilddeps-with-mk-build-deps.patch ++++ b/build/patch-repos/0040-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 diff --git a/patches/opnfv-fuel/0041-build-Allow-PLUGINS-override.patch b/patches/opnfv-fuel/0041-build-Allow-PLUGINS-override.patch deleted file mode 100644 index acbbc11c..00000000 --- a/patches/opnfv-fuel/0041-build-Allow-PLUGINS-override.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Wed, 10 Aug 2016 16:43:39 +0200 -Subject: [PATCH] build: Allow PLUGINS override - -Instead of using BUILD_FUEL_PLUGINS, which was intended for manual -overrides of the Fule@OPNFV plugin list, allow PLUGINS to be -preset to a custom list, which we will provide via Armband -Makefile spec. - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - build/f_isoroot/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/build/f_isoroot/Makefile b/build/f_isoroot/Makefile -index 4df7bcb..448f415 100644 ---- a/build/f_isoroot/Makefile -+++ b/build/f_isoroot/Makefile -@@ -11,7 +11,7 @@ - # Add Fuel plugin build targets here - # Plugins disabled for the Fuel Mitaka uplift. Please re-enable your plugin as you have - # verified it! --PLUGINS = f_odlpluginbuild f_onosfwpluginbuild f_vsperfpluginbuild f_ovs-nsh-dpdk-pluginbuild f_yardstick-pluginbuild f_kvm-pluginbuild f_bgpvpn-pluginbuild f_collectd-ceilometer-pluginbuild -+PLUGINS ?= f_odlpluginbuild f_onosfwpluginbuild f_vsperfpluginbuild f_ovs-nsh-dpdk-pluginbuild f_yardstick-pluginbuild f_kvm-pluginbuild f_bgpvpn-pluginbuild f_collectd-ceilometer-pluginbuild - #PLUGINS = f_odlpluginbuild f_onosfwpluginbuild f_ovsnfv-dpdk-pluginbuild f_vsperfpluginbuild f_ovs-nsh-dpdk-pluginbuild f_bgpvpn-pluginbuild - export PLUGINS - #NON_8-0_REBASED_PLUGINS = f_bgpvpn-pluginbuild diff --git a/patches/opnfv-fuel/0042-build-Allow-MIRROR_MOS_UBUNTU-override.patch b/patches/opnfv-fuel/0042-build-Allow-MIRROR_MOS_UBUNTU-override.patch deleted file mode 100644 index 37e4d078..00000000 --- a/patches/opnfv-fuel/0042-build-Allow-MIRROR_MOS_UBUNTU-override.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Tue, 16 Aug 2016 18:45:10 +0200 -Subject: [PATCH] build: Allow MIRROR_MOS_UBUNTU override - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - build/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/build/Makefile b/build/Makefile -index 4a4bb2e..6e18ddd 100644 ---- a/build/Makefile -+++ b/build/Makefile -@@ -60,7 +60,7 @@ export MIRROR_UBUNTU_ROOT := $(shell echo -n '/' ; echo "$(MIRROR_UBUNTU_URL)" | - - export LATEST_MIRROR_ID_URL := http://$(shell ./select_closest_fuel_mirror.py) - --export MIRROR_MOS_UBUNTU := $(shell echo "$(LATEST_MIRROR_ID_URL)" | cut -d'/' -f3) -+export MIRROR_MOS_UBUNTU ?= $(shell echo "$(LATEST_MIRROR_ID_URL)" | cut -d'/' -f3) - export LATEST_TARGET_UBUNTU := $(shell curl -sSf "$(MIRROR_MOS_UBUNTU)/mos-repos/ubuntu/$(MOSVERSION).target.txt" | head -1) - export MIRROR_MOS_UBUNTU_ROOT := /mos-repos/ubuntu/$(LATEST_TARGET_UBUNTU) - diff --git a/patches/opnfv-fuel/0043-build-Add-armband.mk-config.patch b/patches/opnfv-fuel/0043-build-Add-armband.mk-config.patch index df1bd110..fee234d7 100644 --- a/patches/opnfv-fuel/0043-build-Add-armband.mk-config.patch +++ b/patches/opnfv-fuel/0043-build-Add-armband.mk-config.patch @@ -25,18 +25,16 @@ index 4454c35..377ecc6 100644 ############################################################################ # BEGIN of variables to customize # -@@ -129,6 +132,9 @@ $(ISOCACHE): - sudo docker info - cd /tmp/fuel-main && make repos - $(REPOINFO) -r /tmp/fuel-main > gitinfo_fuel.txt +@@ -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,6 +234,10 @@ debug: - sha1sum *.patch >> .cachedata +@@ -228,5 +234,9 @@ debug: sha1sum fuel_build_loop >> .cachedata sha1sum config.mk >> .cachedata + @if test -n $(ARMBAND_BASE); then \ diff --git a/patches/opnfv-fuel/0044-build-cache-Allow-LOCAL_CACHE_ARCH_NAME-override.patch b/patches/opnfv-fuel/0044-build-cache-Allow-LOCAL_CACHE_ARCH_NAME-override.patch deleted file mode 100644 index e477421d..00000000 --- a/patches/opnfv-fuel/0044-build-cache-Allow-LOCAL_CACHE_ARCH_NAME-override.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Thu, 18 Aug 2016 14:39:08 +0200 -Subject: [PATCH] build: cache: Allow LOCAL_CACHE_ARCH_NAME override - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - ci/build.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ci/build.sh b/ci/build.sh -index 62abba1..82049cd 100755 ---- a/ci/build.sh -+++ b/ci/build.sh -@@ -111,7 +111,7 @@ SCRIPT_DIR=$(readlink -f $(dirname ${BASH_SOURCE[0]})) - BUILD_BASE=$(readlink -e ${SCRIPT_DIR}/../build/) - RESULT_DIR="${BUILD_BASE}/release" - BUILD_SPEC="${BUILD_BASE}/config.mk" --LOCAL_CACHE_ARCH_NAME="fuel-cache" -+LOCAL_CACHE_ARCH_NAME="${LOCAL_CACHE_ARCH_NAME:-fuel-cache}" - - # - # END of variables to customize diff --git a/patches/opnfv-fuel/0045-build-cache-Consider-UBUNTU_ARCH-in-.cacheid.patch b/patches/opnfv-fuel/0045-build-cache-Consider-UBUNTU_ARCH-in-.cacheid.patch deleted file mode 100644 index 43d5bcc5..00000000 --- a/patches/opnfv-fuel/0045-build-cache-Consider-UBUNTU_ARCH-in-.cacheid.patch +++ /dev/null @@ -1,144 +0,0 @@ -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Wed, 17 Aug 2016 20:36:51 +0200 -Subject: [PATCH] build: cache: Consider UBUNTU_ARCH in .cacheid - -Usually UBUNTU_ARCH is not changed inside the same repository, -but we should consider this case anyway for future merging -Armband and Fuel@OPNFV repositories/build systems. - -This applies to all Fuel plugins and the local repo. - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - build/f_isoroot/f_bgpvpn-pluginbuild/Makefile | 1 + - build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile | 1 + - build/f_isoroot/f_kvm-pluginbuild/Makefile | 1 + - build/f_isoroot/f_odlpluginbuild/Makefile | 1 + - build/f_isoroot/f_onosfwpluginbuild/Makefile | 1 + - build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile | 1 + - build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile | 1 + - build/f_isoroot/f_repobuild/Makefile | 1 + - build/f_isoroot/f_vsperfpluginbuild/Makefile | 1 + - build/f_isoroot/f_yardstick-pluginbuild/Makefile | 1 + - 10 files changed, 10 insertions(+) - -diff --git a/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile b/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile -index ed3be29..8ce28fc 100644 ---- a/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile -+++ b/build/f_isoroot/f_bgpvpn-pluginbuild/Makefile -@@ -67,6 +67,7 @@ release:.bgpvpnbuild - fi - sha1sum Makefile >> .cachedata - sha1sum config.mk >> .cachedata -+ echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata - cat .cachedata | $(CACHETOOL) getid > .cacheid - - # Clean local data related to caching - called prior to ordinary build -diff --git a/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile b/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile -index 9ab922d..17bc36d 100644 ---- a/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile -+++ b/build/f_isoroot/f_collectd-ceilometer-pluginbuild/Makefile -@@ -67,6 +67,7 @@ release:.fastpathmetrics - fi - @sha1sum Makefile | awk {'print $$1'} >> .cachedata - @sha1sum config.mk | awk {'print $$1'} >> .cachedata -+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata - @cat .cachedata | $(CACHETOOL) getid > .cacheid - - # Clean local data related to caching - called prior to ordinary build -diff --git a/build/f_isoroot/f_kvm-pluginbuild/Makefile b/build/f_isoroot/f_kvm-pluginbuild/Makefile -index ba2fd0b..2454b5e 100644 ---- a/build/f_isoroot/f_kvm-pluginbuild/Makefile -+++ b/build/f_isoroot/f_kvm-pluginbuild/Makefile -@@ -70,6 +70,7 @@ release:.kvmbuild - fi - @sha1sum Makefile | awk {'print $$1'} >> .cachedata - @sha1sum config.mk | awk {'print $$1'} >> .cachedata -+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata - @cat .cachedata | $(CACHETOOL) getid > .cacheid - - # Clean local data related to caching - called prior to ordinary build -diff --git a/build/f_isoroot/f_odlpluginbuild/Makefile b/build/f_isoroot/f_odlpluginbuild/Makefile -index e2cbf7d..6c717c7 100644 ---- a/build/f_isoroot/f_odlpluginbuild/Makefile -+++ b/build/f_isoroot/f_odlpluginbuild/Makefile -@@ -58,6 +58,7 @@ release:.odlbuild - fi - @sha1sum Makefile | awk {'print $$1'} >> .cachedata - @sha1sum config.mk | awk {'print $$1'} >> .cachedata -+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata - cat .cachedata | $(CACHETOOL) getid > .cacheid - - # Clean local data related to caching - called prior to ordinary build -diff --git a/build/f_isoroot/f_onosfwpluginbuild/Makefile b/build/f_isoroot/f_onosfwpluginbuild/Makefile -index a9dcb22..02ba029 100644 ---- a/build/f_isoroot/f_onosfwpluginbuild/Makefile -+++ b/build/f_isoroot/f_onosfwpluginbuild/Makefile -@@ -66,6 +66,7 @@ release:.onosbuild - fi - @sha1sum Makefile | awk {'print $$1'} >> .cachedata - @sha1sum config.mk | awk {'print $$1'} >> .cachedata -+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata - @cat .cachedata | $(CACHETOOL) getid > .cacheid - - # Clean local data related to caching - called prior to ordinary build -diff --git a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile -index ecf586a..2d0d202 100644 ---- a/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile -+++ b/build/f_isoroot/f_ovs-nsh-dpdk-pluginbuild/Makefile -@@ -67,6 +67,7 @@ release:.ovsbuild - fi - @sha1sum Makefile | awk {'print $$1'} >> .cachedata - @sha1sum config.mk | awk {'print $$1'} >> .cachedata -+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata - @cat .cachedata | $(CACHETOOL) getid > .cacheid - - # Clean local data related to caching - called prior to ordinary build -diff --git a/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile b/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile -index 9e432d1..9455389 100644 ---- a/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile -+++ b/build/f_isoroot/f_ovsnfv-dpdk-pluginbuild/Makefile -@@ -67,6 +67,7 @@ release:.ovsnfvbuild - fi - @sha1sum Makefile | awk {'print $$1'} >> .cachedata - @sha1sum config.mk | awk {'print $$1'} >> .cachedata -+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata - @cat .cachedata | $(CACHETOOL) getid > .cacheid - - # Clean local data related to caching - called prior to ordinary build -diff --git a/build/f_isoroot/f_repobuild/Makefile b/build/f_isoroot/f_repobuild/Makefile -index 6fef8ff..f6ebc2c 100644 ---- a/build/f_isoroot/f_repobuild/Makefile -+++ b/build/f_isoroot/f_repobuild/Makefile -@@ -73,6 +73,7 @@ release:nailgun - sha1sum Makefile >> .cachedata - sha1sum config.mk >> .cachedata - $(CACHETOOL) packages >> .cachedata -+ echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata - cat .cachedata | $(CACHETOOL) getid > .cacheid - - # Clean local data related to caching - called prior to ordinary build -diff --git a/build/f_isoroot/f_vsperfpluginbuild/Makefile b/build/f_isoroot/f_vsperfpluginbuild/Makefile -index 9bd236a..73de611 100644 ---- a/build/f_isoroot/f_vsperfpluginbuild/Makefile -+++ b/build/f_isoroot/f_vsperfpluginbuild/Makefile -@@ -68,6 +68,7 @@ release:.vsperfbuild - fi - @sha1sum Makefile | awk {'print $$1'} >> .cachedata - @sha1sum config.mk | awk {'print $$1'} >> .cachedata -+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata - @cat .cachedata | $(CACHETOOL) getid > .cacheid - - # Clean local data related to caching - called prior to ordinary build -diff --git a/build/f_isoroot/f_yardstick-pluginbuild/Makefile b/build/f_isoroot/f_yardstick-pluginbuild/Makefile -index 47723d5..32de3b3 100644 ---- a/build/f_isoroot/f_yardstick-pluginbuild/Makefile -+++ b/build/f_isoroot/f_yardstick-pluginbuild/Makefile -@@ -68,6 +68,7 @@ release:.yardstickbuild - fi - @sha1sum Makefile | awk {'print $$1'} >> .cachedata - @sha1sum config.mk | awk {'print $$1'} >> .cachedata -+ @echo -n $(UBUNTU_ARCH) | sha1sum | awk {'print $$1'} >> .cachedata - @cat .cachedata | $(CACHETOOL) getid > .cacheid - - # Clean local data related to caching - called prior to ordinary build diff --git a/patches/opnfv-fuel/0047-build-ubuntu-mirror-blacklist-ftp.acc.umu.se.patch b/patches/opnfv-fuel/0047-build-ubuntu-mirror-blacklist-ftp.acc.umu.se.patch index e6e6c2b7..560ab753 100644 --- a/patches/opnfv-fuel/0047-build-ubuntu-mirror-blacklist-ftp.acc.umu.se.patch +++ b/patches/opnfv-fuel/0047-build-ubuntu-mirror-blacklist-ftp.acc.umu.se.patch @@ -13,12 +13,10 @@ diff --git a/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh b/build/f_isoroot index 4bca6bd..67219cb 100755 --- a/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh +++ b/build/f_isoroot/f_repobuild/select_ubuntu_repo.sh -@@ -21,7 +21,7 @@ RSYNC="rsync -4 --contimeout 5 --no-motd --list-only" +@@ -21,5 +21,5 @@ RSYNC="rsync -4 --contimeout 5 --no-motd --list-only" # Some Ubuntu mirrors seem less reliable for this type of mirroring - # as they are discoved they can be added to the blacklist below in order # for them not to be considered. -BLACKLIST="mirrors.se.eu.kernel.org mirror.its.dal.ca" +BLACKLIST="mirrors.se.eu.kernel.org ftp.acc.umu.se mirror.its.dal.ca" - return_url=0 - diff --git a/patches/opnfv-fuel/0050-build-Move-patches-to-patch-repos-dir.patch b/patches/opnfv-fuel/0050-build-Move-patches-to-patch-repos-dir.patch deleted file mode 100644 index 9874c9c2..00000000 --- a/patches/opnfv-fuel/0050-build-Move-patches-to-patch-repos-dir.patch +++ /dev/null @@ -1,142 +0,0 @@ -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Sat, 27 Aug 2016 17:13:32 +0200 -Subject: [PATCH] build: Move patches to <patch-repos> dir - -Decouple main Makefile and repository patches by moving all Fuel -component patches to a subdir, <patch-repo>. - -Proposed structure of <patch-repos> dir: -- patch-repos/*.patch are intended for <fuel-main> git repo; -- patch-repos/build/repo/<fuel-module>/*.patch are intended for - <fuel-module>, e.g. "fuel-nailgun"; - -Full list of Fuel submodules supported by this mechanism at [1]. - -While at it, replace all occurences of </tmp/fuel-main> with -<FUEL_MAIN_DIR> in main Makefile and rewrite a few git/make calls -to use the "-C" arg. - -NOTE: `git -C` is available starting with git 1.8.5. - -[1] https://github.com/openstack/fuel-main/blob/stable/mitaka/repos.mk - #L32-L44 - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - build/Makefile | 42 ++++++++++++---------- - .../0010-bootstrap_admin_node.sh.patch} | 0 - .../0020-isolinux.cfg.patch} | 0 - .../0030-repo-multi-arch-local-mirrors.patch} | 0 - ...e-dpkg-checkbuilddeps-with-mk-build-deps.patch} | 0 - ...tel-82599-10-Gigabit-NIC-as-DPDK-capable.patch} | 0 - 6 files changed, 24 insertions(+), 18 deletions(-) - rename build/{bootstrap_admin_node.sh.patch => patch-repos/0010-bootstrap_admin_node.sh.patch} (100%) - rename build/{isolinux.cfg.patch => patch-repos/0020-isolinux.cfg.patch} (100%) - rename build/{repo-multi-arch-local-mirrors.patch => patch-repos/0030-repo-multi-arch-local-mirrors.patch} (100%) - rename build/{replace-dpkg-checkbuilddeps-with-mk-build-deps.patch => patch-repos/0040-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch} (100%) - rename build/{Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch => patch-repos/build/repos/fuel-nailgun/0010-Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch} (100%) - -diff --git a/build/Makefile b/build/Makefile -index 377ecc6..b234924 100644 ---- a/build/Makefile -+++ b/build/Makefile -@@ -83,6 +83,11 @@ ORIGDIR := $(TOPDIR)/origiso - # END of variables to customize - ############################################################################# - -+# Fuel-main destination path and fuel-* submodule patching, for full list check: -+# https://github.com/openstack/fuel-main/blob/stable/mitaka/repos.mk#L32-L44 -+FUEL_MAIN_DIR := /tmp/fuel-main -+FUEL_PATCHES := $(shell find $(BUILD_BASE)/patch-repos -name '*.patch' | sort) -+ - SUBCLEAN = $(addsuffix .clean,$(SUBDIRS)) - - .PHONY: all -@@ -108,10 +113,10 @@ include cache.mk - - $(ISOCACHE): - # Clone Fuel to non-persistent location and build -- sudo rm -rf /tmp/fuel-main -- cd /tmp && git clone $(FUEL_MAIN_REPO) -- cd /tmp/fuel-main && git checkout $(FUEL_MAIN_TAG) -- @echo "fuel" `git -C /tmp/fuel-main rev-parse HEAD` >> $(VERSION_FILE) -+ sudo rm -rf $(FUEL_MAIN_DIR) -+ git clone $(FUEL_MAIN_REPO) $(FUEL_MAIN_DIR) -+ git -C $(FUEL_MAIN_DIR) checkout $(FUEL_MAIN_TAG) -+ @echo "fuel" `git -C $(FUEL_MAIN_DIR) rev-parse HEAD` >> $(VERSION_FILE) - # Remove Docker optimizations, otherwise multistrap will fail during - # Fuel build. - sudo rm -f /etc/apt/apt.conf.d/docker* -@@ -127,25 +132,26 @@ $(ISOCACHE): - sudo service docker stop || exit 0 - sudo service docker start - -- cd /tmp/fuel-main && ./prepare-build-env.sh -+ cd $(FUEL_MAIN_DIR) && ./prepare-build-env.sh - # Verify that Docker is alive - sudo docker info -- cd /tmp/fuel-main && make repos -- $(REPOINFO) -r /tmp/fuel-main > gitinfo_fuel.txt -+ # fuel-main Makefiles do not like `make -C` -+ cd $(FUEL_MAIN_DIR) && make repos -+ $(REPOINFO) -r $(FUEL_MAIN_DIR) > gitinfo_fuel.txt - @if test -n $(ARMBAND_BASE); then \ - $(REPOINFO) -r $(ARMBAND_BASE) >> gitinfo_fuel.txt; \ - fi - # OPNFV patches at Fuel build time - # Need to be commited in order for them to be considered by the Fuel - # build system -- cd /tmp/fuel-main && git am $(TOPDIR)/bootstrap_admin_node.sh.patch -- cd /tmp/fuel-main && git am $(TOPDIR)/isolinux.cfg.patch -- cd /tmp/fuel-main/build/repos/fuel-nailgun && git am $(TOPDIR)/Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch -- cd /tmp/fuel-main && git am $(TOPDIR)/repo-multi-arch-local-mirrors.patch -- cd /tmp/fuel-main && git am $(TOPDIR)/replace-dpkg-checkbuilddeps-with-mk-build-deps.patch -+ $(foreach patch,$(FUEL_PATCHES),git \ -+ -C $(subst $(BUILD_BASE)/patch-repos,$(FUEL_MAIN_DIR),$(dir $(patch))) \ -+ am --whitespace=nowarn --committer-date-is-author-date $(patch) || \ -+ (echo 'Error: Failed patching Fuel repos!' ; exit 1);) -+ - # Repeat build up to three times - sudo -E ./fuel_build_loop -- cp /tmp/fuel-main/build/artifacts/fuel*.iso . -+ cp $(FUEL_MAIN_DIR)/build/artifacts/fuel*.iso . - # Store artifact in cache straight away if caching is enabled - # (no .cacheid will be present unless this is a cached build) - test -f .cacheid && $(MAKE) -f Makefile put-cache || exit 0 -@@ -227,11 +233,11 @@ debug: - # - The commit ID of the full Fuel repo structre - # - The contents of all local Fuel patches - .cacheid: -- cd /tmp && git clone $(FUEL_MAIN_REPO) -- cd /tmp/fuel-main && git checkout $(FUEL_MAIN_TAG) -- cd /tmp/fuel-main && make repos -- $(REPOINFO) -r /tmp/fuel-main > .cachedata -- sha1sum *.patch >> .cachedata -+ git clone $(FUEL_MAIN_REPO) $(FUEL_MAIN_DIR) -+ git -C $(FUEL_MAIN_DIR) checkout $(FUEL_MAIN_TAG) -+ make -C $(FUEL_MAIN_DIR) repos -+ $(REPOINFO) -r $(FUEL_MAIN_DIR) > .cachedata -+ $(foreach patch,$(FUEL_PATCHES),sha1sum $(patch) >> .cachedata;) - sha1sum fuel_build_loop >> .cachedata - sha1sum config.mk >> .cachedata - @if test -n $(ARMBAND_BASE); then \ -diff --git a/build/bootstrap_admin_node.sh.patch b/build/patch-repos/0010-bootstrap_admin_node.sh.patch -similarity index 100% -rename from build/bootstrap_admin_node.sh.patch -rename to build/patch-repos/0010-bootstrap_admin_node.sh.patch -diff --git a/build/isolinux.cfg.patch b/build/patch-repos/0020-isolinux.cfg.patch -similarity index 100% -rename from build/isolinux.cfg.patch -rename to build/patch-repos/0020-isolinux.cfg.patch -diff --git a/build/repo-multi-arch-local-mirrors.patch b/build/patch-repos/0030-repo-multi-arch-local-mirrors.patch -similarity index 100% -rename from build/repo-multi-arch-local-mirrors.patch -rename to build/patch-repos/0030-repo-multi-arch-local-mirrors.patch -diff --git a/build/replace-dpkg-checkbuilddeps-with-mk-build-deps.patch b/build/patch-repos/0040-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch -similarity index 100% -rename from build/replace-dpkg-checkbuilddeps-with-mk-build-deps.patch -rename to build/patch-repos/0040-replace-dpkg-checkbuilddeps-with-mk-build-deps.patch -diff --git a/build/Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch b/build/patch-repos/build/repos/fuel-nailgun/0010-Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch -similarity index 100% -rename from build/Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch -rename to build/patch-repos/build/repos/fuel-nailgun/0010-Mark-Intel-82599-10-Gigabit-NIC-as-DPDK-capable.patch diff --git a/patches/opnfv-fuel/0054-net-check-add-support-for-faulty-operstate.patch b/patches/opnfv-fuel/0054-net-check-add-support-for-faulty-operstate.patch new file mode 100644 index 00000000..8a765c92 --- /dev/null +++ b/patches/opnfv-fuel/0054-net-check-add-support-for-faulty-operstate.patch @@ -0,0 +1,63 @@ +From: Stefan Sicleru <stefan.sicleru@enea.com> +Date: Tue, 30 Aug 2016 17:53:41 +0200 +Subject: [PATCH] net-check: add support for faulty operstate + +Some eth drivers, such as those for APM X-Gene Mustang Board's NICs, do +not advertise operstate properly in sysfs, ie. it is advertised as +"unknown" whereas ethtool shows the NIC as fully functional with link +detected. This further affects "ip link show" output which is parsed +within _check_iface_ready() method. + +Replace "ip link show" command with "ethtool" in order to obtain proper +results when operstate is unknown. + +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 + +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 +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 +@@ -0,0 +1,38 @@ ++From: Stefan Sicleru <stefan.sicleru@enea.com> ++Date: Tue, 30 Aug 2016 17:30:24 +0200 ++Subject: [PATCH] net-check: add support for faulty operstate ++ ++Some eth drivers, such as those for APM X-Gene Mustang Board's NICs, do ++not advertise operstate properly in sysfs, ie. it is advertised as ++"unknown" whereas ethtool shows the NIC as fully functional with link ++detected. This further affects "ip link show" output which is parsed ++within _check_iface_ready() method. ++ ++Replace "ip link show" command with "ethtool" in order to obtain proper ++results when operstate is unknown. ++ ++Signed-off-by: Stefan Sicleru <stefan.sicleru@enea.com> ++--- ++ network_checker/net_check/api.py | 9 ++++++++- ++ 1 file changed, 8 insertions(+), 1 deletion(-) ++ ++diff --git a/network_checker/net_check/api.py b/network_checker/net_check/api.py ++index e3c3b4e..87aa257 100755 ++--- a/network_checker/net_check/api.py +++++ b/network_checker/net_check/api.py ++@@ -195,7 +195,14 @@ class Actor(object): ++ def _check_iface_ready(self, iface, vid=None): ++ check_iface = self._iface_name(iface, vid) ++ output = self._execute(['ip', '-o', 'link', 'show', check_iface]) ++- return 'state UP' in '\n'.join(output) +++ if 'state UP' in '\n'.join(output): +++ return True +++ +++ if 'state UNKNOWN' in '\n'.join(output) and vid == None: +++ output = self._execute(['ethtool', check_iface]) +++ 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/0055-build-docker-Use-host-s-network-stack.patch b/patches/opnfv-fuel/0055-build-docker-Use-host-s-network-stack.patch new file mode 100644 index 00000000..d9fd36a0 --- /dev/null +++ b/patches/opnfv-fuel/0055-build-docker-Use-host-s-network-stack.patch @@ -0,0 +1,28 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Mon, 29 Aug 2016 22:58:49 +0200 +Subject: [PATCH] build: docker: Use host's /etc/hosts + +The original motivation was pointing to local mirrors via host's +"/etc/hosts", for which an alternative solution tested was +"--net=host" (see [1] for full description), but lead to wierd +loss of connectivity after a few builds. + +[1] https://docs.docker.com/v1.8/articles/networking/ + +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + build/docker/runcontext | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/docker/runcontext b/build/docker/runcontext +index 07b0dc1..b0d6d37 100755 +--- a/build/docker/runcontext ++++ 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 \ + -u $USER_ID:$GROUP_ID -w $PWD \ ++ -v /etc/hosts:/etc/hosts \ + -v $GITROOT:$GITROOT -v /sys/fs/cgroup:/sys/fs/cgroup:ro $CACHEMOUNT" + + # Passing "debug" puts up an interactive bash shell |