Bug #12318
closedTemplate preview render error for image based hosts without installation media
Description
Hi,
When I try to provision a new machine, or preview my finish template for a new machine, foreman shows me an error.
I've tried with a very simple template containing just "<%= @host %>", here is the production.log output :
2015-10-27T09:26:29 [app] [I] Processing by ProvisioningTemplatesController#preview as */* 2015-10-27T09:26:29 [app] [I] Parameters: {"template"=>"<%= @host %>", "preview_host_id"=>"63", "id"=>"61-Debian default finish test"} 2015-10-27T09:26:29 [app] [W] Error rendering the Debian default finish test template | NoMethodError: undefined method `path' for nil:NilClass | /usr/share/foreman/app/models/operatingsystem.rb:112:in `medium_uri' | /usr/share/foreman/app/models/operatingsystems/debian.rb:13:in `preseed_path' | /usr/share/foreman/lib/foreman/renderer.rb:167:in `preseed_attributes' | /usr/share/foreman/lib/foreman/renderer.rb:122:in `load_template_vars' | /usr/share/foreman/app/controllers/templates_controller.rb:97:in `safe_render' | /usr/share/foreman/app/controllers/templates_controller.rb:90:in `preview' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_controller/metal/implicit_render.rb:4:in `send_action' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/abstract_controller/base.rb:167:in `process_action' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_controller/metal/rendering.rb:10:in `process_action' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/abstract_controller/callbacks.rb:18:in `block in process_action' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:682:in `block (4 levels) in _run__4298944938615808196__process_action__171654710307501005__callbacks' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_8119' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:326:in `around' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:310:in `_callback_around_2447' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_8119' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:626:in `block (3 levels) in _run__4298944938615808196__process_action__171654710307501005__callbacks' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_8118' | /usr/share/foreman/app/controllers/concerns/application_shared.rb:13:in `set_timezone' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_8118' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:625:in `block (2 levels) in _run__4298944938615808196__process_action__171654710307501005__callbacks' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_8117' | /usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:in `clear_thread' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_8117' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:448:in `block in _run__4298944938615808196__process_action__171654710307501005__callbacks' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:215:in `block in _conditional_callback_around_8116' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:326:in `around' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:310:in `_callback_around_13' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:214:in `_conditional_callback_around_8116' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:414:in `_run__4298944938615808196__process_action__171654710307501005__callbacks' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:405:in `__run_callback' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:81:in `run_callbacks' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/abstract_controller/callbacks.rb:17:in `process_action' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_controller/metal/rescue.rb:29:in `process_action' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_controller/metal/instrumentation.rb:30:in `block in process_action' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/notifications.rb:123:in `block in instrument' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/notifications/instrumenter.rb:20:in `instrument' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/notifications.rb:123:in `instrument' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_controller/metal/instrumentation.rb:29:in `process_action' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_controller/metal/params_wrapper.rb:207:in `process_action' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activerecord-3.2.21/lib/active_record/railties/controller_runtime.rb:18:in `process_action' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/abstract_controller/base.rb:121:in `process' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/abstract_controller/rendering.rb:45:in `process' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_controller/metal.rb:203:in `dispatch' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_controller/metal.rb:246:in `block in action' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/routing/route_set.rb:73:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/routing/route_set.rb:73:in `dispatch' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/routing/route_set.rb:36:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/journey-1.0.4/lib/journey/router.rb:68:in `block in call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/journey-1.0.4/lib/journey/router.rb:56:in `each' | /usr/share/foreman/vendor/ruby/2.1.0/gems/journey-1.0.4/lib/journey/router.rb:56:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/routing/route_set.rb:608:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/apipie-rails-0.2.6/lib/apipie/static_dispatcher.rb:65:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/apipie-rails-0.2.6/lib/apipie/extractor/recorder.rb:97:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/apipie-rails-0.2.6/lib/apipie/middleware/checksum_in_headers.rb:27:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-1.4.7/lib/rack/etag.rb:23:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-1.4.7/lib/rack/conditionalget.rb:35:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/head.rb:14:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/params_parser.rb:21:in `call' | /usr/share/foreman/lib/middleware/catch_json_parse_errors.rb:9:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/flash.rb:242:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-1.4.7/lib/rack/session/abstract/id.rb:210:in `context' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-1.4.7/lib/rack/session/abstract/id.rb:205:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/cookies.rb:341:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activerecord-3.2.21/lib/active_record/query_cache.rb:64:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activerecord-3.2.21/lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:405:in `_run__3728239369661419318__call__99474923343413317__callbacks' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:405:in `__run_callback' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:385:in `_run_call_callbacks' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/callbacks.rb:81:in `run_callbacks' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/callbacks.rb:27:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/remote_ip.rb:31:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/rack/logger.rb:32:in `call_app' | /usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/rack/logger.rb:18:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/request_id.rb:22:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-1.4.7/lib/rack/methodoverride.rb:21:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-1.4.7/lib/rack/runtime.rb:17:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/activesupport-3.2.21/lib/active_support/cache/strategy/local_cache.rb:72:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-1.4.7/lib/rack/lock.rb:15:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/actionpack-3.2.21/lib/action_dispatch/middleware/static.rb:83:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-cache-1.5.0/lib/rack/cache/context.rb:140:in `forward' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-cache-1.5.0/lib/rack/cache/context.rb:147:in `pass' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-cache-1.5.0/lib/rack/cache/context.rb:159:in `invalidate' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-cache-1.5.0/lib/rack/cache/context.rb:74:in `call!' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-cache-1.5.0/lib/rack/cache/context.rb:51:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/engine.rb:484:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/application.rb:231:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/railties-3.2.21/lib/rails/railtie/configurable.rb:30:in `method_missing' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-1.4.7/lib/rack/builder.rb:134:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-1.4.7/lib/rack/urlmap.rb:64:in `block in call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-1.4.7/lib/rack/urlmap.rb:49:in `each' | /usr/share/foreman/vendor/ruby/2.1.0/gems/rack-1.4.7/lib/rack/urlmap.rb:49:in `call' | /usr/lib/ruby/vendor_ruby/phusion_passenger/rack/thread_handler_extension.rb:74:in `process_request' | /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:141:in `accept_and_process_next_request' | /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler/thread_handler.rb:109:in `main_loop' | /usr/lib/ruby/vendor_ruby/phusion_passenger/request_handler.rb:455:in `block (3 levels) in start_threads' | /usr/share/foreman/vendor/ruby/2.1.0/gems/logging-2.0.0/lib/logging/diagnostic_context.rb:448:in `call' | /usr/share/foreman/vendor/ruby/2.1.0/gems/logging-2.0.0/lib/logging/diagnostic_context.rb:448:in `block in create_with_logging_context' 2015-10-27T09:26:29 [app] [I] Rendered text template (0.0ms) 2015-10-27T09:26:29 [app] [I] Completed 500 Internal Server Error in 13.9ms (Views: 0.8ms | ActiveRecord: 1.0ms)
Preview still works for old machines
Updated by Dominic Cleal about 9 years ago
- Description updated (diff)
- Category set to Templates
This suggests that the host doesn't have an installation medium set - as a workaround, edit the host and set one under the OS tab and it should work.
Updated by Brice Sauvajon about 9 years ago
Thanks, bu we don't have any installation medium for these machines, the provisioning method is image based, the image is correctly set under the operating system tab
Updated by Dominic Cleal about 9 years ago
- Related to Feature #11035: Allow all templates preview during their creation and editing added
Updated by Dominic Cleal about 9 years ago
- Subject changed from template rendering does'nt work for some hosts to Template preview render error for image based hosts without installation media
- Translation missing: en.field_release set to 91
Ah yes, that'd make sense. Thanks.
Updated by Dominic Cleal about 9 years ago
- Translation missing: en.field_release deleted (
91)
Sorry, this hasn't been fixed in time for the 1.9.3 release, unsetting.
Updated by The Foreman Bot over 8 years ago
- Status changed from New to Ready For Testing
- Assignee set to Marek Hulán
- Pull request https://github.com/theforeman/foreman/pull/3421 added
Updated by Marek Hulán over 8 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset 1bec6a3278483d7428760b1ab8b01bf65d3eead3.
Updated by Dominic Cleal over 8 years ago
- Translation missing: en.field_release set to 141