[openstack-dev] [puppet] vision on new modules

Matt Fischer matt at mattfischer.com
Tue Jun 14 03:16:28 UTC 2016


On Wed, Jun 8, 2016 at 2:42 PM, Emilien Macchi <emilien at redhat.com> wrote:

> Hi folks,
>
> Over the last months we've been creating more and more modules [1] [2]
> and I would like to take the opportunity to continue some discussion
> we had during the last Summits about the quality of our modules.
>
> [1] octavia, vitrage, ec2api, tacker, watcher, congress, magnum,
> mistral, zaqar, etc.
> [2] by the end of Newton, we'll have ~ 33 Puppet modules !
>
> Announce your work
> As a reminder, we have defined a process when adding new modules:
> http://docs.openstack.org/developer/puppet-openstack-guide/new-module.html
> This process is really helpful to scale our project and easily add modules.
> If you're about to start a new module, I suggest you to start this
> process and avoid to start it on your personal github, because you'll
> loose the valuable community review on your work.
>
> Iterate
> I've noticed some folks pushing 3000 LOC in Gerrit when adding the
> bits for new Puppet modules (after the first cookiecutter init).
> That's IMHO bad, because it makes reviews harder, slower and expose
> the risk of missing something during the review process. Please write
> modules bits by bits.
> Example: start with init.pp for common bits, then api.pp, etc.
> For each bit, add its unit tests & functional tests (beaker). It will
> allow us to write modules with good design, good tests and good code
> in general.
>
> Write tests
> A good Puppet module is one that we can use to successfully deploy an
> OpenStack service. For that, please add beaker tests when you're
> initiating a module. Not at the end of your work, but for every new
> class or feature.
> It helps to easily detect issues that we'll have when running Puppet
> catalog and quickly fix it. It also helps community to report feedback
> on packaging, Tempest or detect issues in our libraries.
> If you're not familiar with beaker, you'll see in existing modules
> that there is nothing complicated, we basically write a manifest that
> will deploy the service.
>
>
> If you're new in this process, please join our IRC channel on freenode
> #puppet-openstack and don't hesitate to poke us.
>
> Any feedback / comment is highly welcome,
> Thanks,
> --
> Emilien Macchi
>
>
I like the ideas, especially about 3000 line commits. I started with your
tips and added them to the docs:

 https://review.openstack.org/329253 Document Emilien's tips for new
modules
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160613/e60bfa70/attachment.html>


More information about the OpenStack-dev mailing list