Page MenuHomePhabricator

Backport python-shade from debian/testing to jessie-wikimedia
Closed, DeclinedPublic

Description

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

Event Timeline

hashar raised the priority of this task from to Needs Triage.
hashar updated the task description. (Show Details)
hashar subscribed.
jcrespo triaged this task as Medium priority.Sep 8 2015, 9:04 AM
jcrespo subscribed.

Normal as it doesn't seem Blocked-on-Operations.

fgiunchedi subscribed.

all dependencies should be available now internally, please try to backport

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

Peter601980 renamed this task from Backport python-shade from debian/testing to jessie-wikimedia to ftdgyuh.Dec 28 2015, 8:03 AM
Peter601980 removed hashar as the assignee of this task.
Peter601980 updated the task description. (Show Details)
Peter601980 set Security to None.
Aklapper renamed this task from ftdgyuh to Backport python-shade from debian/testing to jessie-wikimedia.Dec 28 2015, 9:09 AM
Aklapper assigned this task to hashar.
Aklapper updated the task description. (Show Details)
Aklapper added subscribers: fgiunchedi, jcrespo, Matanya and 2 others.

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.

hashar lowered the priority of this task from Medium to Low.Sep 5 2016, 2:46 PM

The commit just after the version we run ( 9e2937cedc9360e45c70f9038dca6dd44b0c6460 ) just has shade.

Looking at requirements.txt log:

git describeshadecomment
0.1.1-25-g150f266>=0.7.0
0.1.1-108-gb4bbcce>=0.12.0
0.2.0-77-ge1f4a12>=1.6.2Drops 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 are most probably never going to upgrade Nodepool.