<div dir="ltr">Dear all,<div><br></div><div>a quick update on the current status. </div><div><br></div><div><div>Zuul has been fixed to use the correct branch for roles coming from different repositories [1].</div></div><div>The backport of the devstack patches to support multinode jobs is almost complete. All stable/queens patches are merged, stable/pike patches are almost all approved and going through the gate [2].</div><div><br></div><div>The two facts above mean that now the "devstack-tempest" base job defined in Tempest can be switched to use the "orchestrate-devstack" role and thus function as a base for multinode jobs [3].</div><div>It also means that work on writing grenade jobs in zuulv3 native format can now be resumed [4].</div><div><br></div><div>Kind regards</div><div><br></div><div>Andrea Frittoli</div><div><br></div><div>[1] <a href="http://lists.openstack.org/pipermail/openstack-dev/2018-April/129217.html">http://lists.openstack.org/pipermail/openstack-dev/2018-April/129217.html</a> </div><div>[2] <a href="https://review.openstack.org/#/q/topic:multinode_zuulv3+(status:open+OR+status:merged">https://review.openstack.org/#/q/topic:multinode_zuulv3+(status:open+OR+status:merged</a>) <br></div><div>[3] <a href="https://review.openstack.org/#/c/545724/">https://review.openstack.org/#/c/545724/</a> </div><div>[4] <a href="https://review.openstack.org/#/q/status:open+branch:master+topic:grenade_zuulv3">https://review.openstack.org/#/q/status:open+branch:master+topic:grenade_zuulv3</a> </div><br><div class="gmail_quote"><div dir="ltr">On Mon, Mar 12, 2018 at 2:08 PM Andrea Frittoli <<a href="mailto:andrea.frittoli@gmail.com" target="_blank">andrea.frittoli@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear all,<div><br></div><div>post-PTG updates:<br><div><br></div><div>- the devstack patches for multinode support are now merged on master. You can now build your multinode zuulv3 native devstack/tempest test jobs using the same base jobs as for single node, and setting a multinode nodeset. Documentation landed as well, so you can now find docs on roles [0], jobs [1] and a migration guide [2] which will show you which base jobs to start with and how to migrate those devstack-gate flags from legacy jobs to the zuul v3 jobs.</div><div><br></div><div>- the multinode patches including switching of test-matrix (on master) and start including the list of devstack services in the base jobs. In doing so I used the new neutron service names. That may be causing issues to devstack-plugins looking for old service names, so if you encounter an issue please reach out in the openstack-qa / openstack-infra rooms. We could still roll back to the old names, however the beginning of the cycle is probably the best time to sort out issues related to the new names and new logic in the neutron - devstack code. </div><div><br></div><div>Coming up next:<br></div><div><br></div><div>- backport of devstack patches to stable (queens and pike), so we can switch the Tempest job devstack multinode mode and develop grenade zuulv3 native jobs. I do not plan on backporting the new neutron names to any stable branch, let me know if there is any reason to do otherwise.</div><div>- work on grenade is at very early stages [3], so far I got devstack running successfully on stable/queens from the /opt/stack/old folder using the zuulv3 roles. Next up is actually doing the migration and running all relevant checks.</div><div><br></div><div>Andrea Frittoli (andreaf)</div><div><br></div><div>[0] <a href="https://docs.openstack.org/devstack/latest/zuul_roles.html" target="_blank">https://docs.openstack.org/devstack/latest/zuul_roles.html</a> </div><div>[1] <a href="https://docs.openstack.org/devstack/latest/zuul_jobs.html" target="_blank">https://docs.openstack.org/devstack/latest/zuul_jobs.html</a> </div><div>[2] <a href="https://docs.openstack.org/devstack/latest/zuul_ci_jobs_migration.html" target="_blank">https://docs.openstack.org/devstack/latest/zuul_ci_jobs_migration.html</a> </div><div>[3] <a href="https://review.openstack.org/#/q/status:open+branch:master+topic:grenade_zuulv3" target="_blank">https://review.openstack.org/#/q/status:open+branch:master+topic:grenade_zuulv3</a> </div></div></div><div dir="ltr"><div><div><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Feb 20, 2018 at 9:22 PM Andrea Frittoli <<a href="mailto:andrea.frittoli@gmail.com" target="_blank">andrea.frittoli@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear all,<div><br></div><div>updates:</div><div><br></div><div>- host/group vars: zuul now supports declaring host and group vars in the job definition [0][1] - thanks corvus and infra team! </div><div>  This is a great help towards writing the devstack and tempest base multinode jobs [2][3]</div><div>  * NOTE: zuul merges dict variables through job inheritance. Variables in host/group_vars override global ones. I will write some examples further clarify this.</div><div><br></div><div>- stable/pike: devstack ansible changes have been backported to stable/pike, so we can now run zuulv3 jobs against stable/pike too - thank you tosky!</div><div>  next change in progress related to pike is to provide tempest-full-pike for branchless repositories [4]</div><div><br></div><div>- documentation: devstack now publishes documentation on its ansible roles [5].</div><div>  More devstack documentation patches are in progress to provide jobs reference, examples and a job migration how-to [6].</div><div>   </div><div><div><br></div><div>Andrea Frittoli (andreaf)<br></div></div><div><br></div><div>[0] <a href="https://docs.openstack.org/infra/zuul/user/config.html#attr-job.host_vars" target="_blank">https://docs.openstack.org/infra/zuul/user/config.html#attr-job.host_vars</a> <br>[1] <a href="https://docs.openstack.org/infra/zuul/user/config.html#attr-job.group_vars" target="_blank">https://docs.openstack.org/infra/zuul/user/config.html#attr-job.group_vars</a> </div><div>[2] <a href="https://review.openstack.org/#/c/545696/" target="_blank">https://review.openstack.org/#/c/545696/</a> </div><div>[3] <a href="https://review.openstack.org/#/c/545724/" target="_blank">https://review.openstack.org/#/c/545724/</a> <br>[4] <a href="https://review.openstack.org/#/c/546196/" target="_blank">https://review.openstack.org/#/c/546196/</a> </div><div>[5] <a href="https://docs.openstack.org/devstack/latest/roles.html" target="_blank">https://docs.openstack.org/devstack/latest/roles.html</a> </div><div>[6] <a href="https://review.openstack.org/#/c/545992/" target="_blank">https://review.openstack.org/#/c/545992/</a> </div></div><div dir="ltr"><div><br><br><div class="gmail_quote"><div dir="ltr">On Mon, Feb 19, 2018 at 2:46 PM Andrea Frittoli <<a href="mailto:andrea.frittoli@gmail.com" target="_blank">andrea.frittoli@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Dear all, </div><div><br></div><div>updates:</div><div>- tempest-full-queens and tempest-full-py3-queens are now available for testing of branchless repositories [0]. They are used for tempest and devstack-gate. If you own a tempest plugin in a branchless repo, you may consider adding similar jobs to your plugin if you use it for tests on stable/queen as well.</div><div>- if you have migrated jobs based on devstack-tempest please let me know, I'm building reference docs and I'd like to include as many examples as possible</div><div>- work on multi-node is in progress, but not ready still - you can follow the patches in the multinode branch [1]</div><div>- updates on some of the points from my previous email are inline below</div><div><br></div><div>Andrea Frittoli (andreaf)</div><div><br></div><div>[0] <a href="http://git.openstack.org/cgit/openstack/tempest/tree/.zuul.yaml#n73" target="_blank">http://git.openstack.org/cgit/openstack/tempest/tree/.zuul.yaml#n73</a> </div><div>[1] <a href="https://review.openstack.org/#/q/status:open++branch:master+topic:multinode" target="_blank">https://review.openstack.org/#/q/status:open++branch:master+topic:multinode</a> </div></div><div dir="ltr"><div><br></div><div><br></div>On Thu, Feb 15, 2018 at 11:31 PM Andrea Frittoli <<a href="mailto:andrea.frittoli@gmail.com" target="_blank">andrea.frittoli@gmail.com</a>> wrote:<br></div><div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear all,<div><br></div><div>this is the first or a series of ~regular updates on the migration of Tempest / Grenade jobs to  Zuul v3 native.</div><div><br></div><div>The QA team together with the infra team are working on providing the OpenStack community with a set of base Tempest / Grenade jobs that can be used as a basis to write new CI jobs / migrate existing legacy ones with a minimal effort and very little or no Ansible knowledge as a precondition.</div><div><br></div><div>The effort is tracked in an etherpad [0]; I'm trying to keep the etherpad up to date but it may not always be a source of truth.</div><div><br></div><div>Useful jobs available so far:</div><div>- devstack-tempest [0] is a simple tempest/devstack job that runs keystone glance nova cinder neutron swift and tempest *smoke* filter</div><div>- tempest-full [1] is similar but runs a full test run - it replaces the legacy tempest-dsvm-neutron-full from the integrated gate</div><div>- tempest-full-py3 [2] runs a full test run on python3 - it replaces the legacy tempest-dsvm-py35</div></div></blockquote><div><br></div></div></div><div dir="ltr"><div class="gmail_quote"><div>Some more details on this topic: what I did not mention in my previous email is that the autogenerated Tempest / Grenade CI jobs (legacy-* playbooks) are not meant to be used as a basis for Zuul V3 native jobs. To create Zuul V3 Tempest / Grenade native jobs for your projects you need to through away the legacy playbooks and defined new jobs in .zuul.yaml, as documented in the zuul v3 docs [2].</div><div>The parent job for a single node Tempest job will usually be devstack-tempest. Example migrated jobs are avilable, for instance: [3] [4].</div><div><br></div><div>[2] <a href="https://docs.openstack.org/infra/manual/zuulv3.html#howto-update-legacy-jobs" target="_blank">https://docs.openstack.org/infra/manual/zuulv3.html#howto-update-legacy-jobs</a> </div><div>[3] <a href="http://git.openstack.org/cgit/openstack/sahara-tests/tree/.zuul.yaml#n21" target="_blank">http://git.openstack.org/cgit/openstack/sahara-tests/tree/.zuul.yaml#n21</a> </div><div>[4] <a href="https://review.openstack.org/#/c/543048/5" target="_blank">https://review.openstack.org/#/c/543048/5</a> </div></div></div><div dir="ltr"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Both tempest-full and tempest-full-py3 are part of integrated-gate templates, starting from stable/queens on.</div><div>The other stable branches still run the legacy jobs, since devstack ansible changes have not been backported (yet). If we do backport it will be up to pike maximum.</div><div><br></div><div>Those jobs work in single node mode only at the moment. Enabling multinode via job configuration only require a new Zuul feature [4][5] that should be available soon; the new feature allows defining host/group variables in the job definition, which means setting variables which are specific to one host or a group of hosts.</div><div>Multinode DVR and Ironic jobs will require migration of the ovs-* roles form devstack-gate to devstack as well.</div><div><br></div><div>Grenade jobs (single and multinode) are still legacy, even if the *legacy* word has been removed from the name.</div><div>They are currently temporarily hosted in the neutron repository. They are going to be implemented as Zuul v3 native in the grenade repository.</div><div><br></div><div>Roles are documented, and a couple of migration tips for DEVSTACK_GATE flags is available in the etherpad [0]; more comprehensive examples / docs will be available as soon as possible.</div><div><br></div><div>Please let me know if you find this update useful and / or if you would like to see different information in it.</div><div>I will send further updates as soon as significant changes / new features become available.</div><div><br></div><div>Andrea Frittoli (andreaf)</div><div><br></div><div>[0] <a href="https://etherpad.openstack.org/p/zuulv3-native-devstack-tempest-jobs" target="_blank">https://etherpad.openstack.org/p/zuulv3-native-devstack-tempest-jobs</a>  </div><div>[1] <a href="http://git.openstack.org/cgit/openstack/tempest/tree/.zuul.yaml#n1" target="_blank">http://git.openstack.org/cgit/openstack/tempest/tree/.zuul.yaml#n1</a></div><div>[2] <a href="http://git.openstack.org/cgit/openstack/tempest/tree/.zuul.yaml#n29" target="_blank">http://git.openstack.org/cgit/openstack/tempest/tree/.zuul.yaml#n29</a> </div><div>[3] <a href="http://git.openstack.org/cgit/openstack/tempest/tree/.zuul.yaml#n47" target="_blank">http://git.openstack.org/cgit/openstack/tempest/tree/.zuul.yaml#n47</a> </div><div>[4] <a href="https://etherpad.openstack.org/p/zuulv3-group-variables" target="_blank">https://etherpad.openstack.org/p/zuulv3-group-variables</a>  </div><div>[5] <a href="https://review.openstack.org/#/c/544562/" target="_blank">https://review.openstack.org/#/c/544562/</a> </div></div></blockquote></div></div></blockquote></div></div></div></blockquote></div></div></div></div></blockquote></div></div>