Project

Profile

Help

Issue #5449

closed

Multiple source repos copy of errata produces different results

Added by kersom over 4 years ago. Updated about 4 years ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
1. Low
Version:
Platform Release:
OS:
Triaged:
Yes
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
Pulp 2
Sprint:
Sprint 65
Quarter:

Description

Repos used in this issue:

Repo 1 - Contains an errata, and it is missing a RPM version required by the errata.
Repo 2 - Contains the RPM version required by the errata.
Repo 3 - Destination repository.

When copying the errata from Repo 1 to Repo 3, using the "additional_repos" to add Repo 2 , when execute for the first all the dependency resolution is executed properly.

If all the same steps above are execute again, the final result will be different.

Script used to recreate:

pulp-admin login -u admin -p admin
pulp-admin rpm repo create --repo-id=zoo --relative-url=zoo --feed=https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-with-modules-modified/
pulp-admin rpm repo sync run --repo-id=zoo

pulp-admin rpm repo create --repo-id=bar --relative-url=bar --feed=https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-unsigned-modified/
pulp-admin rpm repo sync run --repo-id=bar

pulp-admin rpm repo create --repo-id=test1

curl -k -u admin:admin --cert ~/.pulp/user-cert.pem -d '{"source_repo_id":"zoo","criteria":{"type_ids":["erratum"],"filters":{"unit":{"id":"RHEA-2012:0059"}}},"override_config":{"recursive_conservative":true,"additional_repos":{"bar": "test1"}}}' -H "Content-Type: application/json" -X POST https://localhost/pulp/api/v2/repositories/test1/actions/associate/

pulp-admin rpm repo create --repo-id=zoo2 --relative-url=zoo2 --feed=https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-with-modules-modified/
pulp-admin rpm repo sync run --repo-id=zoo2

pulp-admin rpm repo create --repo-id=bar2 --relative-url=bar2 --feed=https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-unsigned-modified/
pulp-admin rpm repo sync run --repo-id=bar2

pulp-admin rpm repo create --repo-id=test3

curl -k -u admin:admin --cert ~/.pulp/user-cert.pem -d '{"source_repo_id":"zoo2","criteria":{"type_ids":["erratum"],"filters":{"unit":{"id":"RHEA-2012:0059"}}},"override_config":{"recursive_conservative":true,"additional_repos":{"bar2": "test3"}}}' -H "Content-Type: application/json" -X POST https://localhost/pulp/api/v2/repositories/test3/actions/associate/

pulp-admin repo list

test1 and test3 should have the same content, and number of packages.

Id:                  test1
Display Name:        None
Description:         None
Content Unit Counts: 
  Erratum:           1
  Modulemd:          2
  Modulemd Defaults: 2
  Rpm:               2

Id:                  zoo2
Display Name:        None
Description:         None
Content Unit Counts: 
  Erratum:           6
  Modulemd:          10
  Modulemd Defaults: 3
  Package Category:  1
  Package Group:     2
  Package Langpacks: 1
  Rpm:               32

Id:                  bar2
Display Name:        None
Description:         None
Content Unit Counts: 
  Erratum:           4
  Package Category:  1
  Package Group:     2
  Package Langpacks: 1
  Rpm:               34

Id:                  test3
Display Name:        None
Description:         None
Content Unit Counts: 
  Erratum:           1
  Modulemd:          2
  Modulemd Defaults: 2
  Rpm:               1

RPM packages present in the test1 repository:

['duck-0.7-1.noarch.rpm', 'kangaroo-0.3-1.noarch.rpm']

RPM packages present in the test3 repository:

['duck-0.7-1.noarch.rpm']

Pulp Version:

[root@pulpfipsserver ~]# rpm -qa | grep pulp
pulp-ostree-plugins-1.4.0-0.1.alpha.201909110504gitcc1c559.el7.noarch
python-pulp-bindings-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch
pulp-docker-admin-extensions-3.4.0-0.1.alpha.201909110502git5f120a3.el7.noarch
pulp-deb-admin-extensions-1.11.0-0.1.alpha.201909110524git86a8a50.el7.noarch
python-pulp-streamer-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch
python-pulp-puppet-common-2.21.0-0.1.alpha.201909110507gite3a1f28.el7.noarch
python-pulp-ostree-common-1.4.0-0.1.alpha.201909110504gitcc1c559.el7.noarch
python-pulp-python-common-2.1.0-0.1.alpha.201909110501git5e2aa35.el7.noarch
pulp-server-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch
pulp-deb-plugins-1.11.0-0.1.alpha.201909110524git86a8a50.el7.noarch
pulp-docker-plugins-3.4.0-0.1.alpha.201909110502git5f120a3.el7.noarch
pulp-rpm-plugins-2.21.0-0.1.alpha.201909110511gitb9f593d.el7.noarch
pulp-puppet-tools-2.21.0-0.1.alpha.201909110507gite3a1f28.el7.noarch
pulp-admin-client-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch
pulp-ostree-admin-extensions-1.4.0-0.1.alpha.201909110504gitcc1c559.el7.noarch
pulp-puppet-admin-extensions-2.21.0-0.1.alpha.201909110507gite3a1f28.el7.noarch
pulp-rpm-admin-extensions-2.21.0-0.1.alpha.201909110511gitb9f593d.el7.noarch
python-isodate-0.5.0-4.pulp.el7.noarch
python-pulp-docker-common-3.4.0-0.1.alpha.201909110502git5f120a3.el7.noarch
python-pulp-deb-common-1.11.0-0.1.alpha.201909110524git86a8a50.el7.noarch
pulp-selinux-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch
python-pulp-repoauth-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch
pulp-python-plugins-2.1.0-0.1.alpha.201909110501git5e2aa35.el7.noarch
pulp-puppet-plugins-2.21.0-0.1.alpha.201909110507gite3a1f28.el7.noarch
python-pulp-client-lib-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch
pulp-python-admin-extensions-2.1.0-0.1.alpha.201909110501git5e2aa35.el7.noarch
python-pulp-common-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch
python-pulp-rpm-common-2.21.0-0.1.alpha.201909110511gitb9f593d.el7.noarch
python-pulp-oid_validation-2.21.0-0.1.alpha.201909110516git8884300.el7.no

OS Version:

[root@pulpfipsserver ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.7 (Maipo)

Related issues

Related to Pulp - Test #5242: Test copy using "additional_repos" to provide multiple source/destination repos via overrideCLOSED - COMPLETEkersomActions
Related to RPM Support - Story #5067: As a user, multiple source/target repositories can be used for recursive copyCLOSED - CURRENTRELEASEdalley

Actions

Also available in: Atom PDF