Bug #22676
closedFact importing with location set resets Domain even if domain isn't set or updated if domain isn't in the selected location
Description
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:
https://github.com/theforeman/foreman/blob/develop/app/models/nic/interface.rb#L108-L110
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.
Updated by The Foreman Bot almost 7 years ago
- Status changed from New to Ready For Testing
- Pull request https://github.com/theforeman/foreman/pull/5272 added
Updated by Marek Hulán almost 7 years ago
- Translation missing: en.field_release set to 330
Updated by Justin Sherrill almost 7 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset 3c660dd2e636a533788d1b46dc8550006b6fb304.
Updated by Anonymous almost 7 years ago
- Translation missing: en.field_release changed from 330 to 296
Updated by The Foreman Bot almost 7 years ago
- Pull request https://github.com/theforeman/foreman/pull/5303 added