From 8a1ca01f44b545c9604deb0176f7cc124ff44497 Mon Sep 17 00:00:00 2001 From: Chiradeep Vittal Date: Thu, 27 Jan 2011 17:25:08 -0800 Subject: [PATCH] Bug 8199: insert generated private key where it is expected --- .../vm/hypervisor/xenserver/xenserver56/patch | 2 +- .../hypervisor/xenserver/xenserver56fp1/patch | 2 +- scripts/vm/systemvm/injectkeys.sh | 25 ++++++++++++++----- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/scripts/vm/hypervisor/xenserver/xenserver56/patch b/scripts/vm/hypervisor/xenserver/xenserver56/patch index 546631e523f..944962b6b37 100644 --- a/scripts/vm/hypervisor/xenserver/xenserver56/patch +++ b/scripts/vm/hypervisor/xenserver/xenserver56/patch @@ -15,7 +15,7 @@ vmops=..,0755,/etc/xapi.d/plugins vmopsSnapshot=..,0755,/etc/xapi.d/plugins hostvmstats.py=..,0755,/opt/xensource/sm systemvm.iso=../../../../../vms,0644,/opt/xensource/packages/iso -id_rsa.cloud=..,0600,/root/.ssh +id_rsa.cloud=../../../systemvm,0600,/root/.ssh network_info.sh=..,0755,/opt/xensource/bin setupxenserver.sh=..,0755,/opt/xensource/bin make_migratable.sh=..,0755,/opt/xensource/bin diff --git a/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch b/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch index 9bc7f0a9d69..9f7c0d0d193 100644 --- a/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch +++ b/scripts/vm/hypervisor/xenserver/xenserver56fp1/patch @@ -17,7 +17,7 @@ ovstunnel=..,0755,/etc/xapi.d/plugins vmopsSnapshot=..,0755,/etc/xapi.d/plugins hostvmstats.py=..,0755,/opt/xensource/sm systemvm.iso=../../../../../vms,0644,/opt/xensource/packages/iso -id_rsa.cloud=..,0600,/root/.ssh +id_rsa.cloud=../../../systemvm,0600,/root/.ssh network_info.sh=..,0755,/opt/xensource/bin setupxenserver.sh=..,0755,/opt/xensource/bin make_migratable.sh=..,0755,/opt/xensource/bin diff --git a/scripts/vm/systemvm/injectkeys.sh b/scripts/vm/systemvm/injectkeys.sh index c18795d23a3..f48abcbafee 100755 --- a/scripts/vm/systemvm/injectkeys.sh +++ b/scripts/vm/systemvm/injectkeys.sh @@ -1,6 +1,7 @@ #!/bin/bash - -# $1 = new key +# Copies keys that enable SSH communication with system vms +# $1 = new public key +# $2 = new private key #set -x @@ -10,7 +11,7 @@ MOUNTPATH=/mnt/cloud/systemvm TMPDIR=${TMP}/cloud/systemvm -inject() { +inject_into_iso() { local isofile=${SYSTEMVM_PATCH_DIR}/$1 local newpubkey=$2 local backup=${isofile}.bak @@ -36,16 +37,28 @@ inject() { rm -rf $TMPDIR } +copy_priv_key() { + local newprivkey=$1 + cp -fb $newprivkey $(dirname $0)/id_rsa.cloud && chmod 0600 $(dirname $0)/id_rsa.cloud + return $? +} + mkdir -p $MOUNTPATH -[ $# -ne 1 ] && echo "Usage: $(basename $0) " && exit 3 +[ $# -ne 2 ] && echo "Usage: $(basename $0) " && exit 3 newpubkey=$1 +newprivkey=$2 [ ! -f $newpubkey ] && echo "$(basename $0): Could not open $newpubkey" && exit 3 +[ ! -f $newprivkey ] && echo "$(basename $0): Could not open $newprivkey" && exit 3 [ $EUID -ne 0 ] && echo "$(basename $0): You have to be root to run this script" && exit 3 command -v mkisofs > /dev/null || (echo "$(basename $0): mkisofs not found, please install or ensure PATH is accurate" ; exit 4) -inject systemvm.iso $newpubkey -#inject systemvm-premium.iso $newpubkey +inject_into_iso systemvm.iso $newpubkey +#inject_into_iso systemvm-premium.iso $newpubkey + +[ $? -ne 0 ] && exit 5 + +copy_priv_key $newprivkey exit $?