Project

General

Custom queries

Profile

Actions

Bug #12936

closed

Hostgroup environment isn't inherited by Host via model API

Added by Daniel Lobato Garcia over 9 years ago. Updated almost 7 years ago.

Status:
Closed
Priority:
Normal
Category:
Host creation
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

Problem:

Since [[hostgroup_inherited_attributes](https://github.com/theforeman/foreman/blob/develop/app/models/host/managed.rb#L577)] uses association IDs instead of AR objects, creating hosts like

 hg.environment = Environment.first
 sample_host = Host.new(:name => 'hostname', :hostgroup => hg).environment
 sample_host.environment == nil #=> true

will not work.

The method to inherit these attributes relies on string attributes so Host must be created using 'hostgroup_id' or 'hostgroup_name' to inherit hostgroup attributes, like:

 sample_host = Host.new(:name => 'hostname', 'hostgroup_id' => hg.id)

Solution:

Make apply_inherited_attributes capable of inheriting regular AR relations, and not just attributes when passed as strings. That's why inheritance only works from the UI.

Added by Ondřej Pražák about 9 years ago

Revision d7110d54 (diff)

Fixes #12936 - Host inherits attributes when hostgroup is AR object

Added by Ondřej Pražák almost 9 years ago

Revision 647b971f (diff)

Fixes #12936 - Host inherits attributes when hostgroup is AR object

(cherry picked from commit d7110d54ad51a85eadde8283606e88cf01de8b19)

Actions

Also available in: Atom PDF