Project

Profile

Help

Issue #770

closed

When applying errata, pulp attempts to install packages to consumer that are not available

Added by cduryee about 9 years ago. Updated almost 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Urgent
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
1. Low
Version:
2.6 Beta
Platform Release:
2.6.1
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

If a user attempts to apply an erratum that contains packages from various repos, Pulp will attempt to install the newest package available in that erratum. This is incorrect since the erratum may refer to packages that are unavailable to that consumer.

To reproduce on 2.6 0.9.rc:

  • create and sync a rhel6 repo
  • create and sync a rhel7 repo
  • create a rhel6 consumer and bind it to the rhel6 repo
  • run:
pulp-admin rpm consumer  errata install run --consumer-id my-el6 --errata-id 'RHEA-2015:0141'

result:

Install task created with id [ bab4bb99-939e-4f67-86ec-f8ba2793f80d ]

This command may be exited via ctrl+c without affecting the request.

Refresh Repository Metadata
Refresh Repository Metadata
+12Downloading: None

Install Failed

0:tzdata-java-2015a-1.el7.noarch: No package(s) available to install

We should not be attempting to install the el7 package on the el6 system, since it's not in any repo that the el6 system is bound to.

Actions #2

Updated by cduryee about 9 years ago

  • Status changed from ASSIGNED to POST
  • Platform Release set to 2.6.1

Added by cduryee about 9 years ago

Revision 1704c9ff | View on GitHub

770: Only apply packages in errata when they are actually available

Previously, if an erratum contained packages with the same name but different versions, Pulp would attempt to install the latest version of said package when applying an erratum to a system. This behavior is incorrect since an erratum might contain multiple packages across repos.

Instead, we need to filter out any packages that we do not have access to before applying the erratum.

re #770

Actions #4

Updated by cduryee about 9 years ago

  • Status changed from POST to MODIFIED
Actions #5

Updated by bcourt about 9 years ago

  • Status changed from MODIFIED to 5
Actions #6

Updated by pthomas@redhat.com about 9 years ago

  • Severity set to 1. Low
Actions #7

Updated by pthomas@redhat.com about 9 years ago

verified
Followed the reproducer steps from above

[root@cloud-qe-12 ~]# pulp-admin rpm consumer  errata install run --consumer-id my-el6 --errata-id 'RHEA-2015:0141'
Install task created with id [ 0f85512e-7641-496f-ae8f-278ff5f526e9 ]

This command may be exited via ctrl+c without affecting the request.

Refresh Repository Metadata             [ OK ]
Downloading Packages                    [ OK ]
Check Package Signatures                [ OK ]
Running Test Transaction                [ OK ]
Running Transaction                     [ OK ]

Install Succeeded

+----------------------------------------------------------------------+
                               Installed
+----------------------------------------------------------------------+

Name:    tzdata
Version: 2015a
Arch:    noarch
Repoid:  rhel6

Name:    tzdata-java
Version: 2015a
Arch:    noarch
Repoid:  rhel6

[root@cloud-qe-12 ~]# 

<\pre>
Actions #8

Updated by pthomas@redhat.com about 9 years ago

  • Status changed from 5 to 6

[root@cloud-qe-12 ~]# rpm -qa pulp-server
pulp-server-2.6.1-0.2.beta.el6.noarch
[root@cloud-qe-12 ~]#

Actions #9

Updated by dkliban@redhat.com almost 9 years ago

  • Status changed from 6 to CLOSED - CURRENTRELEASE
Actions #11

Updated by bmbouter almost 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF