Fix repo constraints construction and package installation
The current repo build process has the following issues:
1. The constraints consruction doesn't properly handle two constraints
which use the same name, but have different version specs. eg: ovs===2.5.0;python_version=='2.7' ovs===2.6.0.dev2;python_version=='3.4'
This is a problem in both the constraints construction, and
in the testing.
2. The pip packages installed on the repo server in order to
construct the repo do not respect the global pins or the upper
constraint overrides.
3. The constraints are selected based on the requirements specified.
This makes the process unnecessarily complex and hard to test.
4. The global pins are not applied to the constructed constraints,
so the wrong packages get built and installed.
5. The tests aren't thoroughly checking that the constraints are
correct.
This patch corrects all of these issues and hopefully makes the
mechanism for constructing constraints more readily apparent, and
therefore easier to maintain.
Reviewed: https:/ /review. openstack. org/350352 /git.openstack. org/cgit/ openstack/ openstack- ansible- repo_build/ commit/ ?id=38d7faffa96 aa2b03e718320f2 dc281cc12029b8
Committed: https:/
Submitter: Jenkins
Branch: master
commit 38d7faffa96aa2b 03e718320f2dc28 1cc12029b8
Author: Jesse Pretorius <email address hidden>
Date: Wed Aug 3 00:15:56 2016 +0100
Fix repo constraints construction and package installation
The current repo build process has the following issues:
1. The constraints consruction doesn't properly handle two constraints
ovs===2. 5.0;python_ version= ='2.7'
ovs===2. 6.0.dev2; python_ version= ='3.4'
which use the same name, but have different version specs. eg:
This is a problem in both the constraints construction, and
in the testing.
2. The pip packages installed on the repo server in order to
construct the repo do not respect the global pins or the upper
constraint overrides.
3. The constraints are selected based on the requirements specified.
This makes the process unnecessarily complex and hard to test.
4. The global pins are not applied to the constructed constraints,
so the wrong packages get built and installed.
5. The tests aren't thoroughly checking that the constraints are
correct.
This patch corrects all of these issues and hopefully makes the
mechanism for constructing constraints more readily apparent, and
therefore easier to maintain.
Change-Id: If52d073d430814 68e2faf2cd063c4 b211c29994f
Related-Bug: #1605846
Closes-Bug: #1609056