python-openstackclient 1.0.1 pulls in uncapped novaclient which breaks
the caps for novaclient in other projects in Juno. This only happens in
the large-ops job because cinder isn't installed and therefore cinder
doesn't install capped novaclient per juno global-requirements before osc
is installed. We can't fix osc and bump it to 1.0.2 since osc is capped
at <=1.0.1 in global-requirements for stable/juno, so we're stuck.
So the workaround is to install python-novaclient from
global-requirements prior to installing python-openstackclient but only
in the case of the large-ops job, which we identify from the usage of
the fake virt driver.
Closes-Bug: #1482350
Change-Id: Id8cc112800d757bfd509cc48087b769410356920
| ... | ... |
@@ -864,6 +864,21 @@ if [[ -d $TOP_DIR/extras.d ]]; then |
| 864 | 864 |
fi |
| 865 | 865 |
|
| 866 | 866 |
|
| 867 |
+# NOTE(mriedem): This is an unfortunate hack to workaround a problem with |
|
| 868 |
+# uncapped requirements for python-novaclient in python-openstackclient 1.0.1 |
|
| 869 |
+# such that it pulls in the latest python-novaclient if something hasn't |
|
| 870 |
+# already pulled in novaclient (like cinder) at a version that osc in juno will |
|
| 871 |
+# accept. The large-ops job doesn't install cinder (since it uses the fake |
|
| 872 |
+# nova virt driver) so osc is the first thing to install novaclient which |
|
| 873 |
+# then causes a wedge due to capped novaclient in other juno projects. |
|
| 874 |
+# So if we're running the large-ops job (per using the nova fake virt driver), |
|
| 875 |
+# install novaclient per the g-r caps for stable/juno so osc doesn't pull in |
|
| 876 |
+# the latest novaclient and wedge everything. |
|
| 877 |
+if [[ "$VIRT_DRIVER" = 'fake' ]]; then |
|
| 878 |
+ pip_install_gr python-novaclient |
|
| 879 |
+fi |
|
| 880 |
+ |
|
| 881 |
+ |
|
| 867 | 882 |
# install the OpenStack client, needed for most setup commands |
| 868 | 883 |
if use_library_from_git "python-openstackclient"; then |
| 869 | 884 |
git_clone_by_name "python-openstackclient" |