Fix #11242

ceph-deploy 1.5.22 tarball does not contain tox.ini

Added by Ken Dreyer about 5 years ago. Updated about 5 years ago.

Target version:
% Done:


Affected Versions:
Crash signature:


For some reason does not contain tox.ini.

I'm not sure why this happened. When I run python sdist on a git checkout of the v1.5.22 git tag, the tox.ini file is present in the tarball that setuptools generates.

Is it possible that Jenkins (or something else in the 1.5.22 release process) is running something other than python sdist to generate the tarball that gets uploaded to PyPI?

(The impact is that the downstream Fedora packages of ceph-deploy-1.5.22 cannot trivially run the test suite. I worked around it by grabbing the tox.ini file directly from GitHub, but I suspect this was working at some point a while back, it would be nice to know what happened in 1.5.22.)


#1 Updated by Travis Rhoden about 5 years ago

I suspect that we would want to include tox.ini in the file if we wanted it to be included.

Ironically, the manifest at one time excluded all the test files (prune ceph_deploy/test), but then the tests got moved from ceph_deploy/test to ceph_deploy/tests without the manifest being updated. I think our best course of action would be to remove the prune line from the manifest, and add tox.ini.

#2 Updated by Travis Rhoden about 5 years ago

  • Tracker changed from Bug to Fix
  • Status changed from New to Fix Under Review
  • Target version set to 1.5.23
  • Source changed from other to Development

Up for review at:

I verified that adding it the manifest produces a tarball containing tox.ini

#3 Updated by Ken Dreyer about 5 years ago

Discussed this with Travis on IRC today.

Before I got involved with the downstream Fedora packages, Federico had been generating a .xz tarball locally. The comments in Fedora's ceph-deploy.spec hinted that this was done via a local Git clone?

In , I switched the downstream Fedora packages from using the locally-generated tarball to using the source tarball directly from PyPI. (In addition to being more closely aligned with Fedora's upstream monitoring tooling, this also means less work to package downstream, and the ability to use a "known good" distribution of the source code, etc.)

Also, in IRC Travis mentioned that he's not seeing the tox.ini file in a 1.5.22 checkout. This is weird because I'm seeing it in my local clone here:

$ rm -r dist
$ git checkout v1.5.22
$ python sdist
$ tar tzf dist/ceph-deploy-1.5.22.tar.gz | grep tox

...At any rate, now I see Travis has a PR for, which is great and the right way to solve this :)

#4 Updated by Travis Rhoden about 5 years ago

  • Status changed from Fix Under Review to Resolved

Fixed with:

To clarify on some of the questions that were asked in the original report:

Jenkins does not push to PyPI, a developer does (currently me or Alfredo). We do this by checking out the tag, and doing "python sdist upload" directly.

For all of Jenkins' tests, it is using a git clone, so it has access to all the files.

Also available in: Atom PDF