[openstack-dev] [all][requirements] a plan to stop syncing requirements into projects

Doug Hellmann doug at doughellmann.com
Mon May 14 12:52:08 UTC 2018


Excerpts from Doug Hellmann's message of 2018-03-25 16:04:11 -0400:
> Excerpts from Doug Hellmann's message of 2018-03-22 16:16:06 -0400:
> > Excerpts from Doug Hellmann's message of 2018-03-21 16:02:06 -0400:
> > > Excerpts from Doug Hellmann's message of 2018-03-15 07:03:11 -0400:
> > > > 
> > > > TL;DR
> > > > -----
> > > > 
> > > > Let's stop copying exact dependency specifications into all our
> > > > projects to allow them to reflect the actual versions of things
> > > > they depend on. The constraints system in pip makes this change
> > > > safe. We still need to maintain some level of compatibility, so the
> > > > existing requirements-check job (run for changes to requirements.txt
> > > > within each repo) will change a bit rather than going away completely.
> > > > We can enable unit test jobs to verify the lower constraint settings
> > > > at the same time that we're doing the other work.
> > > 
> > > The new job definition is in https://review.openstack.org/555034 and I
> > > have updated the oslo.config patch I mentioned before to use the new job
> > > instead of one defined in the oslo.config repo (see
> > > https://review.openstack.org/550603).
> > > 
> > > I'll wait for that job patch to be reviewed and approved before I start
> > > adding the job to a bunch of other repositories.
> > > 
> > > Doug
> > 
> > The job definition for openstack-tox-lower-constraints [1] was approved
> > today (thanks AJaegar and pabelenger).
> > 
> > I have started proposing the patches to add that job to the repos listed
> > in openstack/requirements/projects.txt using the topic
> > "requirements-stop-syncing" [2]. I hope to have the rest of those
> > proposed by the end of the day tomorrow, but since they have to run in
> > batches I don't know if that will be possible.
> > 
> > The patch to remove the update proposal job is ready for review [3].
> > 
> > As is the patch to allow project requirements to diverge by changing the
> > rules in the requirements-check job [4].
> > 
> > We ran into a snag with a few of the jobs for projects that rely on
> > having service projects installed. There have been a couple of threads
> > about that recently, but Monty has promised to start another one to
> > provide all of the necessary context so we can fix the issues and move
> > ahead.
> > 
> > Doug
> > 
> 
> All of the patches to define the lower-constraints test jobs have been
> proposed [1], and many have already been approved and merged (thank you
> for your quick reviews).
> 
> A few of the jobs are failing because the projects depend on installing
> some other service from source. We will work out what to do with those
> when we solve that problem in a more general way.
> 
> A few of the jobs failed because the dependencies were wrong. In a few
> cases I was able to figure out what was wrong, but I can use some help
> from project teams more familiar with the code bases to debug the
> remaining failures.
> 
> In a few cases projects didn't have python 3 unit test jobs, so I
> configured the new job to use python 2. Teams should add a step to their
> python 3 migration plan to update the version of python used in the new
> job, when that is possible.
> 
> I believe we are now ready to proceed with updating the
> requirements-check job to relax the rules about which changes are
> allowed [2].
> 
> Doug
> 
> [1] https://review.openstack.org/#/q/topic:requirements-stop-syncing+status:open
> [2] https://review.openstack.org/555402

We still have about 50 open patches related to adding the
lower-constraints test job. I'll keep those open until the third
milestone of the Rocky development cycle, and then abandon the rest to
clear my gerrit view so it is usable again.

If you want to add lower-constraints tests to your project and have
an open patch in the list [1], please take it over and fix the
settings then approve the patch (the fix usually involves making
the values in lower-constraints.txt match the values in the various
requirements.txt files).

If you don't want the job, please leave a comment on the patch to
tell me and I will abandon it.

Doug

[1] https://review.openstack.org/#/q/topic:requirements-stop-syncing+status:open



More information about the OpenStack-dev mailing list