Resetting cloud instances [was: Current Launchpad builder layout and plans]

Martin Pitt martin.pitt at ubuntu.com
Thu Oct 29 22:35:47 UTC 2015


Hey Colin,

thanks for these updates! I have a technical question, CC'ing the ML
as this might be of more general interest.

Colin Watson [2015-10-27 17:33 +0000]:
> The guest instances are reset to a clean state between each build.
> fact, in order to minimise latency in the common case where the build
> farm is more than 0% idle, they're actually reset at the end of the
> previous build.  This means that the guest configuration has to be
> generic

For autopkgtests I have to do this all the time too, except that I do
need to support different configurations: most tests run with 1 CPU/2
GB, but some "large" tests like linux or gcc need a bigger instance.
But I can't afford to run all tests in big instances, we already have
way too little capacity as it is.

Right now I just tear down (nova delete) and rebuild (nova boot) an
instance for each test. This is reasonably fast in ScalingStack (some
30 s perhaps), but there is some quite expensive post-boot setup that
I need to do (about 1 to 2 mins), so I wondered: How do you "reset" an
instance? Is there something more efficient than delete+boot?

For xenial I build a custom image every day by dist-upgrading a wily
image and doing the package installs/purges that I need, which nicely
reduces the per-test setup cost. But there might be some
snapshot/reset feature which I missed which makes that whole thing
even faster?

Thanks!

Martin
-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)



More information about the ubuntu-devel mailing list