Bug #32464
closedInherited hostgroup values are not set when creating host
Description
Description of problem:
Failed to create a host using a nested hostgroup because all values that inherited from the parent host group are not set, such has content_view_id, content_source_id, lifecycle_environment_id and kickstart_repository_id.
Steps to Reproduce:
1. Create a parent hostgroup. Set the content source, content_view, lifecycle environment and the synced content.
2. Create a nested hostgroup that inherit the above values.
3. Create a host using the nested hostgroup.
hammer host create --name "my-test-client1" --hostgroup-id <the nested hostgroup id> --location "Default Location" --organization "MYORG" --mac="xx:xx:xx:xx:xx:xx" --domain-id 1 --ask-root-password yes --subnet apac-mps --ip xxx.xxx.xxx.xxx
Actual results:
Could not create the host:
Medium can't be blank
Content view can't be blank
Lifecycle environment can't be blank
Expected results:
host created successfully
Additional info:
The "inherited_#{attribute}" method returns an array so rails is unable to set the nested attribute.
- foreman-rake console
Satellite 6.8 output: Hostgroup.find(21).inherited_kickstart_repository_id
=> 707 <========== Correct
Satellite 6.9 output: Hostgroup.find(21).inherited_kickstart_repository_id
=> [707] <========= Wrong
Make the following change in "/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.18.1.27/app/models/katello/concerns/hostgroup_extensions.rb" fixed the issue.
@ -126,7 +126,7
@
facet_model = Facets.registered_facets[facet].hostgroup_configuration.model
value = facet_model.where.not(attribute => nil).joins(:hostgroup).merge(
::Hostgroup.where(id: self.ancestor_ids).reorder(ancestry: :desc)
- ).limit(1).pluck(attribute)
+ ).limit(1).pluck(attribute).first
end
value
end
Updated by The Foreman Bot over 3 years ago
- Status changed from New to Ready For Testing
- Assignee set to Hao Yu
- Pull request https://github.com/Katello/katello/pull/9327 added
Updated by Ian Ballou over 3 years ago
- Target version set to Katello 4.2.0
- Triaged changed from No to Yes
Updated by The Foreman Bot over 3 years ago
- Fixed in Releases Katello 4.2.0 added
Updated by Hao Yu over 3 years ago
- Status changed from Ready For Testing to Closed
Applied in changeset katello|23a5b7a70f6054a5bfcc61affef58c8061e40eee.
Updated by Jeremy Lenz over 3 years ago
- Target version changed from Katello 4.2.0 to Katello 3.18.4
Updated by Jonathon Turel over 3 years ago
- Target version changed from Katello 3.18.4 to Katello 3.18.3
Updated by The Foreman Bot over 2 years ago
- Pull request https://github.com/Katello/katello/pull/10108 added