← Back to team overview

cloud-init-dev team mailing list archive

[Merge] ~chad.smith/cloud-init:cleanup/tox-ordered-ci-deps into cloud-init:master

 

Chad Smith has proposed merging ~chad.smith/cloud-init:cleanup/tox-ordered-ci-deps into cloud-init:master.

Commit message:
tests: ordered tox dependencies for pylxd install

The pylxd project has a setup.py which defines install dependencies.
Those sub-dependendencies include pbr and requests which in turn have
package version conflicts. Since tox doesn't order dependencies installed,
serially install pinned urllib3 at 1.22 which supports both pbr deps and
requests deps of pylxd.

Requested reviews:
  cloud-init commiters (cloud-init-dev)

For more details, see:
https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/347637
-- 
Your team cloud-init commiters is requested to review the proposed merge of ~chad.smith/cloud-init:cleanup/tox-ordered-ci-deps into cloud-init:master.
diff --git a/integration-requirements.txt b/integration-requirements.txt
index df3a73e..030c163 100644
--- a/integration-requirements.txt
+++ b/integration-requirements.txt
@@ -11,10 +11,5 @@ boto3==1.5.9
 # ssh communication
 paramiko==2.4.0
 
-# lxd backend
-# 04/03/2018: enables use of lxd 3.0
-git+https://github.com/lxc/pylxd.git@1a85a12a23401de6e96b1aeaf59ecbff2e88f49d
-
-
 # finds latest image information
 bzr+lp:simplestreams
diff --git a/tox.ini b/tox.ini
index 2fb3209..f241ed9 100644
--- a/tox.ini
+++ b/tox.ini
@@ -134,7 +134,16 @@ deps =
 
 [testenv:citest]
 basepython = python3
-commands = {envpython} -m tests.cloud_tests {posargs}
+commands =
+    # 06/07/2018: enables use of lxd 3.0 and pre-pip install urllib3 to avoid
+    # contextual version conflicts with pylxd sub-deps pbr and requests.
+    # lxd backend prerequisite urllib3 < 1.23 due to pylxd's setup.py installing
+    # installing it's out deps which conflict with unordered deps listed in
+    # integration-requirements.txt
+    # Ordered requirements as pylxd conflicts
+    pip3 install urllib3==1.22
+    pip3 install git+https://github.com/lxc/pylxd.git@1a85a12a23401de6e96b1aeaf59ecbff2e88f49d
+    {envpython} -m tests.cloud_tests {posargs}
 passenv = HOME
 deps =
     -r{toxinidir}/integration-requirements.txt