Bug #18709

Cannot install a specific version of a package

Added by Brad Buckingham 6 months ago. Updated 6 months ago.

Status:New
Priority:Normal
Assigned To:-
Category:Hosts
Target version:Team Brad - Backlog
Difficulty: Pull request:
Bugzilla link:1409003
Story points-
Velocity based estimate-
ReleaseKatello BacklogRelease relationshipAuto

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1409003

Description of problem:

If there are multiple versions of a package in the repository,
for example with the kernel package, yum is able to install
any specific version, just by specifying the full version number

How reproducible:
100%

Steps to Reproduce:
1. Install system with rhel-7.2, and point at 7.3 repositories
2. Verify multiple versions of kernel package are available

  1. yum list --showduplicates kernel

3.

- Via Hammer

  1. hammer host package install --host <client system> --packages kernel-3.10.0-327.3.1.el7

- Via the web interface

Navigate to Hosts > Content Hosts > <client_system>
Select Packages tab, put the required kernel package
"kernel-3.10.0-327.3.1.el7" into the box next to
"Package Install" dropdown button, and perform the
action via katello-agent

Actual results:

Error: :kernel-3.10.0-327.3.1-*.*: No package(s) available to install
:kernel-3.10.0-327.3.1
-*.*: No package(s) available to install

Expected results:

The package with the specific version requested should be installed

Additional info:

I've used the kernel package as an example as it has lots of different
versions available, however user sees it in their own repository
containing custom rpms, and they require the ability to install specific
versions.

History

#1 Updated by Brad Buckingham 6 months ago

  • Subject changed from Cannot install a specific version of a package to Cannot install a specific version of a package
  • Target version set to Team Brad - Iteration 11
  • Release set to Katello Backlog

#2 Updated by Brad Buckingham 6 months ago

  • Assigned To set to Brad Buckingham

#3 Updated by Brad Buckingham 6 months ago

Currently, the pulp api requires the user to provide name/version/release...etc; however, due to rpm naming conventions, it is not currently possible for katello to parse the free-form text input to extract that information. The reason being both of the following are considered valid names: kernel & kernel-3.10.0-327.3.1.

In katello, we could add something to the api/ui to allow the user to say 'this input contains name only' to indicate that parsing is not needed; however, doing so would create an interface that is different between pulp/katello-agent and Rex. (Note: Rex will not have this same issue, as it is letting yum do the determination.)

Another alternative that Jeff Ortel mentioned was to update pulp to support something like a 'pattern' attribute, which could be used instead of the name/version/release..etc. This way, katello could simply pass the info from the user and then allow the yum plugin to process it (similar to the Rex case).
(Note: this would likely require a change also to the client/katello-agent; therefore, it would need to be coordinated on a release boundary such as 6.3)

For now, the bugzilla has been moved over to the pulp component for further investigation in to the possible alternative. Based on this, I am also going to move the issue off of the current sprint.

#4 Updated by Brad Buckingham 6 months ago

  • Target version changed from Team Brad - Iteration 11 to Team Brad - Backlog

#5 Updated by Brad Buckingham 6 months ago

  • Assigned To deleted (Brad Buckingham)

Also available in: Atom PDF