Bug #22676

Fact importing with location set resets Domain even if domain isn't set or updated if domain isn't in the selected location

Added by Justin Sherrill over 2 years ago. Updated almost 2 years ago.

Target version:
Bugzilla link:


Recently in katello we started noticing an issue where domain_id was being set to nil on interface during subscription-manager registration. To reproduce:

1. Have a host check in via puppet (domain is created with no org or location)
2. Register the same host with subscription-manager using an activation key.

sub-man register does a fact import using the Rhsm Fact Importer and Parser. This does NOT attempt to set a domain. Even though it doens't set the domain, it does provide other interface attributes which causes an update on the existing interfaces. Anytime an interface is updated this code gets called:

This line " if domain.nil? && name.include?('.') && changed_attributes['domain_id'].blank?" tries to detect if a domain is or is not set for the host. However since its calling 'domain.nil?' it requires that the current taxonomies be able to resolve the domain. Since location.current is set, and the domain is not in that location, domain always return nil.

Associated revisions

Revision 3c660dd2 (diff)
Added by Justin Sherrill about 2 years ago

Fixes #22676 - domain checking should ignore scoping


#1 Updated by The Foreman Bot over 2 years ago

  • Status changed from New to Ready For Testing
  • Pull request added

#2 Updated by Marek Hulán about 2 years ago

  • Legacy Backlogs Release (now unused) set to 330

#3 Updated by Justin Sherrill about 2 years ago

  • % Done changed from 0 to 100
  • Status changed from Ready For Testing to Closed

#4 Updated by Michael Moll about 2 years ago

  • Legacy Backlogs Release (now unused) changed from 330 to 296

#5 Updated by The Foreman Bot about 2 years ago

  • Pull request added

Also available in: Atom PDF