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

Emilien Macchi emilien at redhat.com
Tue Aug 9 17:39:03 UTC 2016


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.
- 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
- 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 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

More information about the OpenStack-dev mailing list