On Fri, Feb 6, 2009 at 11:01 AM, Michael DeHaan mdehaan@redhat.com wrote:
jeffschroed@gmail.com wrote:
From: Jeff Schroeder jeffschroeder@computer.org
The original idea is from Garrick Staples @ USC. My implementation is designed to work on crazy raid controllers like in HP servers that show /dev/cciss/c0d0 or normal servers that show /dev/sda. This assumes that the list-harddrives command is available. It is part of anaconda and might not be available on SUSE or other non Redhat based distributions.
Signed-off-by: Jeff Schroeder jeffschroeder@computer.org
snippets/keep_ssh_host_keys | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 44 insertions(+), 0 deletions(-) create mode 100644 snippets/keep_ssh_host_keys
diff --git a/snippets/keep_ssh_host_keys b/snippets/keep_ssh_host_keys new file mode 100644 index 0000000..93a6fad --- /dev/null +++ b/snippets/keep_ssh_host_keys @@ -0,0 +1,44 @@ +#raw +# Nifty trick to restore ssh keys without using a nochroot %post
+echo "Saving ssh host keys..." > /dev/ttyS0
+keys_found=no
+insmod /lib/jbd.o +insmod /lib/ext3.o
+drives=$(list-harddrives | awk '{print $1}') +for disk in $drives; do
- DISKS="$DISKS $(fdisk -l /dev/$disk | awk '/^/dev/{print $1}')"
+done
+for disk in $DISKS; do
- name=$(basename $disk)
- mkdir -p /tmp/$name /tmp/ssh
- mount $disk /tmp/$name
- [ $? -eq 0 ] || continue # Skip to the next partition if the mount
fails
- # Copy current ssh host keys out to be reused
- if [ -d /tmp/${name}/etc/ssh ]; then
cp -a /tmp/${name}/etc/ssh/ssh_host* /tmp/ssh
keys_found="yes"
umount /tmp/$name
break
- fi
- umount /tmp/$name
- rm -r /tmp/$name
+done
+# Loop until the ssh rpm is installed +if [ "$keys_found" = "yes" ]; then
- while : ; do
sleep 10
if [ -d /mnt/sysimage/etc/ssh ] ; then
cp -f /tmp/ssh/ssh_host* /mnt/sysimage/etc/ssh/
logger "SSH-HOST-KEY copied to newly installed system"
break
fi
- done &
+fi +#end
Applied to devel, thanks!
Perhaps my git-foo is lacking or something is missing :)
jeff@jschroeder2:~/git/cobbler$ git show 8d176c4075fbc8ad0fe534611cf8d1e920d40ac4 commit 8d176c4075fbc8ad0fe534611cf8d1e920d40ac4 Author: Michael DeHaan mdehaan@redhat.com Date: Fri Feb 6 14:00:57 2009 -0500
Jeff Schroeder's patch to provide a "preserve SSH host keys between installs" snippet.
diff --git a/AUTHORS b/AUTHORS index 92e9722..ab1638f 100644 --- a/AUTHORS +++ b/AUTHORS @@ -51,6 +51,7 @@ Patches and other contributions from: Jeremy Rosengren jeremy@rosengren.org Adam Rosenwald thestrider@gmail.com Satoru Satoh ssato@redhat.com + Jeff Schroeder jeffschroeder@computer.org Scott Seago sseago@redhat.com Justin Sherill jsherril@redhat.com Anderson Silva ansilva@redhat.com
jeff@jschroeder2:~/git/cobbler$