On Tue, Jun 28, 2016 at 01:23:25PM -0700, Clark Boylan wrote: > It is an even year again which means there is a new Ubuntu LTS release > out (Xenial). We currently have Xenial images building and uploaded and > the Openstack Ansible and Openstack Puppet groups are both taking > advantage of them. Our "base" set of devstack jobs also seem happy on > Xenial as well (see the experimental results on > https://review.openstack.org/#/c/330835/1). All this to say I think we > are ready to do the big switch and get everyone running on Xenial by > default. > > The tough part of this switch is that we will want to continue running > stable/liberty and stable/mitaka jobs on Trusty and restrict Xenial to > master (Newton) and future branches. Now if we want > gate-tempest-dsvm-full to run on Trusty nodes for stable branches and > Xenial for master we need some way of signaling that between gearman > client and workers. I think we have two options for doing this (but > really hope I am overlooking something because I am not super happy with > these options). > > The first is we can do what we did for the Precise/Trusty split. We used > zuul parameter functions to set the node type based on the branch the > build was for. This meant by default everything on old stable went to > precise and everything on newer branches went to Trusty. If you wanted > to do anything else like run on CentOS or Fedora then you had to have an > explicit override in that parameter function. You can see what that > looks like in the change that removed it, > https://review.openstack.org/#/c/260214/. > > The big downside to this option is it created confusion for people not > realizing they need explicit override to break out of the default > Precise/Trusty or Trusty/Xenial split. The upside to this is we can > define each job once and for many jobs/projects/individuals they never > have to think about where the job will run, it is handled for them > properly. > > The other option is we can explicitly tie every job to a specific node > type. This means gate-tempest-dsvm-full becomes > gate-tempest-dsvm-full-trusty and gate-tempest-dsvm-full-xenial (or > similar). Then in the zuul layout we default to running old stable > against any job ending in -trusty and run master against any job ending > in -xenial. I have mocked this up in > https://review.openstack.org/335166. > Just to follow up on list, I like this approach, we do it for ansible / puppet jobs today. I would like to use gate-tempest-dsvm-full-ubuntu-xenial and gate-tempest-dsvm-full-ubuntu-trusty as it is more inline with existing job name formats currently. It also lets us do gate-tempest-dsvm-full-centos-7 and gate-tempest-dsvm-full-debian-jessie if needed.
> The downside here is we double our total number of jobs (though we do > not double the number of gearman job registrations since gearman will > register a job per node type regardless of option used). It is also much > more explicit and will likely require a greater understanding of our job > configs to edit them (this isn't all bad, where things used to mostly > work before by magic they will now work by explicit design). > > I would like to start transitioning jobs to Xenial soon so feedback on > this is appreciated. Also if you can come up with better options I would > love to hear about them as I am not entirely happy about the options > above. > > Thank you, > Clark > > _______________________________________________ > OpenStack-Infra mailing list > [email protected] > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra _______________________________________________ OpenStack-Infra mailing list [email protected] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra
