Bug #23840
closed
Host class does not change with managed state
Added by Andrew Kofink over 6 years ago.
Updated over 4 years ago.
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.
- Assignee set to Akshay Mendhe
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.
- Triaged changed from No to Yes
I'm not sure there is a default. It depends on if the host is created as a manged (by puppet) host or not.
- Status changed from New to Ready For Testing
- Pull request https://github.com/theforeman/foreman/pull/6020 added
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.
- Status changed from Ready For Testing to New
- Assignee deleted (
Akshay Mendhe)
- Pull request deleted (
https://github.com/theforeman/foreman/pull/6020)
The associated PR was abandoned.
- 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.
Also available in: Atom
PDF