Bug 1368677

Summary: restarting goferd on client forces applicability regeneration
Product: Red Hat Satellite Reporter: Chris Duryee <cduryee>
Component: katello-agentAssignee: Chris Duryee <cduryee>
Status: CLOSED ERRATA QA Contact: jcallaha
Severity: medium Docs Contact:
Priority: high    
Version: 6.1.9CC: bbuckingham, bscalio, jcallaha, mmccune
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1368746 (view as bug list) Environment:
Last Closed: 2016-09-27 09:03:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1368746, 1379341    
Attachments:
Description Flags
Ruby Patch File none

Description Chris Duryee 2016-08-20 15:30:41 UTC
Description of problem:

If you restart goferd on a system, errata applicability will be regenerated. This can cause performance issues, especially if you have a large number of hosts.

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

How reproducible: every time

Steps to Reproduce:
1. register host to Satellite, ensure goferd is running
2. restart goferd
3. check tasks list

Actual results: applicability regeneration task is created


Expected results: applicability regeneration should only happen when list of enabled repos changes

Additional info: the task list is the "true" way to check this, but a quick way is to tail /var/log/httpd/foreman-ssl_access_ssl.log on the server and restart goferd on the client. If you see a line like "POST /pulp/api/v2/consumers/actions/content/regenerate_applicability//", it means a regenerate was fired.

Comment 3 Mike McCune 2016-08-21 22:04:55 UTC
To expand on this bug:

anything that modifies the redhat.repo file on the client will cause this applicability generation to occur, even if the set of enabled/disable repos does not change.

Comment 4 Mike McCune 2016-08-21 22:23:57 UTC
Created attachment 1192719 [details]
Ruby Patch File

Comment 5 Mike McCune 2016-08-21 22:37:39 UTC
** 6.1 HOTFIX PATCH INSTRUCTIONS **

The above attached patch file will only work with Satellite 6.1.X


1) download the patch from Comment #4 to your Satellite server

2) Copy to /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.<version number>

3) cd /opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0.<version number>

4) execute patch:

# patch -p1 < 1368677-1.patch 
patching file app/models/katello/system.rb

5) Restart services

Comment 6 Mike McCune 2016-08-21 22:38:10 UTC
once applied, Applicability Calculation will only occur if the set of repos changed on the client system.

Comment 10 jcallaha 2016-09-20 16:00:39 UTC
Verified in Satellite 6.1.10.

Performed the steps required using docker-based content hosts and did not see any new applicability regeneration in the logs.

Comment 12 errata-xmlrpc 2016-09-27 09:03:53 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2016:1938