Emilien Macchi <emil...@redhat.com> writes: > 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
IMHO, this alone justify it. > * 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. +1 > > 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. Especially if one is using this workflow : 1. rake spec_prep and then: - rake spec_standalone; - rake spec_standalone; - rake spec_standalone; - ... So it's a one time 40 seconds. > > 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? -- Sofer Athlan-Guyot __________________________________________________________________________ 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