Hello Fuelers,

There is more and more Python code appearing in fuel-library [1] that is
used in our Puppet manifests. Now, with introduction of Granular Deployment
feature it could appear more often as
writing some tasks as a Python script is a nice option.

First problem that I see is that in some cases this code is getting merged
without a positive review from a Python developer from Fuel team.
My proposition of the solution is simple:
fuel-library core reviewers shouldn't merge such code if there is no a +1
from a Python developer from fuel-core group [2].

Second problem is that there are no automatic tests for this code. Testing
it manually and by running deployment when that code is used is not enough
since those scripts could be quite large and complicated and some of them
are executed in specific situations so it is hard for reviewers to check
how they will work.
In fuel-library we already have tests for Puppet modules: [3].
I suggest that we should introduce similar checks for Python code:
 - there will be one global 'test-requirements.txt' file (if there will be
a need to, we could introduce more granular split, like per module)
 - py.test [4] will be used as a test runner
 - (optional, but advised) flake8+hacking checks [5] (could be limited to
just run flake8/pyflakes checks)

Looking forward to your opinions on those two issues.


[1] https://github.com/stackforge/fuel-library/search?l=python
[2] https://review.openstack.org/#/admin/groups/209,members
[3] https://fuel-jenkins.mirantis.com/job/fuellib_unit_tests/
[4] http://pytest.org/latest/
[5] https://github.com/openstack-dev/hacking
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe

Reply via email to