Katello::Errors::Pulp3Error: Incoming and existing advisories have the same id but different timestamps

Problem:
During repo syncronization I am getting an error:
Katello::Errors::Pulp3Error: Incoming and existing advisories have the same id but different timestamps and non-intersecting package lists. It is likely that they are from two different incompatible remote repositories. E.g. RHELX-repo and RHELY-debuginfo repo. Ensure that you are adding content for the compatible repositories. Advisory id: FEDORA-EPEL-2017-55408ae360

Expected outcome:
Synchronization completes successfully
Foreman and Proxy versions:
2.3.4

Foreman and Proxy plugin versions:

foreman-tasks 3.0.5
foreman_remote_execution 4.2.2
katello 3.18.2.1

Distribution and version:
CentOS 7.9

Other relevant data:
{“pulp_tasks”=>
[{“pulp_href”=>"/pulp/api/v3/tasks/f1c6c665-a666-451c-b7ac-ac7c168db1b4/",
“pulp_created”=>“2021-06-10T02:00:24.291+00:00”,
“state”=>“failed”,
“name”=>“pulp_rpm.app.tasks.synchronizing.synchronize”,
“started_at”=>“2021-06-10T02:00:24.405+00:00”,
“finished_at”=>“2021-06-10T02:02:29.643+00:00”,
“error”=>
{“traceback”=>
" File “/usr/lib/python3.6/site-packages/rq/worker.py”, line 936, in perform_job\n" +
" rv = job.perform()\n" +
" File “/usr/lib/python3.6/site-packages/rq/job.py”, line 684, in perform\n" +
" self._result = self._execute()\n" +
" File “/usr/lib/python3.6/site-packages/rq/job.py”, line 690, in _execute\n" +
" return self.func(*self.args, **self.kwargs)\n" +
" File “/usr/lib/python3.6/site-packages/pulp_rpm/app/tasks/synchronizing.py”, line 269, in synchronize\n" +
" dv.create()\n" +
" File “/usr/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py”, line 148, in create\n" +
" loop.run_until_complete(pipeline)\n" +
" File “/usr/lib/python3.6/site-packages/pulpcore/app/models/repository.py”, line 795, in exit\n" +
" repository.finalize_new_version(self)\n" +
" File “/usr/lib/python3.6/site-packages/pulp_rpm/app/models/repository.py”, line 243, in finalize_new_version\n" +
" resolve_advisories(new_version, previous_version)\n" +
" File “/usr/lib/python3.6/site-packages/pulp_rpm/app/advisory.py”, line 89, in resolve_advisories\n" +
" previous_advisory, added_advisory\n" +
" File “/usr/lib/python3.6/site-packages/pulp_rpm/app/advisory.py”, line 210, in resolve_advisory_conflict\n" +
" ).format(previous_advisory.id)\n",
“description”=>
“Incoming and existing advisories have the same id but different timestamps and non-intersecting package lists. It is likely that they are from two different incompatible remote repositories. E.g. RHELX-repo and RHELY-debuginfo repo. Ensure that you are adding content for the compatible repositories. Advisory id: FEDORA-EPEL-2017-55408ae360”},
“worker”=>"/pulp/api/v3/workers/4a662ddb-584b-4041-97a5-957d5f56aa14/",
“child_tasks”=>,
“progress_reports”=>
[{“message”=>“Parsed Packages”,
“code”=>“parsing.packages”,
“state”=>“completed”,
“total”=>13607,
“done”=>13607},
{“message”=>“Downloading Metadata Files”,
“code”=>“downloading.metadata”,
“state”=>“completed”,
“done”=>5},
{“message”=>“Downloading Artifacts”,
“code”=>“downloading.artifacts”,
“state”=>“completed”,
“done”=>0},
{“message”=>“Associating Content”,
“code”=>“associating.content”,
“state”=>“completed”,
“done”=>4913},
{“message”=>“Parsed Comps”,
“code”=>“parsing.comps”,
“state”=>“completed”,
“total”=>41,
“done”=>41},
{“message”=>“Parsed Advisories”,
“code”=>“parsing.advisories”,
“state”=>“completed”,
“total”=>4679,
“done”=>4679}],
“created_resources”=>,
“reserved_resources_record”=>
["/pulp/api/v3/repositories/rpm/rpm/1c6e8f06-6b18-4931-b895-60da4684f60a/",
“/pulp/api/v3/remotes/rpm/rpm/4f641bb6-ee3e-4713-9336-c6524095e0d8/”]}],
“create_version”=>true,
“task_groups”=>,
“poll_attempts”=>{“total”=>28, “failed”=>1}}

@katello could you provide some thoughts?

That erratum in EPEL 7 now looks like:

  <update from="updates@fedoraproject.org" status="stable" type="enhancement" version="2.0">
    <id>FEDORA-EPEL-2017-55408ae360</id>
    <title>golang-github-ncw-swift-0-0.9.git9d3f812.el7</title>
    <issued date="2018-02-27 20:38:10"/>
    <updated date="2017-09-18 07:55:12"/>
    <rights>Copyright (C) 2021 Red Hat, Inc. and others.</rights>
    <release>Fedora EPEL 7</release>
    <severity>None</severity>
    <summary>golang-github-ncw-swift-0-0.9.git9d3f812.el7 enhancement update</summary>
    <description>Bump to upstream 9d3f812e23d270d1c66a9a01e20af1005061cdc4</description>
    <references>
      <reference href="https://bugzilla.redhat.com/show_bug.cgi?id=1476281" id="1476281" type="bugzilla" title="Please update the package to a more recent version"/>
    </references>
    <pkglist>
      <collection short="EPEL-7">
        <name>Fedora EPEL 7</name>
        <package name="golang-github-ncw-swift" version="0" release="0.9.git9d3f812.el7" epoch="0" arch="src" src="https://download.fedoraproject.org/pub/fedora/linux/updates/7/SRPMS/g/golang-github-ncw-swift-0-0.9.git9d3f812.el7.src.rpm">
          <filename>golang-github-ncw-swift-0-0.9.git9d3f812.el7.src.rpm</filename>
        </package>
      </collection>
    </pkglist>
  </update>

Can you show me the erratum’s “Last Update On” and the list of packages that it references from your Katello? Assuming that you had a successful sync before, it’ll be on the erratum’s page in Katello (/errata/:id). It might be useful to compare the current erratum to the old one since Pulp seems to think there was some change to it.

1 Like

Hello,

I am investigating but the erratum I mentioned when creating the ticket does not appear in the list.
I am also seeing that each day there is a different erratum appearing in the failure. This may be leading to a false positive or possibly a bigger problem.

Is there anything you can point me to to check anything else?

Thanks

Hi @benrick001,

Could we see the URL for EPEL that you synced from? I was assuming (Index of /pub/epel/7/x86_64) but that might be wrong.

Sure: “Index of /fedora-epel/7/x86_64/

Apologies for not getting back to this, but for folks who are still having this issue, check this out: Settings — Pulp RPM Support 3.16.1 documentation

The problem stems from the upstream repo changing its existing errata, which is outside of Pulp’s control. The documentation option above explains the situation and how to potentially remedy it.

Would it not be better to set ALLOW_AUTOMATIC_UNSAFE_ADVISORY_CONFLICT_RESOLUTION to True by default through foreman-installer?

1 Like

Yeah, using the Foreman installer is always a better option if the setting has support. If it doesn’t, puppet-pulpcore is the repository to contribute to!

1 Like