Issue #3899
Updated by Ichimonji10 over 6 years ago
https://repos.fedorapeople.org/pulp/pulp/fixtures/file-mixed/ contains the following: * 1.iso * 2.iso * 3.iso * PULP_MANIFEST The manifest contains the following: <pre>1.iso,d7f9af3ef82087102149dab1de79f90cbc164fd052d6b0dd32fea4f756af99f0,1024 2.iso,687bfda765f741bfafe171713a4876bfbb4b38c4d85d8d3e138b94af6d0f4bcc,1024 3.iso,fa9686383b6fdd9ba86f60421e905cdfb619085b08188a2e5ca7d74b2afc531a,1024 missing-1.iso,4a36e4eede4a61fd547040b53b1656b6dd489bd5bc4c0dd5fe55892dcf1669e8,1048576 missing-2.iso,ab6d91d4956d1a009bd6d03b3591f95aaae83b36907f77dd1ac71c400715b901,2097152 </pre> As you can see, the manifest references files that don't exist. Let's say that one creates a repository, sets its importer URL to https://repos.fedorapeople.org/pulp/pulp/fixtures/file-mixed/, and syncs the repository. In this case, Pulp should report an error with the sync. Unfortunately, Pulp does no such thing. It acts as if the sync succeeded. Peeking into journalctl shows why: <pre>Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.threaded:INFO: Download failed: Download of https://repos.fedorapeople.org/pulp/pulp/fixtures/file-mixed/missing-1.iso failed with code 404: Not Found Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.base:ERROR: (1880-30304) download_failed() takes exactly 3 arguments (2 given) Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.base:ERROR: (1880-30304) Traceback (most recent call last): Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.base:ERROR: (1880-30304) File "/usr/lib/python2.7/site-packages/nectar/downloaders/base.py", line 145, in _fire_event_to_listener Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.base:ERROR: (1880-30304) event_listener_callback(*args, **kwargs) Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.base:ERROR: (1880-30304) TypeError: download_failed() takes exactly 3 arguments (2 given) Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.threaded:INFO: Download succeeded: https://repos.fedorapeople.org/pulp/pulp/fixtures/file-mixed/3.iso. Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.threaded:INFO: Download succeeded: https://repos.fedorapeople.org/pulp/pulp/fixtures/file-mixed/2.iso. Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.threaded:INFO: Download failed: Download of https://repos.fedorapeople.org/pulp/pulp/fixtures/file-mixed/missing-2.iso failed with code 404: Not Found Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.base:ERROR: (1880-06496) download_failed() takes exactly 3 arguments (2 given) Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.base:ERROR: (1880-06496) Traceback (most recent call last): Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.base:ERROR: (1880-06496) File "/usr/lib/python2.7/site-packages/nectar/downloaders/base.py", line 145, in _fire_event_to_listener Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.base:ERROR: (1880-06496) event_listener_callback(*args, **kwargs) Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.base:ERROR: (1880-06496) TypeError: download_failed() takes exactly 3 arguments (2 given) Aug 02 13:22:20 rhel-7-pulp-2-17-nightly pulp[1880]: nectar.downloaders.threaded:INFO: Download succeeded: https://repos.fedorapeople.org/pulp/pulp/fixtures/file-mixed/1.iso. </pre> This issue occurs on the latest nightly builds of Pulp 2 (to-be 2.17) on both F27 and RHEL 7. Here's some of the RPMs installed on a sample test VM: <pre>[root@rhel-7-pulp-2-17-nightly ~]# rpm -qa | grep -i 'solv\|pulp' | sort libsolv-0.6.34-4.el7.x86_64 pulp-admin-client-2.17.0-0.1.alpha.201808010512git0697ade.el7.noarch pulp-deb-admin-extensions-1.8.0-0.1.alpha.201808010517git4df9825.el7.noarch pulp-deb-plugins-1.8.0-0.1.alpha.201808010517git4df9825.el7.noarch pulp-docker-admin-extensions-3.2.0-0.1.alpha.201808010504git4356228.el7.noarch pulp-docker-plugins-3.2.0-0.1.alpha.201808010504git4356228.el7.noarch pulp-ostree-admin-extensions-1.4.0-0.1.alpha.201808010506git2c2d534.el7.noarch pulp-ostree-plugins-1.4.0-0.1.alpha.201808010506git2c2d534.el7.noarch pulp-puppet-admin-extensions-2.17.0-0.1.alpha.201808010507git44a02f8.el7.noarch pulp-puppet-plugins-2.17.0-0.1.alpha.201808010507git44a02f8.el7.noarch pulp-puppet-tools-2.17.0-0.1.alpha.201808010507git44a02f8.el7.noarch pulp-python-admin-extensions-2.1.0-0.1.alpha.201808010503git5e2aa35.el7.noarch pulp-python-plugins-2.1.0-0.1.alpha.201808010503git5e2aa35.el7.noarch pulp-rpm-admin-extensions-2.17.0-0.1.alpha.201808010509git421caf4.el7.noarch pulp-rpm-plugins-2.17.0-0.1.alpha.201808010509git421caf4.el7.noarch pulp-selinux-2.17.0-0.1.alpha.201808010512git0697ade.el7.noarch pulp-server-2.17.0-0.1.alpha.201808010512git0697ade.el7.noarch python2-solv-0.6.34-4.el7.x86_64 python-isodate-0.5.0-4.pulp.el7.noarch python-pulp-bindings-2.17.0-0.1.alpha.201808010512git0697ade.el7.noarch python-pulp-client-lib-2.17.0-0.1.alpha.201808010512git0697ade.el7.noarch python-pulp-common-2.17.0-0.1.alpha.201808010512git0697ade.el7.noarch python-pulp-deb-common-1.8.0-0.1.alpha.201808010517git4df9825.el7.noarch python-pulp-docker-common-3.2.0-0.1.alpha.201808010504git4356228.el7.noarch python-pulp-oid_validation-2.17.0-0.1.alpha.201808010512git0697ade.el7.noarch python-pulp-ostree-common-1.4.0-0.1.alpha.201808010506git2c2d534.el7.noarch python-pulp-puppet-common-2.17.0-0.1.alpha.201808010507git44a02f8.el7.noarch python-pulp-python-common-2.1.0-0.1.alpha.201808010503git5e2aa35.el7.noarch python-pulp-repoauth-2.17.0-0.1.alpha.201808010512git0697ade.el7.noarch python-pulp-rpm-common-2.17.0-0.1.alpha.201808010509git421caf4.el7.noarch python-pulp-streamer-2.17.0-0.1.alpha.201808010512git0697ade.el7.noarch </pre> The easiest way to reproduce this issue is by executing an existing test case with <code>python -m unittest --verbose pulp_2_tests.tests.rpm.api_v2.test_iso_crud.PulpManifestTestCase</code>. pulp_2_tests.tests.rpm.api_v2.test_iso_crud.PulpManifestTestCase</pre>. This is a regression.