[openstack-dev] [puppet] proposal: start gating on puppet4

Emilien Macchi emilien at redhat.com
Thu Aug 11 19:24:19 UTC 2016

On Tue, Aug 9, 2016 at 1:39 PM, Emilien Macchi <emilien at redhat.com> wrote:
> Hi,
> Today Puppet OpenStack CI is running unit and functional test jobs
> against puppet 3 and puppet 4.
> Unit jobs for puppet 4 are currently voting and pretty stable.
> Functional jobs for puppet 4 are not voting but also stable.
> Even if Puppet4 has not been largely adopted by our community [1] yet,
> I would like to encourage our users to upgrade the version of Puppet.
> Fedora ships it by default [2] and for Ubuntu, it's also the default
> since yakkety [3].
> [1] https://docs.google.com/spreadsheets/d/1iIQ6YmpdOVctS2-wCV6SGPP1NSj8nKD9nv_xtZH9loY/edit?usp=sharing
> [2] http://koji.fedoraproject.org/koji/packageinfo?packageID=3529
> [3] http://packages.ubuntu.com/yakkety/puppet
> So here's my proposal, feel free to bring any feedback:
> - For stable/mitaka CI and stable/liberty nothing will change.
> - For current master (future stable/newton in a few months), transform
> non-voting puppet4 jobs into voting and add them to the gate. Also
> keep puppet3 unit tests jobs, as voting.

I have noticed this change ^ is going to consume a lot more CI jobs
and I'm not sure we want it.

> - After Newton release (during Ocata cycle), change master CI to only
> gate functional jobs on puppet4 (and remove puppet3 jobs for
> puppet-openstack-integration); but keep puppet3 unit tests jobs, as
> voting.
> - During Ocata cycle, implement a periodic job that will nightly check
> we can deploy with Puppet3. The periodic job is something our
> community interested by Puppet 3 will have to monitor and report any
> new failure so we can address it.

That's something we could even do now if nobody is against, to save CI
So we would have puppet4 jobs voting from newton and beyond, but
puppet3 jobs only in periodic pipeline...

Moving forward is a good thing but we need to continue to test puppet3
for newton, otherwise the message is too rigid for our users imho.

I'll try to find a middleground between what we want without consuming
too much resources.

> That way, we tell our users:
> - don't worry if you deploy Liberty, Mitaka, Newton, we will
> officially support Puppet 3.
> - if you plan to deploy Puppet 4, we'll officially support you
> starting from Newton.
> - if you plan to deploy Ocata with Puppet 3, we won't support you
> anymore since our functional testing jobs will be gone. Though we'll
> make our best to be backward compatible thanks to our unit  and
> periodic functional testing jobs.
> Regarding packaging:
> - on Ubuntu, we'll continue rely on what provides Puppetlabs because
> Xenial doesn't provide Puppet4.
> - on CentOS7, we are working on getting Puppet 4 packaged in RDO and
> our CI will certainly use it.
> Any feedback is welcome,
> --
> Emilien Macchi

Emilien Macchi

More information about the OpenStack-dev mailing list