[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