aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-07-11 18:57:57 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-09-01 01:03:48 +0200
commitbb2dc1e4d661b51c561a60530639ba439d824870 (patch)
tree0ca1799044839244ac898ab5b8f9630d63027e97
parent81c74a3da29cabc3fe76d3b5467378d84fd2767e (diff)
salt.sh, user-data: Add Saltstack arm64 repo
These changes will only be applied on AArch64, based on `uname -m`. While at it, add arm64 suppport to salt-master-setup.sh. Upstream commit [1] broke Salt bootstrap on AArch64, by introducing an architecture condition that is too strict to allow Debian package installation (even if we provide our own repo). Add "arm64" to the list of supported architectures. This needs to be done on the fly, as the bootstrap script is fetched using `curl` from <salt-master-setup.sh>. [1] https://github.com/saltstack/salt-bootstrap/commit/caa6d7d Change-Id: Id706a74a52ffe2f8b8c9dd3b9f70c78f35b2f745 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-rw-r--r--mcp/patches/Makefile2
-rw-r--r--mcp/patches/scripts/0001-salt-master-setup.sh-Allow-arm64-salt-bootstrap.patch51
-rwxr-xr-xmcp/scripts/salt.sh4
-rw-r--r--mcp/scripts/user-data.template8
4 files changed, 62 insertions, 3 deletions
diff --git a/mcp/patches/Makefile b/mcp/patches/Makefile
index fafa83f86..7468d01e0 100644
--- a/mcp/patches/Makefile
+++ b/mcp/patches/Makefile
@@ -87,7 +87,7 @@ patches-import: sub .cachepatched
SUB_TAG=${F_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 --patch-format=mbox \
+ git am -3 --ignore-whitespace --patch-format=mbox \
--committer-date-is-author-date $$SUB_PATCHES && \
git tag $$SUB_TAG || exit 1; \
fi \
diff --git a/mcp/patches/scripts/0001-salt-master-setup.sh-Allow-arm64-salt-bootstrap.patch b/mcp/patches/scripts/0001-salt-master-setup.sh-Allow-arm64-salt-bootstrap.patch
new file mode 100644
index 000000000..7e995e767
--- /dev/null
+++ b/mcp/patches/scripts/0001-salt-master-setup.sh-Allow-arm64-salt-bootstrap.patch
@@ -0,0 +1,51 @@
+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Fri, 1 Sep 2017 00:48:26 +0200
+Subject: [PATCH] salt-master-setup.sh: Allow arm64 salt-bootstrap
+
+Upstream commit [1] broke Salt bootstrap on AArch64, by
+introducing an architecture condition that is too strict to allow
+Debian package installation (even if we provide our own repo).
+
+Add "arm64" to the list of supported architectures. This needs
+to be done on the fly, as the bootstrap script is fetched using
+`curl` from <salt-master-setup.sh>.
+
+[1] https://github.com/saltstack/salt-bootstrap/commit/caa6d7d
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ salt-master-setup.sh | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/salt-master-setup.sh b/salt-master-setup.sh
+index 32a1fea..7454b26 100755
+--- a/salt-master-setup.sh
++++ b/salt-master-setup.sh
+@@ -237,12 +237,12 @@ install_salt_master_pkg()
+ debian)
+ $SUDO apt-get install -y git
+ which reclass || $SUDO apt install -qqq -y reclass
+- curl -L https://bootstrap.saltstack.com | $SUDO sh -s -- -M ${BOOTSTRAP_SALTSTACK_OPTS} &>/dev/null || true
++ curl -L https://bootstrap.saltstack.com | sed 's@"amd64")@"amd64"|"arm64")@g' | $SUDO sh -s -- -M ${BOOTSTRAP_SALTSTACK_OPTS} &>/dev/null || true
+ ;;
+ rhel)
+ yum install -y git
+ which reclass || $SUDO yum install -y reclass
+- curl -L https://bootstrap.saltstack.com | $SUDO sh -s -- -M ${BOOTSTRAP_SALTSTACK_OPTS} &>/dev/null || true
++ curl -L https://bootstrap.saltstack.com | sed 's@"amd64")@"amd64"|"arm64")@g' | $SUDO sh -s -- -M ${BOOTSTRAP_SALTSTACK_OPTS} &>/dev/null || true
+ ;;
+ esac
+
+@@ -308,10 +308,10 @@ install_salt_minion_pkg()
+
+ case $PLATFORM_FAMILY in
+ debian)
+- curl -L https://bootstrap.saltstack.com | $SUDO sh -s -- ${BOOTSTRAP_SALTSTACK_OPTS} &>/dev/null || true
++ curl -L https://bootstrap.saltstack.com | sed 's@"amd64")@"amd64"|"arm64")@g' | $SUDO sh -s -- ${BOOTSTRAP_SALTSTACK_OPTS} &>/dev/null || true
+ ;;
+ rhel)
+- curl -L https://bootstrap.saltstack.com | $SUDO sh -s -- ${BOOTSTRAP_SALTSTACK_OPTS} &>/dev/null || true
++ curl -L https://bootstrap.saltstack.com | sed 's@"amd64")@"amd64"|"arm64")@g' | $SUDO sh -s -- ${BOOTSTRAP_SALTSTACK_OPTS} &>/dev/null || true
+ ;;
+ esac
+
diff --git a/mcp/scripts/salt.sh b/mcp/scripts/salt.sh
index b291b0f7c..70b5757a8 100755
--- a/mcp/scripts/salt.sh
+++ b/mcp/scripts/salt.sh
@@ -45,6 +45,10 @@ ssh ${SSH_OPTS} "${SSH_SALT}" bash -s << SALT_INSTALL_END
cd ${OPNFV_FUEL_DIR}/mcp/patches && ./patch.sh patches.list reclass
cd /srv/salt/scripts
+ if [ "\$(uname -i)" = "aarch64" ]; then
+ # NOTE(armband): On AArch64, skip creating apt source list definitions (-r)
+ export BOOTSTRAP_SALTSTACK_OPTS=" -r -dX stable 2016.11 "
+ fi
MASTER_HOSTNAME=cfg01.${CLUSTER_DOMAIN} DISTRIB_REVISION=nightly ./salt-master-init.sh
salt-key -Ay
diff --git a/mcp/scripts/user-data.template b/mcp/scripts/user-data.template
index cc97a6027..292c37c0c 100644
--- a/mcp/scripts/user-data.template
+++ b/mcp/scripts/user-data.template
@@ -1,6 +1,10 @@
#!/bin/bash
-wget -O - https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11/SALTSTACK-GPG-KEY.pub | sudo apt-key add -
-echo "deb http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11 xenial main" > /etc/apt/sources.list.d/salt.list
+SALT_REPO=repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11
+if [ "$(uname -i)" = "aarch64" ]; then
+ SALT_REPO=linux.enea.com/saltstack/apt/ubuntu/16.04/arm64/2016.11
+fi
+wget -O - "https://${SALT_REPO}/SALTSTACK-GPG-KEY.pub" | sudo apt-key add -
+echo "deb http://${SALT_REPO} xenial main" > /etc/apt/sources.list.d/salt.list
apt update
apt-get install -y salt-minion
rm /etc/salt/minion_id