Bug #16750
closed*_selected methods expect params[:host] to exist
Description
Due to the strong params changes, the methods we override in routes.rb (architecture_selected, os_selected, medium_selected) do not longer work.
The reason is that these *_selected methods expect params[:host] to exist. Other methods like 'taxonomy_scope' also expect params[:host] to exist.
However, 'discovered_hosts/edit' sends params[:discovered_host], which is not understood by the HostController.
The discovery plugin should realize that these params will not be understood by HostController and change them appropriately.
This blocks discovery provisioning without choosing a hostgroup.
Updated by Daniel Lobato Garcia about 8 years ago
The error that throws is
NoMethodError: undefined method `has_key?' for nil:NilClass
app/controllers/concerns/foreman/controller/parameters/keep_param.rb:11:in `block in keep_param'
That's coming from app/controller/s/concern/foreman/controller/parameters/host.rb , which calls `host_params` with `top_level_hash = 'host'`. Then `keep_param` tries to access 'params['host']` and fails.
Updated by The Foreman Bot about 8 years ago
- Status changed from New to Ready For Testing
- Pull request https://github.com/theforeman/foreman_discovery/pull/304 added
Updated by Lukas Zapletal almost 8 years ago
- Target version set to Discovery Plugin 7.0.1
Just in time for .1 thanks! :-)
Updated by Anonymous almost 8 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset foreman_discovery|abde986ee2db977d80e011252b9f8cca9c3df69d.
Updated by Lukas Zapletal about 7 years ago
- Related to Bug #13322: Impossible to select OS and media on discovered hosts added