Pin setuptools<45.0.0 for setupOpenstackVirtualenv
* Unhardcode python version for setupOpenstackVirtualenv
Change-Id: I45c56c8d6dec98ee24e600d595c33a5e1a2641e6
Related-Prod: PRODX-2254
diff --git a/src/com/mirantis/mk/Openstack.groovy b/src/com/mirantis/mk/Openstack.groovy
index 59bbeb7..0e02f2a 100644
--- a/src/com/mirantis/mk/Openstack.groovy
+++ b/src/com/mirantis/mk/Openstack.groovy
@@ -22,9 +22,9 @@
* @param version Version of the OpenStack clients
*/
-def setupOpenstackVirtualenv(path, version = 'latest') {
- def python = new com.mirantis.mk.Python()
- python.setupDocutilsVirtualenv(path)
+def setupOpenstackVirtualenv(path, version = 'latest', python="python2") {
+ def pythonLib = new com.mirantis.mk.Python()
+ pythonLib.setupDocutilsVirtualenv(path)
def openstack_kilo_packages = [
//XXX: hack to fix https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463
@@ -73,7 +73,7 @@
} else {
requirements = openstack_latest_packages
}
- python.setupVirtualenv(path, 'python2', requirements, null, true)
+ pythonLib.setupVirtualenv(path, python, requirements, null, true)
}
/**
diff --git a/src/com/mirantis/mk/Python.groovy b/src/com/mirantis/mk/Python.groovy
index d82f68a..9d07d47 100644
--- a/src/com/mirantis/mk/Python.groovy
+++ b/src/com/mirantis/mk/Python.groovy
@@ -39,7 +39,8 @@
pipPackage = "\"pip<=19.3.1\""
common.infoMsg("Pinning pip package due to end of life of Python2 to ${pipPackage} version.")
}
- runVirtualenvCommand(path, "pip install -U setuptools ${pipPackage}")
+ // NOTE(vsaienko): pin setuptools explicitly for latest version that works with python2
+ runVirtualenvCommand(path, "pip install -U \"setuptools<45.0.0\" ${pipPackage}")
} catch (Exception e) {
common.warningMsg("Setuptools and pip cannot be updated, you might be offline but OFFLINE_DEPLOYMENT global property not initialized!")
}
@@ -156,11 +157,11 @@
*
* @param path Path where virtualenv is created
*/
-def setupDocutilsVirtualenv(path) {
+def setupDocutilsVirtualenv(path, python="python2") {
requirements = [
'docutils',
]
- setupVirtualenv(path, 'python2', requirements)
+ setupVirtualenv(path, python, requirements)
}