To further bump Nodepool after 0.1.1 (T107266), we need the new dependency python-shade. It is available in testing https://packages.debian.org/stretch/python-shade
The package depends on python-os-client-config which we need to backport as well : T104967: Backport python-os-client-config 1.3.0-1 from Debian Sid to jessie-wikimedia
Description
Status | Subtype | Assigned | Task | ||
---|---|---|---|---|---|
Declined | None | T144601 Update Nodepool to catch up with upstream master branch | |||
Declined | None | T107267 Backport python-shade from debian/testing to jessie-wikimedia | |||
Resolved | fgiunchedi | T104967 Backport python-os-client-config 1.3.0-1 from Debian Sid to jessie-wikimedia |
Event Timeline
I tried but I eventually give up. The toolchain is just too complicated for me to figure out.
So at first the /debian/ sources are not in the subversion repository that is used by the Debian Python module packaging team. I have filled https://bugs.debian.org/804548 about it.
So I went to the PTS https://packages.debian.org/stretch/python-shade to download the source files:
I gave that a try with cowbuilder and a jessie-wikimedia image I have (had to refresh/update it to bring in python-os-client-config from T104967).
dh_autotest fails with some import error most probably related to improper python module PATH lookup:
make[1]: Entering directory '/tmp/buildd/python-shade-0.6.1' python setup.py testr --slowest running testr running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \ OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \ OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \ ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./shade/tests/unit} --list --- import errors --- shade.tests.unit.test_caching shade.tests.unit.test_create_server shade.tests.unit.test_delete_server shade.tests.unit.test_meta shade.tests.unit.test_operator_noauth shade.tests.unit.test_rebuild_server shade.tests.unit.test_shade shade.tests.unit.test_task_managerNon-zero exit code (2) from test listing. error: testr failed (3) debian/rules:8: recipe for target 'override_dh_auto_test' failed make[1]: *** [override_dh_auto_test] Error 1 make[1]: Leaving directory '/tmp/buildd/python-shade-0.6.1' debian/rules:5: recipe for target 'build' failed make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 E: Failed autobuilding of package
Usually I just pass DEB_BUILD_OPTIONS=nocheck to skip tests but debian/rules does not recognize it (filled https://bugs.debian.org/804550 ).
I tried amending the rule file but could not figure out how to have cowbuilder to build a package with just the origin tarball and a /debian. Gave several tries and always end up with a bunch of files or path not found.
At this point I give up.
Can we grab the binary package from testing instead of rebuilding? https://packages.debian.org/stretch/all/python-shade/download
Debian bug 804550 got closed and diskimage-builder 1.3.0-1 + now recognizes DEB_BUILD_OPTIONS=nocheck
IIRC another issue is the clean phase requires python-pbr and there is no way to define it as a dependency. So the building host require python-pbr to be installed.
So at first the /debian/ sources are not in the subversion repository that is used by the Debian Python module packaging team. I have filled https://bugs.debian.org/804548 about it.
The source package is in Debian git: https://anonscm.debian.org/cgit/python-modules/packages/python-shade.git :-)
status update
I haven't come to it cause the next commit in Nodepool relying on it is quite old and probably depends on an old version of that python-shade.
Instead of blindly picking up an old version or trying to run old nodepool against the latest version of shade, I am hoping to have a Nodepool test instance setup in the labtest network.
The commit just after the version we run ( 9e2937cedc9360e45c70f9038dca6dd44b0c6460 ) just has shade.
Looking at requirements.txt log:
git describe | shade | comment |
---|---|---|
0.1.1-25-g150f266 | >=0.7.0 | |
0.1.1-108-gb4bbcce | >=0.12.0 | |
0.2.0-77-ge1f4a12 | >=1.6.2 | Drops python-novaclient! |
0.2.0-93-g60e49f1 | >=1.8.0 | |
0.3.0-50-ga5c73eb | >=1.12.0 | |
Also found that the commit just after Nodepool is tagged 0.2.0 (that is 0.2.0-1-g1884b02
) drops python-glanceclient and python-keystoneclient \o/
So maybe aim for the shade version just before 1.0.0 which is 0.16.0. And get Nodepool to 0.2.0.
We could upgrade to nodepool 0.2 and use this http://snapshot.debian.org/package/python-shade/0.6.1-1/