Background ========== Current rspec tests are tested with modules mentioned in .fixtures.yaml file of each module.
* the file is not consistent across all modules * it hardcodes module names & versions * this way does not allow to use "Depend-On" feature, that would allow to test cross-modules patches Proposal ======== * Like we do in beaker & integration jobs, use zuul-cloner to clone modules in our CI jobs. * Use r10k to prepare fixtures modules. * Use Puppetfile hosted by openstack/puppet-openstack-integration In that way: * we will have modules name + versions testing consistency across all modules * the same Puppetfile would be used by unit/beaker/integration testing. * the patch that pass tests on your laptop would pass tests in upstream CI * if you don't have zuul-cloner on your laptop, don't worry it will use git clone. Though you won't have Depends-On feature working on your laptop (technically not possible). * Though your patch will support Depends-On in OpenStack Infra for unit tests. If you submit a patch in puppet-openstacklib that drop something wrong, you can send a patch in puppet-nova that will test it, and unit tests will fail. Drawbacks ========= * cloning from .fixtures.yaml takes ~ 10 seconds * using r10k + zuul-clone takes ~50 seconds (more modules to clone). I think 40 seconds is something accept regarding the benefit. Next steps ========== * PoC in puppet-nova: https://review.openstack.org/#/c/226830/ * Patch openstack/puppet-modulesync-config to be consistent across all our modules. Bonus ===== we might need (asap) a canary job for puppet-openstack-integration repository, that would run tests on a puppet-* module (since we're using install_modules.sh & Puppetfile files in puppet-* modules). Nothing has been done yet for this work. Thoughts? -- Emilien Macchi
signature.asc
Description: OpenPGP digital signature
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev