summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--patches/fuel-library/multiarch-fuel/0003-build_image.pp-Extract-cluster_arch-from-URI.patch54
1 files changed, 54 insertions, 0 deletions
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",
+ }
+ }