[CUWiN-Dev] batch upgrades
Bryan Cribbs
bdcribbs at ojctech.com
Wed Mar 23 15:34:26 CST 2005
I see, I didn't realize that. If having a granularity
of minutes rather than seconds is workable, then
shutnow -r +$REBOOTMINS
could be used, otherwise, I can revert back to the
rebootin script, unless there are other ideas.
* Bill Comisky <bcomisky at pobox.com> :
> I saw that these scripts got added to the repository, cool. The
> cuw_rebootnodes script won't work as is though, with:
>
> ssh -n root@$1 "(sleep $REBOOTSECS; /sbin/reboot) &"
>
> I tried something like that originally, but the ssh session stays open for
> REBOOTSECS instead of returning immediately. I tried a few variations,
> trying to redirect STDIN and STDOUT to /dev/null without success. Using
> the client side "rebootin" script was my inelegant fix. Maybe someone
> else knows how to fix it?
>
> bill
>
> On Tue, 15 Mar 2005, Bill Comisky wrote:
>
> >I've been using a few scripts to do batch upgrades of the testbed nodes in
> >the lab at CNT, and thought I'd share them with the list. I actually just
> >found localsrc/node-updater/*, but don't follow how it's meant to be used.
> >If there's a better way than how I'm doing it, let me know.
> >
> >The method I use requires that root be able to ssh in to the node. I'm
> >using an authorized key file called 'root' in the AUTHORIZED_KEY directory
> >to set this up password-less. Buyer beware if you have security concerns.
> >I made a slight change to /sbin/upgrade so that it reads the .tar.gz
> >upgrade from STDIN if '-' is used as the upgrade file. So then I can
> >"push" an upgrade by:
> >
> >cat upgrade.tar.gz | ssh root at nodeIP 'export PATH="/sbin:/usr/sbin:$PATH";
> >upgrade -'
> >
> >We've been using svk to mirror the CUWiN svn repository and version our
> >local changes. The attached patch I generated using 'svk diff' from the
> >src/boot-image/ subdirectory. The patch is against svn rev2884; the
> >version numbers in the patch comments are our svk repository numbers.
> >
> >The patch includes changes to:
> >
> >etc-patches/patch-sshd_config
> >extras/extraslog
> >extras/sbin/upgrade
> >
> >and these new files:
> >
> >extras/sbin/getversions
> >extras/sbin/rebootin
> >
> >Of course you have to setup your own ssh keys. The last two files are
> >helper scripts:
> >
> >getversions:
> >Returns the current and next-boot CUWiN release version and device.
> >
> >rebootin:
> >reboots the node after a given number of seconds.
> >
> >Also attached are the 3 server side wrappers scripts to cycle through node
> >IPs and run these commands. For example, on the machine hosting the
> >upgrade tarball, the full cycle might look like:
> >
> >export NODES="10.0.146.86 10.0.244.159 10.0.244.144"
> >
> ># check current and next-boot CUWiN versions
> >cuw_getversions $NODES
> >
> ># push upgrade
> >cuw_pushupgrade upgrade.tar.gz $NODES
> >
> ># check again, should show upgrade on 2nd partition
> >cuw_getversions $NODES
> >
> ># reboot the nodes 60 seconds, this is just a serial loop
> ># so leave enough time for the script to ssh in to all the nodes
> ># on the command line
> >cuw_rebootnodes 60 $NODES
> >
> >bill
> >
> >--
> >Bill Comisky
> >bcomisky at pobox.com
> >
>
> --
> Bill Comisky
> bcomisky at pobox.com
> _______________________________________________
> CU-Wireless-Dev mailing list
> CU-Wireless-Dev at lists.cuwireless.net
> http://lists.chambana.net/cgi-bin/listinfo/cu-wireless-dev
* Bill Comisky <bcomisky at pobox.com> :
> I saw that these scripts got added to the repository, cool. The
> cuw_rebootnodes script won't work as is though, with:
>
> ssh -n root@$1 "(sleep $REBOOTSECS; /sbin/reboot) &"
>
> I tried something like that originally, but the ssh session stays open for
> REBOOTSECS instead of returning immediately. I tried a few variations,
> trying to redirect STDIN and STDOUT to /dev/null without success. Using
> the client side "rebootin" script was my inelegant fix. Maybe someone
> else knows how to fix it?
>
> bill
>
> On Tue, 15 Mar 2005, Bill Comisky wrote:
>
> >I've been using a few scripts to do batch upgrades of the testbed nodes in
> >the lab at CNT, and thought I'd share them with the list. I actually just
> >found localsrc/node-updater/*, but don't follow how it's meant to be used.
> >If there's a better way than how I'm doing it, let me know.
> >
> >The method I use requires that root be able to ssh in to the node. I'm
> >using an authorized key file called 'root' in the AUTHORIZED_KEY directory
> >to set this up password-less. Buyer beware if you have security concerns.
> >I made a slight change to /sbin/upgrade so that it reads the .tar.gz
> >upgrade from STDIN if '-' is used as the upgrade file. So then I can
> >"push" an upgrade by:
> >
> >cat upgrade.tar.gz | ssh root at nodeIP 'export PATH="/sbin:/usr/sbin:$PATH";
> >upgrade -'
> >
> >We've been using svk to mirror the CUWiN svn repository and version our
> >local changes. The attached patch I generated using 'svk diff' from the
> >src/boot-image/ subdirectory. The patch is against svn rev2884; the
> >version numbers in the patch comments are our svk repository numbers.
> >
> >The patch includes changes to:
> >
> >etc-patches/patch-sshd_config
> >extras/extraslog
> >extras/sbin/upgrade
> >
> >and these new files:
> >
> >extras/sbin/getversions
> >extras/sbin/rebootin
> >
> >Of course you have to setup your own ssh keys. The last two files are
> >helper scripts:
> >
> >getversions:
> >Returns the current and next-boot CUWiN release version and device.
> >
> >rebootin:
> >reboots the node after a given number of seconds.
> >
> >Also attached are the 3 server side wrappers scripts to cycle through node
> >IPs and run these commands. For example, on the machine hosting the
> >upgrade tarball, the full cycle might look like:
> >
> >export NODES="10.0.146.86 10.0.244.159 10.0.244.144"
> >
> ># check current and next-boot CUWiN versions
> >cuw_getversions $NODES
> >
> ># push upgrade
> >cuw_pushupgrade upgrade.tar.gz $NODES
> >
> ># check again, should show upgrade on 2nd partition
> >cuw_getversions $NODES
> >
> ># reboot the nodes 60 seconds, this is just a serial loop
> ># so leave enough time for the script to ssh in to all the nodes
> ># on the command line
> >cuw_rebootnodes 60 $NODES
> >
> >bill
> >
> >--
> >Bill Comisky
> >bcomisky at pobox.com
> >
>
> --
> Bill Comisky
> bcomisky at pobox.com
> _______________________________________________
> CU-Wireless-Dev mailing list
> CU-Wireless-Dev at lists.cuwireless.net
> http://lists.chambana.net/cgi-bin/listinfo/cu-wireless-dev
More information about the CU-Wireless-Dev
mailing list