type: eth
proto: static
diff --git a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/opendaylight/control.yml b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/opendaylight/control.yml
-index 6e37978..e9e6056 100644
+index 6bc0f51..4dacc73 100644
--- a/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/opendaylight/control.yml
+++ b/mcp/reclass/classes/cluster/virtual-mcp-ocata-odl-router/opendaylight/control.yml
-@@ -11,7 +11,7 @@ parameters:
+@@ -10,7 +10,7 @@ parameters:
linux:
network:
interface:
create mode 100644 mcp/salt-formulas/armband/vgabios.sls
diff --git a/mcp/config/states/maas b/mcp/config/states/maas
-index acee8c0..f0de58d 100755
+index 0c01617..99d923b 100755
--- a/mcp/config/states/maas
+++ b/mcp/config/states/maas
@@ -48,6 +48,7 @@ wait_for "! salt '*' test.ping | tee /dev/stderr | fgrep -q 'Not connected'"
master:
accept_policy: open_mode
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml
-index 5c33f9e..8b09e76 100644
+index 1608c65..8677a79 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml
@@ -25,7 +25,8 @@ parameters:
# Variables below are disabled for now, to be re-introduced or removed later
diff --git a/mcp/config/states/maas b/mcp/config/states/maas
-index f0de58d..4b306af 100755
+index 99d923b..13a8263 100755
--- a/mcp/config/states/maas
+++ b/mcp/config/states/maas
@@ -20,7 +20,7 @@ salt -C 'mas01*' state.apply linux.network.interface
create mode 100644 mcp/salt-formulas/armband/libvirt_domain_template.sls
diff --git a/mcp/config/states/maas b/mcp/config/states/maas
-index 4b306af..d99dfc4 100755
+index 13a8263..fef7a62 100755
--- a/mcp/config/states/maas
+++ b/mcp/config/states/maas
@@ -48,7 +48,7 @@ wait_for "! salt '*' test.ping | tee /dev/stderr | fgrep -q 'Not connected'"
+/usr/share/salt-formulas/env: 0103-virtng-module-Extend-libvirt_domain.patch
+/usr/share/salt-formulas/env: 0104-salt-control-virt-Extend-libvirt_domain.patch
diff --git a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml
-index 8b09e76..ff06a15 100644
+index 8677a79..914908d 100644
--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml
+++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-ovs-ha/infra/kvm.yml
@@ -34,26 +34,41 @@ parameters:
--- /dev/null
+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 fef7a62..75da696 100755
+--- a/mcp/config/states/maas
++++ b/mcp/config/states/maas
+@@ -43,6 +43,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__),
--- /dev/null
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Mon, 21 Aug 2017 20:42:00 +0200
+Subject: [PATCH] seedng: module: Add AArch64 repo
+
+salt custom py module seedng.py should use custom repo arg
+"-R linux.enea.com/saltstack" on AArch64 nodes.
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ .../0105-seedng-module-Add-AArch64-repo.patch | 25 ++++++++++++++++++++++
+ mcp/patches/patches.list | 1 +
+ 2 files changed, 26 insertions(+)
+ create mode 100644 mcp/patches/0105-seedng-module-Add-AArch64-repo.patch
+
+diff --git a/mcp/patches/0105-seedng-module-Add-AArch64-repo.patch b/mcp/patches/0105-seedng-module-Add-AArch64-repo.patch
+new file mode 100644
+index 0000000..e191421
+--- /dev/null
++++ b/mcp/patches/0105-seedng-module-Add-AArch64-repo.patch
+@@ -0,0 +1,25 @@
++From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
++Date: Mon, 21 Aug 2017 02:03:01 +0200
++Subject: [PATCH] seedng: module: Add AArch64 repo
++
++salt custom py module seedng.py should use custom repo arg
++"-R linux.enea.com/saltstack" on AArch64 nodes.
++
++Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
++---
++
++diff --git a/_modules/seedng.py b/_modules/seedng.py
++--- a/_modules/seedng.py
+++++ b/_modules/seedng.py
++@@ -256,8 +256,10 @@
++ boot_, tmppath = (prep_bootstrap(mpt)
++ or salt.syspaths.BOOTSTRAP)
++ # Exec the chroot command
+++ cmdR = '-R linux.enea.com/saltstack' if os.uname()[-1] == 'aarch64' else ''
++ cmd = 'if type salt-minion; then exit 0; '
++- cmd += 'else sh {0} -c /tmp; fi'.format(os.path.join(tmppath, 'bootstrap-salt.sh'))
+++ cmd += 'else sh {0} {1} -c /tmp; fi'.format(
+++ os.path.join(tmppath, 'bootstrap-salt.sh'), cmdR)
++ return not __salt__['cmd.run_chroot'](mpt, cmd, python_shell=True)['retcode']
++
++
+diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
+index 67b9c82..b4b2b30 100644
+--- a/mcp/patches/patches.list
++++ b/mcp/patches/patches.list
+@@ -9,3 +9,4 @@
+ /usr/share/salt-formulas/env: 0102-libvirt-unix_sock_group-s-libvirtd-libvirt.patch
+ /usr/share/salt-formulas/env: 0103-virtng-module-Extend-libvirt_domain.patch
+ /usr/share/salt-formulas/env: 0104-salt-control-virt-Extend-libvirt_domain.patch
++/usr/share/salt-formulas/env: 0105-seedng-module-Add-AArch64-repo.patch