Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1958415 - On_demand capsule sync (pulp3 to pulp2) for non-sha256 repos fails with a checksum type issue
Summary: On_demand capsule sync (pulp3 to pulp2) for non-sha256 repos fails with a che...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Pulp
Version: 6.9.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: 6.10.0
Assignee: satellite6-bugs
QA Contact: Vladimír Sedmík
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-05-07 20:51 UTC by Tanya Tereshchenko
Modified: 2021-11-16 14:11 UTC (History)
5 users (show)

Fixed In Version: python-pulp-rpm-3.11.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-11-16 14:10:56 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Pulp Redmine 8722 0 Normal CLOSED - CURRENTRELEASE The checksum type from a remote source is not used by for a publication 2021-10-12 14:09:20 UTC
Pulp Redmine 8752 0 Normal CLOSED - CURRENTRELEASE Backport #8644 to 3.11 2021-06-14 11:07:11 UTC
Red Hat Product Errata RHSA-2021:4702 0 None None None 2021-11-16 14:11:11 UTC

Description Tanya Tereshchenko 2021-05-07 20:51:34 UTC
Description of problem:

pulp_rpm 3.10 always publishes metadata with sha256 checksum type(in repomd.xml).
pulp 2 decides based on metadata type, which checksum type to expect for content as well (in primary.xml).
If one syncs a repo with md5 checksumtype (for content) using on_emand policy, sha256 checksum won't be available, and this is where pulp2 on_demand sync fails.
Both content migration and sync into main Satellite are affected.

 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744) Exception caught from plugin during publish for repo [rpm-with-md5]
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744) Traceback (most recent call last):
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)   File "/usr/lib/python2.7/site-packages/pulp/server/controllers/repository.py", line 1303, in _do_publish
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)     publish_report = publish_repo(transfer_repo, conduit, call_config)
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)   File "/usr/lib/python2.7/site-packages/pulp/server/async/tasks.py", line 905, in wrap_f
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)     return f(*args, **kwargs)
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)   File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/distributors/yum/distributor.py", line 185, in publish_repo
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)     return self._publisher.process_lifecycle()
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)   File "/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py", line 573, in process_lifecycle
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)     super(PluginStep, self).process_lifecycle()
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)   File "/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py", line 164, in process_lifecycle
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)     step.process()
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)   File "/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py", line 240, in process
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)     self._process_block(item=item)
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)   File "/usr/lib/python2.7/site-packages/pulp/plugins/util/publish_step.py", line 302, in _process_block
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)     self.process_main(item=item)
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)   File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/distributors/yum/publish.py", line 500, in process_main
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)     context.add_unit_metadata(unit)
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)   File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/distributors/yum/metadata/filelists.py", line 42, in add_unit_metadata
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)     self.metadata_file_handle.write(unit.render_filelists(self.checksum_type))
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)   File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/db/models.py", line 868, in render_filelists
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)     context = Context({'pkgid': self.get_or_calculate_and_save_checksum(checksumtype)})
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)   File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/db/models.py", line 258, in get_or_calculate_and_save_checksum
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744)     checksumtype=checksumtype)
 pulp.server.controllers.repository:ERROR: [1bbde036] (8758-47744) PulpCodedException: Checksum type "sha256" is not available for all units in the repository. Make sure those units have been downloaded.


Steps to Reproduce:
- Sync using on_demand policy a non-sha256 repo into a main Satellite (Pulp 3).
- Trigger capsule (Pulp 2) sync, also on_demand(this is important) of a repo from step 1.

A workaround is to perform a capsule sync with on_demand policy.

Comment 1 Tanya Tereshchenko 2021-05-10 17:53:24 UTC
(In reply to Tanya Tereshchenko from comment #0)
> 
> A workaround is to perform a capsule sync with on_demand policy.

A workaround is to perform a capsule sync with the *immediate* policy.

Comment 3 pulp-infra@redhat.com 2021-05-10 18:18:54 UTC
The Pulp upstream bug status is at NEW. Updating the external tracker on this bug.

Comment 4 pulp-infra@redhat.com 2021-05-10 18:18:55 UTC
The Pulp upstream bug priority is at Normal. Updating the external tracker on this bug.

Comment 5 pulp-infra@redhat.com 2021-05-10 18:19:01 UTC
The Pulp upstream bug status is at MODIFIED. Updating the external tracker on this bug.

Comment 6 pulp-infra@redhat.com 2021-05-10 18:19:03 UTC
The Pulp upstream bug priority is at Normal. Updating the external tracker on this bug.

Comment 8 pulp-infra@redhat.com 2021-05-19 20:09:44 UTC
The Pulp upstream bug status is at CLOSED - CURRENTRELEASE. Updating the external tracker on this bug.

Comment 9 pulp-infra@redhat.com 2021-05-27 04:52:32 UTC
The Pulp upstream bug status is at POST. Updating the external tracker on this bug.

Comment 10 pulp-infra@redhat.com 2021-06-11 18:11:09 UTC
The Pulp upstream bug status is at MODIFIED. Updating the external tracker on this bug.

Comment 11 pulp-infra@redhat.com 2021-06-11 18:11:18 UTC
All upstream Pulp bugs are at MODIFIED+. Moving this bug to POST.

Comment 12 Tanya Tereshchenko 2021-06-14 10:35:31 UTC
This issue is only partially fixed and can be fully fixed only in the later versions (the ones which use pulp_rpm 3.13+).

The majority of repositories use sha256 checksum type, so this issue affects the small amount of repositories.
There are 2 workarounds available:
 - use immediate policy with capsule sync
 - on the main Satellite explicitly specify a checksum type which needs to be used for a repo (if remote source uses md5, specify md5 to be used; sha1 -> sha1, etc)

Comment 13 pulp-infra@redhat.com 2021-06-14 11:07:12 UTC
The Pulp upstream bug status is at CLOSED - CURRENTRELEASE. Updating the external tracker on this bug.

Comment 14 pulp-infra@redhat.com 2021-06-14 11:07:14 UTC
The Pulp upstream bug priority is at Normal. Updating the external tracker on this bug.

Comment 17 Vladimír Sedmík 2021-07-15 19:10:09 UTC
Verified with:
1) Satellite 6.10.0 snap 9 (upgraded from 6.9.4 snap 1), python3-pulpcore-3.14.0-1.el7pc.noarch
2) Capsule 6.9.4 snap 1, pulp-server-2.21.5.2-1.el7sat.noarch

Sync of an on-demand sha512 repo to the on-demand Capsule succeeded, no errors seen in the journal, repo created in capsule:/var/lib/pulp

Comment 18 pulp-infra@redhat.com 2021-10-12 14:09:21 UTC
The Pulp upstream bug status is at CLOSED - CURRENTRELEASE. Updating the external tracker on this bug.

Comment 19 pulp-infra@redhat.com 2021-10-12 14:09:22 UTC
The Pulp upstream bug priority is at Normal. Updating the external tracker on this bug.

Comment 22 errata-xmlrpc 2021-11-16 14:10:56 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: Satellite 6.10 Release), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:4702


Note You need to log in before you can comment on or make changes to this bug.