---- On Fri, 22 Feb 2019 02:55:35 +0900 Clark Boylan <cboylan@sapwetik.org> wrote ----
On Thu, Feb 21, 2019, at 9:26 AM, Boden Russell wrote:
Question: What's the proper way to install "siblings" [1] in devstack based zuul v3 jobs for projects that also require the siblings via requirements.txt?
Background: Following the zuul v3 migration guide for "sibling requirements" [1] works fine for non-devstack based jobs. However, jobs that use devstack must take other measures to install those siblings in their playbooks.
Based on what I see projects like oslo.messaging doing for cross testing, they are using the PROJECTS env var to specify the siblings in their playbook (example [2]). This approach may work if those siblings are not in requirements.txt, but for projects that also require the siblings at runtime (in requirements.txt) it appears the version from the requirements.txt is used rather than the sibling's source.
By default devstack installs "libraries" (mostly things listed in requirements files) from pypi to ensure that our software works with released libraries. However, it is often important to also test that the next version of our own libraries will work with existing software. For this devstack has the LIBS_FROM_GIT [5] variable which overrides the install via pypi behavior.
Note that I believe you must handle this flag in your devstack plugins.
In addition to what Clark mentioned, all repo defined in "required-projects" variable in zuul v3 job gets appended to devstack's LIBS_FROM_GIT variable by default. -gmann
For example the changes in [3][4].
Thanks
[1] https://docs.openstack.org/infra/manual/zuulv3.html#installation-of-sibling-... [2] https://github.com/openstack/oslo.messaging/blob/master/playbooks/oslo.messa... [3] https://review.openstack.org/#/c/638099 [4] http://logs.openstack.org/99/638099/6/check/tricircle-functional/0b34687/log...
[5] https://docs.openstack.org/devstack/latest/development.html#testing-changes-...