Bug #16014
openImprove error message when media is not set properly
Description
When media is not set or not available via taxonomy, we generate error trace:
2016-08-05 12:28:16 [app] [W] Fetch TFTP boot files for mac52540028624f.lab.eng.rdu2.redhat.com task failed with the following error: undefined method `path' for nil:NilClass | NoMethodError: undefined method `path' for nil:NilClass | /usr/share/foreman/app/models/operatingsystem.rb:121:in `medium_uri' | /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.0.0.69/app/models/katello/concerns/redhat_extensions.rb:52:in `medium_uri_with_content_uri' | /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.0.0.69/app/models/katello/concerns/redhat_extensions.rb:86:in `block in boot_files_uri_with_content' | /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.0.0.69/app/models/katello/concerns/redhat_extensions.rb:85:in `collect' | /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.0.0.69/app/models/katello/concerns/redhat_extensions.rb:85:in `boot_files_uri_with_content' | /usr/share/foreman/app/models/operatingsystem.rb:183:in `pxe_files' | /usr/share/foreman/app/models/concerns/orchestration/tftp.rb:78:in `setTFTPBootFiles' | /usr/share/foreman/app/models/concerns/orchestration.rb:162:in `execute' | /usr/share/foreman/app/models/concerns/orchestration.rb:107:in `block in process' | /usr/share/foreman/app/models/concerns/orchestration.rb:99:in `each' | /usr/share/foreman/app/models/concerns/orchestration.rb:99:in `process' | /usr/share/foreman/app/models/concerns/orchestration.rb:35:in `on_save'
We should catch for exceptions in the orchestration code and issue error.
Updated by Lukas Zapletal over 8 years ago
We need to check for StandardError in the setTFTPBootFiles method.
Updated by Lukas Zapletal over 8 years ago
When doing this, put an ERF entry on our wiki with explanation of the error.
Updated by Dominic Cleal over 8 years ago
- Related to Feature #15439: Improve invalid medium error added
Updated by Dominic Cleal over 8 years ago
- Project changed from Foreman to Katello
- Category deleted (
Orchestration)
This is already implemented in boot_files_uri in #15439, but the stack trace above looks like the issue is introduced by Katello which is not deferring to the original boot_files_uri method containing the safety checks.
I'd suggest whatever checks are in Foreman should be applied to Katello, or it should call, not override, the original method.
Updated by Lukas Zapletal over 8 years ago
- Category set to Content Views
- Difficulty set to trivial
Oh right, I had this feeling I was fixing this already! Thanks. Over to Katello folks! Easy one.
For the record, the required change is to run through these checks when overriding the method: https://github.com/theforeman/foreman/pull/3597/files
Updated by Justin Sherrill over 8 years ago
- Translation missing: en.field_release set to 114