Project

General

Profile

Bug #12318

Template preview render error for image based hosts without installation media

Added by Brice Sauvajon over 4 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Templates
Target version:
Difficulty:
Triaged:
Bugzilla link:
Fixed in Releases:
Found in Releases:

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


Related issues

Related to Foreman - Feature #11035: Allow all templates preview during their creation and editingClosed2015-07-07

Associated revisions

Revision 1bec6a32 (diff)
Added by Marek Hulán about 4 years ago

Fixes #12318 - support preview for deb-based distros

Revision 0ef995dd (diff)
Added by Marek Hulán about 4 years ago

Fixes #12318 - support preview for deb-based distros

(cherry picked from commit 1bec6a3278483d7428760b1ab8b01bf65d3eead3)

History

#1 Updated by Dominic Cleal over 4 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.

#2 Updated by Brice Sauvajon over 4 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

#3 Updated by Dominic Cleal over 4 years ago

  • Related to Feature #11035: Allow all templates preview during their creation and editing added

#4 Updated by Dominic Cleal over 4 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
  • Legacy Backlogs Release (now unused) set to 91

Ah yes, that'd make sense. Thanks.

#5 Updated by Dominic Cleal over 4 years ago

  • Legacy Backlogs Release (now unused) deleted (91)

Sorry, this hasn't been fixed in time for the 1.9.3 release, unsetting.

#6 Updated by The Foreman Bot about 4 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

#7 Updated by Marek Hulán about 4 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100

#8 Updated by Dominic Cleal about 4 years ago

  • Legacy Backlogs Release (now unused) set to 141

Also available in: Atom PDF