diff options
Diffstat (limited to 'mcp')
-rw-r--r-- | mcp/patches/Makefile | 2 | ||||
-rw-r--r-- | mcp/patches/scripts/0001-salt-master-setup.sh-Allow-arm64-salt-bootstrap.patch | 51 | ||||
-rw-r--r-- | mcp/scripts/lib.sh | 3 | ||||
-rwxr-xr-x | mcp/scripts/salt.sh | 4 | ||||
-rw-r--r-- | mcp/scripts/user-data.template | 8 |
5 files changed, 64 insertions, 4 deletions
diff --git a/mcp/patches/Makefile b/mcp/patches/Makefile index 061c647e6..dc87832b8 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..20e17c6ca --- /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 cba21fb..0dd3036 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 + +@@ -310,10 +310,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/lib.sh b/mcp/scripts/lib.sh index 3f740589d..67c960a6e 100644 --- a/mcp/scripts/lib.sh +++ b/mcp/scripts/lib.sh @@ -41,7 +41,8 @@ prepare_vms() { cleanup_vms get_base_image "${base_image}" - envsubst < user-data.template > user-data.sh + envsubst '${SALT_MASTER},${CLUSTER_DOMAIN}' < \ + user-data.template > user-data.sh for node in "${vnodes[@]}"; do # create/prepare images diff --git a/mcp/scripts/salt.sh b/mcp/scripts/salt.sh index 8a7545db8..4fa54ab1c 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 |