Bug #23840
closedHost class does not change with managed state
Description
A Host::Base can be a Host::Managed if it's managed? attribute is set. When managed? is false, the host should no longer be a Host::Managed. In nightly, this is not the case.
To reproduce (in rake console):
h = Host.new
h.managed? # false
Actual:
h.class # Host::Managed
Expected:
h.class # Host::Base
This is an issue if we ever want to use polymorphism, and it should be as easy as setting the type correctly on the host. Hopefully, there is no behavior on Host::Managed that shouldn't be there, but if so, it should be moved to Host::Base.
Updated by Akshay Mendhe about 6 years ago
Hey Andrew, Just want to know about what should be the default ":type" attribute for newly created host without any parameter, whether it should be Host::Base or Host::Managed, as for now, by default it is Host::Managed.
Updated by Andrew Kofink about 6 years ago
I'm not sure there is a default. It depends on if the host is created as a manged (by puppet) host or not.
Updated by The Foreman Bot about 6 years ago
- Status changed from New to Ready For Testing
- Pull request https://github.com/theforeman/foreman/pull/6020 added
Updated by Akshay Mendhe about 6 years ago
Yes, so after debugging, I saw that ":managed" boolean attribute is dependent on ":type" attribute but vice-versa is not true. I sent the PR by following the respective condition.
Updated by Tomer Brisker about 5 years ago
- Status changed from Ready For Testing to New
- Assignee deleted (
Akshay Mendhe)
Updated by Andrew Kofink about 5 years ago
- Pull request deleted (
https://github.com/theforeman/foreman/pull/6020)
The associated PR was abandoned.
Updated by Tomer Brisker about 4 years ago
- Status changed from New to Rejected
It is a bit confusing, but the `managed` flag does not relate to the `Host::Managed` class. There should not be any hosts with `Host::Base` class, as it is a base class for STI, and a `Host::Managed` could either have the `managed` flag set or not.