<html><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head><body style="font-family: tt;" bgcolor="#FFFFFF" text="#000000"><div
 style="font-family: tt;">James Penick wrote:<blockquote 
cite="mid:276183950.3702242.1424888480614.JavaMail.yahoo@mail.yahoo.com"
 type="cite"><div class="moz-text-html" lang="x-unicode"><div 
style="color:#000; background-color:#fff; font-family:lucida console, 
sans-serif;font-size:10px"><div dir="ltr" 
id="yui_3_16_0_1_1424719722593_777884"><span 
id="yui_3_16_0_1_1424719722593_777909">Hey folks,</span></div><div 
dir="ltr" id="yui_3_16_0_1_1424719722593_777882"><span 
id="yui_3_16_0_1_1424719722593_777881"> I
 have a team that uses our OpenStack VM and BM clusters in their CI and 
CD environments (And yes, they really do need baremetal for some of 
their CI tests, unless I want to support gigantifriggenormous VM 
flavors). </span></div><div dir="ltr" 
id="yui_3_16_0_1_1424719722593_777882"><span><br></span></div><div 
dir="ltr" id="yui_3_16_0_1_1424719722593_777882"><span 
id="yui_3_16_0_1_1424719722593_782754"> CI
 on baremetal works ok, however the time it takes to image the host 
prior to running the tests slows down their whole CI pipeline. What they
 want to do is boot </span></div><div dir="ltr" 
id="yui_3_16_0_1_1424719722593_777882"><span 
id="yui_3_16_0_1_1424719722593_782930">instances
 in advance then as needed select an unused instance and execute their 
CI job on it. Upon completion of their CI job they'd like to reimage the
 host and return it to an "unused" state. </span></div><div dir="ltr" 
id="yui_3_16_0_1_1424719722593_777882"><br></div><div dir="ltr" 
id="yui_3_16_0_1_1424719722593_777882"> I
 came up with something using instance names as an atomic-ish means of 
managing state. But it's pretty hacky. Before I go off and have to build
 a new webservice myself, has anyone heard of a tool that does something
 like this already? </div><div dir="ltr" 
id="yui_3_16_0_1_1424719722593_777882"><br></div><div dir="ltr" 
id="yui_3_16_0_1_1424719722593_777882">thanks!</div><div dir="ltr" 
id="yui_3_16_0_1_1424719722593_777882">-James</div><div 
id="yui_3_16_0_1_1424719722593_777883"> </div><div 
id="yui_3_16_0_1_1424719722593_777911"><div 
id="yui_3_16_0_1_1424719722593_777910">:)=</div></div></div></div></blockquote>James,<br><br>Here
 at Puppet, we've built a tool called 'vmpooler' which performs this 
function[1]. Currently it is written to work primarily with VMware, but 
we are very interested in extending it such that we could have pluggable
 backends (perhaps even on a per-pool basis).<br><br>Please feel free to
 take a look, fork, and modify. Of course, PRs are always welcome. =]<br><br>Regards,<br><br>Richard
 Raseley<br><br>SysOps Engineer<br>Puppet Labs<br><br>[1] - 
<a class="moz-txt-link-freetext" href="https://github.com/puppetlabs/vmpooler">https://github.com/puppetlabs/vmpooler</a><br></div></body></html>