[all] Long overdue cleanups of Zuulv2 compatibility base configs
As part of our transition to Zuulv3 a year and a half ago, we carried over some compatibility tooling that we would now like to clean up. Specifically, we add a zuul-cloner (which went away in zuulv3) shim and set a global bindep fallback file value in all jobs. Zuulv3 native jobs are expected to use the repos zuul has precloned for you (no zuul-cloner required) as well as supply an in repo bindep.txt (or specify a bindep.txt path or install packages via some other method). This means that we should be able to remove both of these items from the non legacy base job in OpenDev's zuul. The legacy base job will continue to carry these for you so that you can write new native jobs over time. We have two changes [0][1] ready to go for this; however, due to the potential for disruption we would like to give everyone some time to test and prepare for this change. Fungi has a change to base-test [2] which will remove the zuul-cloner shim. Once this is in you can push "Do Not Merge" changes to your zuul config that reparent your tests from "base" to "base-test" and that will run the jobs without the zuul-cloner shim. Testing the bindep fallback removal is a bit more difficult as we set that in zuul's server config globally. What you can do is check your jobs' job-output.txt log files for usage of "bindep-fallback.txt". Our current plan is to merge these changes on June 24, 2019. We will be around to help debug any unexpected issues that come up. Jobs can be updated to use the "legacy-base" base job instead of the "base" base job if they need to be reverted to the old behavior quickly. Finally, Fungi did some excellent spelunking through history to understand how we got here. If you are curious you can find more details at: http://lists.openstack.org/pipermail/openstack-discuss/2019-June/006881.html. [0] https://review.opendev.org/656195 [1] https://review.opendev.org/663151 [2] https://review.opendev.org/663135 Clark
On 6/4/2019 5:45 PM, Clark Boylan wrote:
Once this is in you can push "Do Not Merge" changes to your zuul config that reparent your tests from "base" to "base-test" and that will run the jobs without the zuul-cloner shim.
The nova dsvm jobs inherit from legacy-dsvm-base which doesn't have a parent (it's abstract). Given that, how would I go about testing this change on the nova legacy jobs? -- Thanks, Matt
On 2019-06-07 11:01:36 -0500 (-0500), Matt Riedemann wrote: [...]
The nova dsvm jobs inherit from legacy-dsvm-base which doesn't have a parent (it's abstract). Given that, how would I go about testing this change on the nova legacy jobs?
Sorry, I meant to get shim changes up yesterday for making this easier to test. Now you can add: Depends-On: https://review.opendev.org/663996 -- Jeremy Stanley
On 2019-06-04 22:45:58 +0000 (+0000), Clark Boylan wrote:
As part of our transition to Zuulv3 a year and a half ago, we carried over some compatibility tooling that we would now like to clean up. Specifically, we add a zuul-cloner (which went away in zuulv3) shim and set a global bindep fallback file value in all jobs. Zuulv3 native jobs are expected to use the repos zuul has precloned for you (no zuul-cloner required) as well as supply an in repo bindep.txt (or specify a bindep.txt path or install packages via some other method).
This means that we should be able to remove both of these items from the non legacy base job in OpenDev's zuul. The legacy base job will continue to carry these for you so that you can write new native jobs over time. We have two changes [0][1] ready to go for this; however, due to the potential for disruption we would like to give everyone some time to test and prepare for this change. Fungi has a change to base-test [2] which will remove the zuul-cloner shim. Once this is in you can push "Do Not Merge" changes to your zuul config that reparent your tests from "base" to "base-test" and that will run the jobs without the zuul-cloner shim.
Testing the bindep fallback removal is a bit more difficult as we set that in zuul's server config globally. What you can do is check your jobs' job-output.txt log files for usage of "bindep-fallback.txt".
Our current plan is to merge these changes on June 24, 2019. We will be around to help debug any unexpected issues that come up. Jobs can be updated to use the "legacy-base" base job instead of the "base" base job if they need to be reverted to the old behavior quickly. [...] [0] https://review.opendev.org/656195 [1] https://review.opendev.org/663151 [2] https://review.opendev.org/663135
This is just a reminder that the above work to remove the zuul-cloner shim and bindep fallback package list from non-legacy jobs will be merged some time on Monday, June 24 (just the other side of this coming weekend). Per other messages in this thread you can test the zuul-cloner shim removal for particular jobs you're concerned about with "Depends-On: https://review.opendev.org/663996" or by creating a similar do-not-merge sort of change to parent your custom job definitions on the base-test job. Obvious uncaught breakage to look out for on Monday will be failures revolving around "command not found" errors for zuul-cloner or other commands which may have been provided by one of the packages in the <URL: https://opendev.org/openstack/project-config/src/commit/e2100145fe507f75e543... > list. -- Jeremy Stanley
On 2019-06-20 19:58:49 +0000 (+0000), Jeremy Stanley wrote:
As part of our transition to Zuulv3 a year and a half ago, we carried over some compatibility tooling that we would now like to clean up. Specifically, we add a zuul-cloner (which went away in zuulv3) shim and set a global bindep fallback file value in all jobs. Zuulv3 native jobs are expected to use the repos zuul has precloned for you (no zuul-cloner required) as well as supply an in repo bindep.txt (or specify a bindep.txt path or install packages via some other method).
This means that we should be able to remove both of these items from the non legacy base job in OpenDev's zuul. The legacy base job will continue to carry these for you so that you can write new native jobs over time. We have two changes [0][1] ready to go for this [...] Our current plan is to merge these changes on June 24, 2019. We will be around to help debug any unexpected issues that come up. Jobs can be updated to use the "legacy-base" base job instead of the "base" base job if they need to be reverted to the old behavior quickly. [...] [0] https://review.opendev.org/656195 [1] https://review.opendev.org/663151 [...] Obvious uncaught breakage to look out for on Monday will be failures revolving around "command not found" errors for zuul-cloner or other commands which may have been provided by one of the packages in the <URL: https://opendev.org/openstack/project-config/src/commit/e2100145fe507f75e543... >
On 2019-06-04 22:45:58 +0000 (+0000), Clark Boylan wrote: list.
As announced, these two changes have now merged. Please don't hesitate to let us know if you require any assistance working through suspected fallout from either or both. -- Jeremy Stanley
participants (3)
-
Clark Boylan
-
Jeremy Stanley
-
Matt Riedemann