From: Alexandru Avadanii 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 --- 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 fcb8ce3..12ef9ed 100755 --- a/mcp/config/states/maas +++ b/mcp/config/states/maas @@ -76,6 +76,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 90 "! 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 +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 +--- + +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__),