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

Doug Hellmann doug at doughellmann.com
Sun Mar 25 20:04:11 UTC 2018

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].


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

More information about the OpenStack-dev mailing list