I have now flushed and migrated a couple of times and tried to sync my migrated
'appstream' repo against the migrated 'appstream' remote. Both times I've done
this the result is:
{
"child_tasks": [],
"created_resources": [],
"error": {
"description": "Incoming and existing advisories have the same id and
timestamp but different and intersecting package lists. At least one of them is
wrong. Advisory id: RHBA-2019:2723",
"traceback": " File \"/usr/lib/python3.6/site-packages/rq/worker.py\",
line 883, in perform_job\n rv = job.perform()\n File
\"/usr/lib/python3.6/site-packages/rq/job.py\", line 657, in perform\n
self._result = self._execute()\n File
\"/usr/lib/python3.6/site-packages/rq/job.py\", line 663, 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
264, 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
776, in __exit__\n repository.finalize_new_version(self)\n File
\"/usr/lib/python3.6/site-packages/pulp_rpm/app/models/repository.py\", line
151, 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 79, in
resolve_advisories\n previous_advisory, added_advisory\n File
\"/usr/lib/python3.6/site-packages/pulp_rpm/app/advisory.py\", line 154, in
resolve_advisory_conflict\n raise AdvisoryConflict(_('Incoming and existing
advisories have the same id and '\n"
},
"finished_at": "2020-10-02T14:16:17.768388Z",
"name": "pulp_rpm.app.tasks.synchronizing.synchronize",
"parent_task": null,
"progress_reports": [
{
"code": "parsing.modulemds",
"done": 206,
"message": "Parsed Modulemd",
"state": "completed",
"suffix": null,
"total": 206
},
{
"code": "parsing.modulemd_defaults",
"done": 42,
"message": "Parsed Modulemd-defaults",
"state": "completed",
"suffix": null,
"total": 42
},
{
"code": "parsing.comps",
"done": 67,
"message": "Parsed Comps",
"state": "completed",
"suffix": null,
"total": 67
},
{
"code": "parsing.advisories",
"done": 784,
"message": "Parsed Advisories",
"state": "completed",
"suffix": null,
"total": 784
},
{
"code": "parsing.packages",
"done": 12185,
"message": "Parsed Packages",
"state": "completed",
"suffix": null,
"total": 12185
},
{
"code": "downloading.metadata",
"done": 5,
"message": "Downloading Metadata Files",
"state": "completed",
"suffix": null,
"total": null
},
{
"code": "downloading.artifacts",
"done": 64,
"message": "Downloading Artifacts",
"state": "completed",
"suffix": null,
"total": null
},
{
"code": "associating.content",
"done": 975,
"message": "Associating Content",
"state": "completed",
"suffix": null,
"total": null
}
],
"pulp_created": "2020-10-02T14:14:07.970174Z",
"pulp_finished_at": "2020-10-02T14:16:17.768388Z",
"pulp_href": "/pulp/api/v3/tasks/0eb7d3a2-c8f4-42bd-af52-b25ccc6a8015/",
"reserved_resources_record": [
"/pulp/api/v3/repositories/rpm/rpm/44baa281-e85f-40cc-ab76-9a91e45237cf/",
"/pulp/api/v3/remotes/rpm/rpm/e48a62af-bf49-4632-8a57-2f0c66a82be9/"
],
"started_at": "2020-10-02T14:14:08.531173Z",
"state": "failed",
"task_group": null,
"worker": "/pulp/api/v3/workers/9e02cddf-f703-41f3-8c84-6b03b3592887/"
}
So there is a lot of content being pulled in even though the repo should be
complete from the migration. We do however have 'Retain Old Count' set in our
pulp2 env, and I dont know if that setting is available in pulp 3.4 which I am
running (looks like it's added in 3.5), which might explain that. Regarding the
error there is a closed issue about this:
https://pulp.plan.io/issues/6531
I have been able to reproduce it twice now so that issue might be worth
re-opening. Whether this has anything at all to do with the multi-repo copy
behaviour (which I have also tested after each migration and it still does not
produce any dependencies) I don't know.
//Adam
________________________________
From: [email protected] <[email protected]> on behalf of
Winberg Adam <[email protected]>
Sent: 30 September 2020 09:11
To: Daniel Alley
Cc: [email protected]
Subject: Re: [Pulp-list] rpm plugin: multirepo copy of errata not working
>Ok, tried that now, synced a total of 72 advisories in 3-4 copy operations.
This was a bit unclear I realize, but I created new pulp3 repos for appstream
and baseos and synced them with our redhat cdn remote as source. Then I
_copied_ a total of 72 advisories from this new appstream repo to a new empty
repo, while using the new baseos repo as a 'dependency source' paired with
another new empty repo.
//Adam
________________________________
From: [email protected] <[email protected]> on behalf of
Winberg Adam <[email protected]>
Sent: 30 September 2020 09:06
To: Daniel Alley
Cc: [email protected]
Subject: Re: [Pulp-list] rpm plugin: multirepo copy of errata not working
We're glad to help, Pulp is extremely useful for us so if we can contribute we
are happy to do so. I created an issue for this:
https://pulp.plan.io/issues/7625
> If you sync the Pulp 3 repository using the migrated remote, what happens?
Do you mean syncing the 'my-new-repo1' repo with the migrated appstream remote?
> Are the Pulp 2 repositories you're migrating modified significantly from when
> they were originally synced?
Well, in the case of the appstream repo it has been synced against the Red Hat
source every night, so the content has certainly been modified. Otherwise than
that, no.
> If you make brand new Pulp 3 repositories and try the same copy operation,
> does the same weird copy behavior occur?
Do you mean new pulp3 repos synced using the appstream and baseos remotes (w.
content from redhat cdn) and then using that as the source of the copy? Ok,
tried that now, synced a total of 72 advisories in 3-4 copy operations. The
copy itself between my new pulp3 appstream repo and the new empty repo works
well and 610 rpm packages has been copied. But there are no dependencies copied
from the new baseos repo, no content at all.
//Adam
________________________________
From: Daniel Alley <[email protected]>
Sent: 29 September 2020 20:28
To: Winberg Adam
Cc: [email protected]
Subject: Re: [Pulp-list] rpm plugin: multirepo copy of errata not working
Hi Adam,
Thank you for providing feedback on some of these rough edges, it is extremely
helpful.
There's a couple of things you can try that would give us some useful
information. If you sync the Pulp 3 repository using the migrated remote, what
happens? Does the repository change or does it stay the same?
Are the Pulp 2 repositories you're migrating modified significantly from when
they were originally synced? If you make brand new Pulp 3 repositories and try
the same copy operation, does the same weird copy behavior occur?
Also, if it wouldn't be too much trouble, could you file this as an issue on
our bug tracker (https://pulp.plan.io/) with the details? We can continue
discussion here but if there is a lot of information it's better to keep it in
one place on the issue.
Thanks again,
Daniel
On Tue, Sep 29, 2020 at 8:21 AM Winberg Adam
<[email protected]<mailto:[email protected]>> wrote:
I applied the patch from
https://github.com/pulp/pulp_rpm/commit/712abdf1abb95c969b54fd2968a573189b77bcba
and the the copy then went through without errors.
I'm a bit confused by the result however. I copied 16 advisories from the
appstreams repo to my new empty repo and the copy ended up with copying all
modulemds and almost all packages (11466 of 12053). That doesnt seem right to
me. And my other new repo ('my-new-repo2') is still empty, meaning that of
those 11000 packages there were none that had any dependencies from the baseos
repo which also strikes me as odd. If i set 'dependency_solving=True' (contrary
to the documentation) I end up with the same amount of packages in my
'my-new-repo1' and 2 packages in 'my-new-repo2'.
Am I misunderstanding something about this functionality?
//Adam
________________________________
From: Winberg Adam
Sent: 28 September 2020 16:44
To: [email protected]<mailto:[email protected]>
Subject: rpm plugin: multirepo copy of errata not working
I have succeeded in migrating my pulp2 content to pulp3 and all repos look
complete (i've reran the migration and no new repoversions are generated).
In an attempt to test the multirepo copy functionality described at
https://pulp-rpm.readthedocs.io/en/latest/workflows/copy.html#recipes
, I created a couple of new, empty repos and tried to copy errata from my
migrated RHEL8-appstream repo to them:
POST /pulp/api/v3/rpm/copy/
config:=[
{"source_repo_version": "<rhel8-appstream-version-href>", "dest_repo":
"my-new-repo1", "content": [$ADVISORY_HREF1]},
{"source_repo_version": "<rhel8-baseos-version-href>", "dest_repo":
"my-new-repo2", "content": []},
]
dependency_solving=False
All looks correct, but the operation ultimately fails with the following error:
"description": "Modulemd matching query does not exist.",
"traceback": " File \"/usr/lib/python3.6/site-packages/rq/worker.py\",
line 883, in perform_job\n rv = job.perform()\n File
\"/usr/lib/python3.6/site-packages/rq/job.py\", line 657, in perform\n
self._result = self._execute()\n File
\"/usr/lib/python3.6/site-packages/rq/job.py\", line 663, in _execute\n
return self.func(*self.args, **self.kwargs)\n File
\"/usr/lib64/python3.6/contextlib.py\", line 52, in inner\n return
func(*args, **kwds)\n File
\"/usr/lib/python3.6/site-packages/pulp_rpm/app/tasks/copy.py\", line 167, in
copy_content\n content_to_copy |= find_children_of_content(content_to_copy,
source_repo_version)\n File
\"/usr/lib/python3.6/site-packages/pulp_rpm/app/tasks/copy.py\", line 74, in
find_children_of_content\n name=name, stream=stream, version=version,
context=context, arch=arch)\n File
\"/usr/lib/python3.6/site-packages/django/db/models/query.py\", line 408, in
get\n self.model._meta.object_name\n"
},
Any ideas why this happens?
Regards,
Adam
_______________________________________________
Pulp-list mailing list
[email protected]<mailto:[email protected]>
https://www.redhat.com/mailman/listinfo/pulp-list
_______________________________________________
Pulp-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/pulp-list