summaryrefslogtreecommitdiffstats
path: root/patches/opnfv-fuel/0016-mcp-salt-formulas-armband-AArch64-bootstrap.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/opnfv-fuel/0016-mcp-salt-formulas-armband-AArch64-bootstrap.patch')
-rw-r--r--patches/opnfv-fuel/0016-mcp-salt-formulas-armband-AArch64-bootstrap.patch82
1 files changed, 82 insertions, 0 deletions
diff --git a/patches/opnfv-fuel/0016-mcp-salt-formulas-armband-AArch64-bootstrap.patch b/patches/opnfv-fuel/0016-mcp-salt-formulas-armband-AArch64-bootstrap.patch
new file mode 100644
index 00000000..dc8993fc
--- /dev/null
+++ b/patches/opnfv-fuel/0016-mcp-salt-formulas-armband-AArch64-bootstrap.patch
@@ -0,0 +1,82 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Mon, 21 Aug 2017 20:53:03 +0200
+Subject: [PATCH] mcp: salt-formulas: armband: AArch64 bootstrap
+
+Recent changes in salt bootstrap script from [1] whitelist a
+fixed pool of known architectures. Add "arm64" to that list on the
+fly, as part of `config.gather_bootstrap_script`.
+
+NOTE: This change will be leveraged by passing a custom DEB repo to
+the bootstrap script with `-R linux.enea.com/saltstack`.
+
+NOTE: After running this new state, salt-minion should be restarted
+to pick up the changes, so we'll run it before rebooting kvm nodes.
+
+[1] http://bootstrap.saltstack.com
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ mcp/config/states/maas | 1 +
+ .../armband/bootstrap_script_arm64.sls | 4 +++
+ mcp/salt-formulas/armband/files/cloud.py.diff | 29 ++++++++++++++++++++++
+ 3 files changed, 34 insertions(+)
+ create mode 100644 mcp/salt-formulas/armband/bootstrap_script_arm64.sls
+ create mode 100644 mcp/salt-formulas/armband/files/cloud.py.diff
+
+diff --git a/mcp/config/states/maas b/mcp/config/states/maas
+index 9fe7de0..0cf4f68 100755
+--- a/mcp/config/states/maas
++++ b/mcp/config/states/maas
+@@ -46,6 +46,7 @@ salt -C '* and not cfg01* and not mas01*' saltutil.sync_all
+
+ salt -C 'kvm*' pkg.install bridge-utils
+ salt -C 'kvm*' state.apply linux.network
++salt -C 'kvm*' state.apply armband.bootstrap_script_arm64
+ salt -C 'kvm*' system.reboot
+ wait_for "! salt '*' test.ping | tee /dev/stderr | fgrep -q 'Not connected'"
+
+diff --git a/mcp/salt-formulas/armband/bootstrap_script_arm64.sls b/mcp/salt-formulas/armband/bootstrap_script_arm64.sls
+new file mode 100644
+index 0000000..845dedd
+--- /dev/null
++++ b/mcp/salt-formulas/armband/bootstrap_script_arm64.sls
+@@ -0,0 +1,4 @@
++/usr/lib/python2.7/dist-packages/salt/utils/cloud.py:
++ file.patch:
++ - source: salt://armband/files/cloud.py.diff
++ - hash: "ecd450b187156c1f6a91ea272fd668b0"
+diff --git a/mcp/salt-formulas/armband/files/cloud.py.diff b/mcp/salt-formulas/armband/files/cloud.py.diff
+new file mode 100644
+index 0000000..75c3281
+--- /dev/null
++++ b/mcp/salt-formulas/armband/files/cloud.py.diff
+@@ -0,0 +1,29 @@
++From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
++Date: Sun Aug 20 18:18:53 2017 +0200
++Subject: [PATCH] cloud.py: Allow AArch64 arch in salt bootstrap
++
++Recent changes in salt bootstrap script from [1] whitelist a
++fixed pool of known architectures. Add "arm64" to that list on the
++fly, as part of `config.gather_bootstrap_script`.
++
++NOTE: This change will be leveraged by passing a custom DEB repo to
++the bootstrap script with `-R linux.enea.com/saltstack`.
++
++[1] http://bootstrap.saltstack.com
++
++Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
++---
++
++diff --git a//usr/lib/python2.7/dist-packages/salt/utils/cloud.py b//usr/lib/python2.7/dist-packages/salt/utils/cloud.py
++--- a//usr/lib/python2.7/dist-packages/salt/utils/cloud.py
+++++ b//usr/lib/python2.7/dist-packages/salt/utils/cloud.py
++@@ -2772,6 +2772,9 @@
++ if not script_content:
++ raise ValueError('No content in bootstrap script !')
++
+++ # NOTE(armband): edit bootstrap script on the fly to allow AArch64
+++ script_content = script_content.replace('"amd64")', '"amd64"|"arm64")')
+++
++ # Get the path to the built-in deploy scripts directory
++ builtin_deploy_dir = os.path.join(
++ os.path.dirname(__file__),