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 the constraints construction.
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.
4. The global pins are not applied to the constructed constraints,
so the wrong packages get built and installed.
This patch corrects all of these issues and hopefully makes the
mechanism for constructing constraints more readily apparent, and
therefore easier to maintain.
This backport combines selective changes implemented in the
following reviews:
Reviewed: https:/ /review. openstack. org/350605 /git.openstack. org/cgit/ openstack/ openstack- ansible/ commit/ ?id=4c620fee1f5 09d15009fdc18c3 ad53cac7bd5f69
Committed: https:/
Submitter: Jenkins
Branch: liberty
commit 4c620fee1f509d1 5009fdc18c3ad53 cac7bd5f69
Author: Jesse Pretorius <email address hidden>
Date: Wed Aug 3 14:40:41 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 the constraints construction.
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.
4. The global pins are not applied to the constructed constraints,
so the wrong packages get built and installed.
This patch corrects all of these issues and hopefully makes the
mechanism for constructing constraints more readily apparent, and
therefore easier to maintain.
This backport combines selective changes implemented in the
following reviews:
- Add logic to NOT build "proprietary" packages /review. openstack. org/300505
https:/
- Updated py_pkgs to index requirement files /review. openstack. org/345448
https:/
- Fix py_pkgs lookup to not include optional packages /review. openstack. org/347834
https:/
- Update py_pkgs to itemise global pins /review. openstack. org/347930
https:/
- Fix repo constraints construction and package installation /review. openstack. org/350352
https:/
- Correct global_pins depth /review. openstack. org/350654
https:/
Change-Id: If52d073d430814 68e2faf2cd063c4 b211c29994f
Related-Bug: #1605846
Closes-Bug: #1609056