On Thu, 2010-07-29 at 19:55 -0400, Ben Browning wrote: > ----- "David Lutterkort" <[email protected]> wrote: > > > > For my education, can you detail how exactly you use that in > > CoolingTower ? Especially, how many files and how big they are ? > > Right now we use this to deploy the user's war files to our AS > instances. We ssh into the box and stop the deployment scanner, scp > the file, then ssh back in and restart the deployment scanner. At some > point we'll probably also want to setup SSH tunnels to some of the > instances but don't immediately have a need for it. > > > Of course, this whole thing makes me a bit queasy, since we are deep > > into stateful territory here; as long as API users understand that > > each > > of these calls may partially fail, it should be ok though. > > Stateful in what way? If you're referring to keypairs, we are prepared > to pass that in on every call. Since keypairs are EC2-specific, what > if the run_command expected an authentication token as a parameter and > that value was interpreted appropriately via each driver? So, this > would be the root password on Rackspace and the keypair on EC2.
It's always possible that somebody restarts the Deltacloud server in the middle of an operation, or pulls the power plug, or Deltacloud loses network to the backend cloud. Because Deltacloud is stateless, it will not remember any of what it did before then. If you copy multiple files with one API call, Deltacloud might only get to copying one of them. If you run a command in such a situation, you'll have no idea if the command got send to the instance, whether it succeeded or failed etc. You can work around that by making sure all your commands are idempotent, but it's something you need to keep in mind. David
