summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile3
-rw-r--r--docs/development/buildprocedure/index.rst2
-rw-r--r--docs/release/installation/index.rst2
-rw-r--r--docs/release/release-notes/index.rst2
-rw-r--r--patches/fuel-library/multiarch-fuel/0003-build_image.pp-Extract-cluster_arch-from-URI.patch54
-rw-r--r--patches/fuel-library/upstream-backports/0002-Increase-reboot-task-timeout.patch23
-rw-r--r--patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch27
-rw-r--r--patches/opnfv-fuel/0000-f_odlpluginbuild-Armband-prereq-in-packages.yaml.patch8
-rw-r--r--patches/opnfv-fuel/arm64-bug-fixes/0002-bootstrap-Pin-kernel-to-4.4.0-45.patch31
9 files changed, 134 insertions, 18 deletions
diff --git a/Makefile b/Makefile
index 9ba6d9cb..35a3f08c 100644
--- a/Makefile
+++ b/Makefile
@@ -90,7 +90,8 @@ patches-import: .submodules-init .submodules-patched
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 \
+ git tag $$SUB_TAG-root && \
+ git am -3 --whitespace=nowarn --patch-format=mbox \
--committer-date-is-author-date $$SUB_PATCHES && \
git tag $$SUB_TAG || exit 1; \
fi \
diff --git a/docs/development/buildprocedure/index.rst b/docs/development/buildprocedure/index.rst
index 49f64c31..386f1e46 100644
--- a/docs/development/buildprocedure/index.rst
+++ b/docs/development/buildprocedure/index.rst
@@ -1,3 +1,5 @@
+.. _armband-buildprocedure:
+
.. This document is protected/licensed under the following conditions
.. (c) Jonas Bjurel (Ericsson AB)
.. Licensed under a Creative Commons Attribution 4.0 International License.
diff --git a/docs/release/installation/index.rst b/docs/release/installation/index.rst
index ed4db110..20fcbc32 100644
--- a/docs/release/installation/index.rst
+++ b/docs/release/installation/index.rst
@@ -1,3 +1,5 @@
+.. _armband-installation:
+
.. This document is protected/licensed under the following conditions
.. (c) Jonas Bjurel (Ericsson AB)
.. Licensed under a Creative Commons Attribution 4.0 International License.
diff --git a/docs/release/release-notes/index.rst b/docs/release/release-notes/index.rst
index 91fedf23..b9121b46 100644
--- a/docs/release/release-notes/index.rst
+++ b/docs/release/release-notes/index.rst
@@ -1,3 +1,5 @@
+.. _armband-releasenotes:
+
.. This document is protected/licensed under the following conditions
.. (c) Jonas Bjurel (Ericsson AB)
.. Licensed under a Creative Commons Attribution 4.0 International License.
diff --git a/patches/fuel-library/multiarch-fuel/0003-build_image.pp-Extract-cluster_arch-from-URI.patch b/patches/fuel-library/multiarch-fuel/0003-build_image.pp-Extract-cluster_arch-from-URI.patch
new file mode 100644
index 00000000..9e7979c5
--- /dev/null
+++ b/patches/fuel-library/multiarch-fuel/0003-build_image.pp-Extract-cluster_arch-from-URI.patch
@@ -0,0 +1,54 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Wed, 15 Mar 2017 23:44:32 +0100
+Subject: [PATCH] build_image.pp: Extract cluster_arch from "/" URI
+
+Since target image building was moved from nailgun to puppet, we
+need to determine the "target_arch" value differently.
+
+One way to go is to extract it from the root disk image URI, which
+is constructed based on static fixture data in nailgun.
+
+This change relies on the following:
+- image_data contains "/", with a properly arch-qualified URI;
+- image_data "/" URI arch uses the same format as "target_arch"
+ (in this case "arm64" instead of "aarch64" or other variations);
+
+While at it, increase task timeout from 1800s to 3600s.
+
+NOTE: Unlike the previous approach, this method does not rely on any
+other nailgun changes (i.e. adding the "arch" field to the database
+model), but only on `fa_build_image --target_arch=...` support.
+
+JIRA: https://jira.opnfv.org/browse/ARMBAND-240
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ deployment/puppet/osnailyfacter/manifests/provision/build_image.pp | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/deployment/puppet/osnailyfacter/manifests/provision/build_image.pp b/deployment/puppet/osnailyfacter/manifests/provision/build_image.pp
+index 3f90aec..c1b8fbe 100644
+--- a/deployment/puppet/osnailyfacter/manifests/provision/build_image.pp
++++ b/deployment/puppet/osnailyfacter/manifests/provision/build_image.pp
+@@ -8,6 +8,9 @@ class osnailyfacter::provision::build_image(
+ $data = loadyaml($data_file)
+ }
+ $cluster_id = $data['cluster']['id']
++ $root_img_uri_split = split($data['image_data']['/']['uri'], '_')
++ $root_img_suffix_split = split($root_img_uri_split[-1], '[.]')
++ $cluster_arch = $root_img_suffix_split[0]
+
+ if $data['ironic']['enabled'] == 'true' {
+ $ironic_packages = [
+@@ -50,9 +53,9 @@ class osnailyfacter::provision::build_image(
+ $extra_params = '--data_driver nailgun_build_image'
+
+ exec { 'generate_image_with_fuel':
+- command => "fa_build_image ${build_dir} ${log_params} ${extra_params} --input_data_file ${data_file}",
++ command => "fa_build_image ${build_dir} ${log_params} ${extra_params} --target_arch=${cluster_arch} --input_data_file ${data_file}",
+ path => ['/bin', '/usr/bin'],
+- timeout => 1800,
++ timeout => 3600,
+ unless => "test -e /var/www/nailgun/bootstrap/ironic/${cluster_id}/vmlinuz",
+ }
+ }
diff --git a/patches/fuel-library/upstream-backports/0002-Increase-reboot-task-timeout.patch b/patches/fuel-library/upstream-backports/0002-Increase-reboot-task-timeout.patch
new file mode 100644
index 00000000..c5aa76a0
--- /dev/null
+++ b/patches/fuel-library/upstream-backports/0002-Increase-reboot-task-timeout.patch
@@ -0,0 +1,23 @@
+From: Stanislaw Bogatkin <sbogatkin@mirantis.com>
+Date: Mon, 13 Mar 2017 14:13:34 +0300
+Subject: [PATCH] Increase reboot task timeout
+
+To avoid broken provision on baremetal servers, increase reboot
+task timeout to 15 minutes.
+
+Change-Id: Ia7b9aa96407dae5819420146f5e1e934031b662c
+Closes-Bug: #1671793
+---
+ graphs/provision/tasks.yaml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/graphs/provision/tasks.yaml b/graphs/provision/tasks.yaml
+index 46f4faa..68716ce 100644
+--- a/graphs/provision/tasks.yaml
++++ b/graphs/provision/tasks.yaml
+@@ -105,4 +105,4 @@
+ requires: [cobbler_disable_netboot]
+ required_for: [set_status_provisioned]
+ parameters:
+- timeout: 180
++ timeout: 900
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 6790d76e..93bf1ab3 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
@@ -21,6 +21,7 @@ Rebase for Fuel Newton.
[ Dan.Andresan@enea.com ]
Modify Puppet recipe to restart Opendaylight service after leveldbjni
This avoids a cache corruption described in [3]
+Fix leveldbjni on x86_64, since it should be silently skipped.
[1] https://bugs.opendaylight.org/show_bug.cgi?id=3973
[2] https://jira.opnfv.org/browse/ARMBAND-114
@@ -33,9 +34,9 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Signed-off-by: Dan Andresan <dan.andresan@enea.com>
---
.../puppet/modules/opendaylight/manifests/init.pp | 8 ++++++
- .../modules/opendaylight/manifests/install.pp | 7 +++++
+ .../modules/opendaylight/manifests/install.pp | 3 ++
.../modules/opendaylight/manifests/leveldbjni.pp | 32 ++++++++++++++++++++++
- 3 files changed, 47 insertions(+)
+ 3 files changed, 43 insertions(+)
create mode 100644 deployment_scripts/puppet/modules/opendaylight/manifests/leveldbjni.pp
diff --git a/deployment_scripts/puppet/modules/opendaylight/manifests/init.pp b/deployment_scripts/puppet/modules/opendaylight/manifests/init.pp
@@ -56,23 +57,15 @@ index 69cc23a..791ceba 100644
+ }
}
diff --git a/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp b/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp
-index 2c3d776..673ccb3 100644
+index 2c3d776..22ab204 100644
--- a/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp
+++ b/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp
-@@ -20,6 +20,12 @@ class opendaylight::install (
- ensure => $odl_package,
+@@ -85,9 +85,12 @@ class opendaylight::install (
+ value => $enabled_features,
}
-
-+ if ($::osfamily == 'Debian' and $::opendaylight::arch == 'arm64') {
-+ class { 'opendaylight::leveldbjni':
-+ require => Package['opendaylight'],
-+ }
-+ }
+
++ include opendaylight::leveldbjni
+
- #Temporary solution until number of allowed open files
- #will be fixed in main systemd service file
- file {'/etc/systemd/system/opendaylight.service.d':
-@@ -88,6 +94,7 @@ class opendaylight::install (
Package['opendaylight'] ->
Ini_setting <||> ->
Firewall <||> ->
@@ -82,7 +75,7 @@ index 2c3d776..673ccb3 100644
}
diff --git a/deployment_scripts/puppet/modules/opendaylight/manifests/leveldbjni.pp b/deployment_scripts/puppet/modules/opendaylight/manifests/leveldbjni.pp
new file mode 100644
-index 0000000..f2820a5
+index 0000000..71c3635
--- /dev/null
+++ b/deployment_scripts/puppet/modules/opendaylight/manifests/leveldbjni.pp
@@ -0,0 +1,32 @@
@@ -105,7 +98,7 @@ index 0000000..f2820a5
+ }
+ }
+
-+ if ! defined(Package['armband-odl-leveldb-fix']) {
++ if $::osfamily == 'Debian' and $::opendaylight::arch == 'arm64' and ! defined(Package['armband-odl-leveldb-fix']) {
+ exec {'hotfix-odl':
+ command => 'systemctl stop opendaylight; rm -rf /opt/opendaylight/data/cache',
+ onlyif => 'test 0 -eq $(dpkg -l | grep -c armband-odl-leveldb-fix)',
diff --git a/patches/opnfv-fuel/0000-f_odlpluginbuild-Armband-prereq-in-packages.yaml.patch b/patches/opnfv-fuel/0000-f_odlpluginbuild-Armband-prereq-in-packages.yaml.patch
index 8a42f66e..dcf3b15f 100644
--- a/patches/opnfv-fuel/0000-f_odlpluginbuild-Armband-prereq-in-packages.yaml.patch
+++ b/patches/opnfv-fuel/0000-f_odlpluginbuild-Armband-prereq-in-packages.yaml.patch
@@ -1,3 +1,11 @@
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+: Copyright (c) 2017 Enea AB and others.
+:
+: 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
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Sat, 19 Nov 2016 20:39:35 +0100
Subject: [PATCH] f_odlpluginbuild: Armband prereq in packages.yaml
diff --git a/patches/opnfv-fuel/arm64-bug-fixes/0002-bootstrap-Pin-kernel-to-4.4.0-45.patch b/patches/opnfv-fuel/arm64-bug-fixes/0002-bootstrap-Pin-kernel-to-4.4.0-45.patch
new file mode 100644
index 00000000..6a6e6309
--- /dev/null
+++ b/patches/opnfv-fuel/arm64-bug-fixes/0002-bootstrap-Pin-kernel-to-4.4.0-45.patch
@@ -0,0 +1,31 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Tue, 14 Mar 2017 19:56:50 +0100
+Subject: [PATCH] bootstrap: Pin kernel to 4.4.0-45
+
+JIRA: https://jira.opnfv.org/browse/ARMBAND-239
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml b/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
+index ff5baa8..794cca8 100644
+--- a/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
++++ b/build/f_isoroot/f_repobuild/fuel_bootstrap_cli.yaml
+@@ -13,13 +13,13 @@
+ extra_dirs:
+ - /usr/share/fuel_bootstrap_cli/files/xenial
+ output_dir: /tmp/
+- kernel_flavor: linux-image-generic-lts-xenial
++ kernel_flavor: linux-image-4.4.0-45-generic
+ packages:
+ - daemonize
+ - fuel-agent
+ - hwloc
+ - i40e-dkms
+ - linux-firmware
++ - linux-headers-4.4.0-45-generic
+- - linux-headers-generic
+ - live-boot
+ - live-boot-initramfs-tools