Bug 1545364 - Cloned Satellite improperly handles Pulp event_notifier URL and db entries
Summary: Cloned Satellite improperly handles Pulp event_notifier URL and db entries
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Satellite Clone
Version: 6.3.0
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: 6.5.0
Assignee: John Mitsch
QA Contact: Peter Ondrejka
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-02-14 18:08 UTC by Mike McCune
Modified: 2019-11-05 22:26 UTC (History)
5 users (show)

Fixed In Version: tfm-rubygem-katello-3.7.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-05-14 12:36:57 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 22647 0 None None None 2018-02-21 16:28:25 UTC
Red Hat Product Errata RHSA-2019:1222 0 None None None 2019-05-14 12:37:04 UTC

Description Mike McCune 2018-02-14 18:08:46 UTC
Summary 2: Cloned Satellites will still make API callbacks into the Source Satellite via the sync_complete API. This causes task errors due to lock contention and should be prevented at all costs.

** First Issue: When cloning a Satellite there is a configuration in  /etc/foreman/plugins/katello.yaml that points to a URL end point:

   :post_sync_url: https://clone.example.com/katello/api/v2/repositories/sync_complete?token=wI7kAQtK87EBdlLbdVp1R1GLpWpsbiHj

this gets properly updated during the clone process. 

The issue is that this change is never properly updated at the Mongo/Pulp level and the old hostname will persist in the event_notifier database entry, note the URL is not that of the new cloned Satellite:

#  echo "db.event_listeners.find()" | mongo pulp_database

{ "_id" : ObjectId("20B3G0ppQ49r9xR00a"), "notifier_config" : { "url" : "https://production-satellite.example.com/katello/api/v2/repositories/sync_complete?token=R27Jp95A1drsJ7oER27Jp95A1drsJ7oE" }, "_ns" : "event_listeners", "event_types" : [ "repo.sync.finish" ], "id" : "3HkpvGemRtq2ISm83411", "notifier_type_id" : "http" }

** Second Issue: The cloned Satellite will often have 2 event_listener rows in the database. This causes *multiple* API calls to be made to either the production source Satellite or if the hostname was correct, the clone itself. 

This can be found by running:

# echo "db.event_listeners.find().count()" | mongo pulp_database
MongoDB shell version: 2.6.11
connecting to: pulp_database
2

If the count is > 1, we have an error condition where there are too many event_listeners

Comment 1 Mike McCune 2018-02-14 18:17:04 UTC
NOTE: The second issue is fixed in Satellite Clone 1.2 which is being released soon. First issue remains.

Comment 3 Stephen Benjamin 2018-02-21 16:28:23 UTC
Created redmine issue http://projects.theforeman.org/issues/22647 from this bug

Comment 4 Satellite Program 2018-03-16 14:12:10 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/22647 has been resolved.

Comment 9 errata-xmlrpc 2019-05-14 12:36:57 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/RHSA-2019:1222


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