From fa1e7d4097a3ec7b828a775832e6e86b48b426bd Mon Sep 17 00:00:00 2001 From: shangxdy Date: Thu, 25 May 2017 15:43:13 +0800 Subject: [PATCH] Fix ZUUL_USER_SSH_PUBLIC_KEY to support ssh key content Currently ZUUL_USER_SSH_PUBLIC_KEY must be a key file, but there is no change to create the key file, so it not convenient for building a image with diskimage-builder, this patch makes it possible to set ssh public key through ZUUL_USER_SSH_PUBLIC_KEY in envirement(e.g. diskimage configuration in nodepool.yaml ). Change-Id: I83ef3d2e5ff5c3951ecf7036c46d0d8a68871e0c Signed-off-by: shangxdy --- .../elements/zuul-worker/extra-data.d/60-zuul-user | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/nodepool/elements/zuul-worker/extra-data.d/60-zuul-user b/nodepool/elements/zuul-worker/extra-data.d/60-zuul-user index 1795ed846d..aa1eb9457b 100755 --- a/nodepool/elements/zuul-worker/extra-data.d/60-zuul-user +++ b/nodepool/elements/zuul-worker/extra-data.d/60-zuul-user @@ -8,9 +8,12 @@ set -o pipefail ZUUL_USER_SSH_PUBLIC_KEY=${ZUUL_USER_SSH_PUBLIC_KEY:-$HOME/.ssh/id_rsa.pub} -if [ ! -f $ZUUL_USER_SSH_PUBLIC_KEY ]; then +if [ -f "$ZUUL_USER_SSH_PUBLIC_KEY" ]; then + # save the public key inside the chroot from specific file + cat $ZUUL_USER_SSH_PUBLIC_KEY >> $TMP_HOOKS_PATH/zuul-user-ssh-public-key +elif [ -n "$ZUUL_USER_SSH_PUBLIC_KEY" ]; then + # save the specific public key inside the chroot from env derectly + echo "$ZUUL_USER_SSH_PUBLIC_KEY" >> $TMP_HOOKS_PATH/zuul-user-ssh-public-key +else die "Can not find public key for zuul user!" fi - -# save the public key inside the chroot -cat $ZUUL_USER_SSH_PUBLIC_KEY >> $TMP_HOOKS_PATH/zuul-user-ssh-public-key