[OpenStack-Infra] Infra priorities and spec cleanup

Antoine Musso hashar at free.fr
Mon Jun 6 22:27:17 UTC 2016


On 06/06/16 01:21, Jeremy Stanley wrote:
> Use Diskimage Builder in Nodepool
> ---------------------------------
>
> http://specs.openstack.org/openstack-infra/infra-specs/specs/dib-nodepool.html
>
> As I understand it, this is complete except for TripleO's images
> (yes, irony since DIB is itself a TripleO team project). We'd like
> to be able to deprecate and eventually remove snapshot support in
> nodepool, so I think this stays on the priority list until TripleO
> is no longer an issue (fixed or switched to being a third-party CI
> system).

Hello,

Sorry if I come late in the party, I rely on Nodepool snapshot feature 
to polish up images. I have even hit a wall recently attempting to use 
puppet to provision a service that can not always be done in a chroot or 
be to slow to do at instance boot time.

If I understand the spec properly, snapshotting would no more be needed 
to have a proper image, but you might still want to keep it to polish it 
up in the context of the image (ie within an instance).  If that is 
heavy enough, it is lighter to do it once in a snapshot than on each 
instance booting.


Andreas Florath and Greg Haynes pointed out that upstart / init scripts 
in a chroot is usually a no/no
https://review.openstack.org/#/c/322305/

That could be done on first boot of an instance but when using puppet 
you would bring up a class that install various packages among the 
service.  That in turns means redundant operations occurring for each 
instance boot, consume extra disk on compute nodes and push back the 
delay before a node is ready in Jenkins/Nodepool.


For the context:

Wikimedia has an OpenStack cluster with images that are not suitable for 
CI for a variety of reasons.  I have thus used DIB to create an image 
from scratch that has all the material.  Right now the snapshot part is 
merely to update and dist-upgrade, refresh the git mirrors and refresh 
puppet.   But I would definitely have a use case to bring on services at 
snapshot time instead of at instance boot, merely because their set of 
dependencies is long and heavy to install.

My aim is really to have the instance to spin on as fast as possible, 
currently less than a minute between Nodepool asking for an instance and 
it being ready/added to Jenkins. A reason is our cluster and pool are 
smalls, our jobs are mostly sub minutes jobs and we have disk constraints.


Good to see you are going to provision your own images. Would surely 
make life easier for OpenStack 3rd parties which might well just load 
those references images instead of buidling their own, and I am sure one 
can wrap them with Vagrant for developers usage.



-- 
Antoine Musso



More information about the OpenStack-Infra mailing list