Bug 1269334 - client requests katello-package-reload on every checkin, regardless of whether packages have changed.
client requests katello-package-reload on every checkin, regardless of whethe...
Status: CLOSED CURRENTRELEASE
Product: Red Hat Satellite 6
Classification: Red Hat
Component: katello-agent (Show other bugs)
6.1.0
All Linux
high Severity high (vote)
: Unspecified
: --
Assigned To: satellite6-bugs
Katello QA List
:
Depends On:
Blocks: GSS_Sat6Beta_Tracker/GSS_Sat6_Tracker
  Show dependency treegraph
 
Reported: 2015-10-06 23:53 EDT by Paul Wayper
Modified: 2016-09-26 09:50 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-09-26 09:50:34 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Paul Wayper 2015-10-06 23:53:29 EDT
Description of problem:

When a client checks in with Katello, it issues a katello-package upload command with its package list.  This in turn causes Katello to regenerate its list of packages and errata that apply to that client.  If the client has not changed its package list since the last time it checked in, this wastes time and resources.

The client could keep its own snapshot of the packages installed on the system.  If the previous snapshot does not exist, or the current package list differs from that in the previous snapshot, then the client would send its package list and get Katello to update its package lists for that client.  Otherwise - in the majority of cases - the client does not request an update.

For bonus points, the client could simply tell Katello which packages had been added, removed and changed since last time and Katello would be able to then further minimise its effort.

Version-Release number of selected component (if applicable):

katello-2.2.0.15-1
katello-agent-2.2.5-1
qpid-cpp-client-0.30-9
python-gofer-2.6.2-2

How reproducible:

Always

Steps to Reproduce:
1. Register a client with the server
2. Run yum check-update
3. Observe the pulp task queue and see that it is processing the list of packages sent by the client.
4. Wait one minute.
5. Run yum check-update again.

Actual results:

6. The pulp task queue contains another task to process the list of package for the client.

Expected results:

6. If no change was made to the packages installed on the client, pulp should not do any work for it.
Comment 3 Justin Sherrill 2015-12-02 23:49:55 EST
Hey Paul,

The suggestions you describe are actually exactly how it is intended to work.  I am not able to reproduce this myself either using:

katello-agent-2.2.5-1.el6_6sat.noarch
subscription-manager-1.14.10-1.el6.x86_64


Basically i monitor the apache logs and the foreman/production.log and never saw the package list being uploaded.

The only way to 'force this' is to rm /var/lib/rhsm/packages/packages.json and then run katello-package-upload.  Can you provide more details about your reproducer scenario? (package versions, etc..)

Thanks, 

Justin
Comment 4 Paul Wayper 2016-01-07 18:13:13 EST
Hi Justin,

I can't remember which system I saw this behaviour on.  If more recent versions don't do this, though, then good.

Thanks,

Paul
Comment 5 Chris Duryee 2016-09-26 09:50:34 EDT
Closing based on #3 and #4, I have not seen this behavior either in recent versions. If this is still an issue in 6.2, feel free to re-open.

Note You need to log in before you can comment on or make changes to this bug.