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):
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.
6. The pulp task queue contains another task to process the list of package for the client.
6. If no change was made to the packages installed on the client, pulp should not do any work for it.
The suggestions you describe are actually exactly how it is intended to work. I am not able to reproduce this myself either using:
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..)
I can't remember which system I saw this behaviour on. If more recent versions don't do this, though, then good.
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.