Refactor #10413
Reimplement !unattended mode support as mainline feature
Description
settings.yaml contains :unattended set to true by default, which enables provisioning related features during initialisation. Turning it off is meant to put Foreman into a reporting-only mode, suitable for use as a dashboard, but it's notoriously unreliable and untested.
Many major releases contain regressions because !unattended users are a minority and all developers and tests run with unattended enabled in order to test all features.
I'd suggest that we should remove this global setting and make sure Foreman can operate sensibly and be well-tested with both reporting-only and provisioning usage in a single, default configuration.
The main difference was always the New Host page, which had significant behaviour differences around OS requirements and the tabs shown. When in unattended mode, it is only possible to create a managed host in the New Host form.
Related is that there's an inconsistency in use of the host "managed" flag. Generally when unattended is enabled and hosts are !managed, Foreman acts similarly to !unattended mode. We should probably migrate hosts created under !unattended to being !managed hosts and then have Foreman work well with both managed and !managed hosts.
Related again, consider how Host::Managed should be split up or renamed when it's an unmanaged host.
Related issues
Associated revisions
Refs #10413 - Force :unattended: true
Refs #10413 - Remove unattended: false from tests
Refs #10413 - Remove unattended mode check in routes
Refs #10413 - Drop unattended mode check in app init
Refs #10413 - Drop unattended mode checks from models
Refs #10413 - Drop unattended mode checks in helpers
Refs #10413 - Drop unattended mode checks from menu
Refs #10413 - Drop unattended mode check in controllers
Refs #10413 - Drop unattended mode checks from views
Fixes #10413 - Drop unattended mode deprecation
History
#1
Updated by Dominic Cleal about 7 years ago
- Related to Bug #10307: Editing a host with "unattended: false" set in settings.yaml results in error. added
#2
Updated by Marek Hulán about 7 years ago
- Related to Bug #10379: Facts import error: no superclass method `setup_clone' for #<Host::Managed...> added
#3
Updated by Rickard von Essen about 7 years ago
- Related to Bug #4018: API host creation fails with 500 error when unattended == false added
#4
Updated by Anonymous over 5 years ago
- Related to Bug #16866: Facts import doesn't work with unattended=false added
#5
Updated by The Foreman Bot 7 months ago
- Assignee set to Tomer Brisker
- Status changed from New to Ready For Testing
- Pull request https://github.com/theforeman/foreman/pull/8980 added
#6
Updated by Ondřej Ezr 7 months ago
- Fixed in Releases 3.0.2, 3.1.0 added
#7
Updated by Ondřej Ezr 7 months ago
- Fixed in Releases deleted (
3.0.2, 3.1.0)
#8
Updated by The Foreman Bot 7 months ago
- Pull request https://github.com/theforeman/foreman/pull/8983 added
#9
Updated by The Foreman Bot 4 months ago
- Fixed in Releases 3.3.0 added
#10
Updated by Tomer Brisker 4 months ago
- Status changed from Ready For Testing to Closed
Applied in changeset foreman|e231a35e05dc4b958c3244d674deeb21654b11d8.
Refs #10413 - Deprecate setting unattended: false
This setting is rarely used and complicates the code quite a lot. With
the introduction of host registration, there is a path for any remaining
users who had been using Foreman only for inventory to add their hosts.