Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 839145

Summary: New image creation with blank name and templates displays "undefined method `empty?' for nil:NilClass".
Product: [Retired] CloudForms Cloud Engine Reporter: Aziza Karol <akarol>
Component: aeolus-conductorAssignee: Tzu-Mainn Chen <tzumainn>
Status: CLOSED ERRATA QA Contact: Rehana <aeolus-qa-list>
Severity: low Docs Contact:
Priority: unspecified    
Version: 1.1.0CC: athomas, dajohnso, dmacpher, matt.wagner, morazi, slinaber
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Using a blank field for the name of a new image caused an undefined method error. This bug fix adds validation and a better error message if the name field is blank when creating a new image.
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-12-04 15:12:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
err none

Description Aziza Karol 2012-07-11 05:52:34 UTC
Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.create a new image with blank name and template and click on continue button.

  
Actual results:
undefined method `empty?' for nil:NilClass is displayed in 
UI. see attached screesnshot.

Expected results:
validation message required if user tries to create new image with blank name and template.


rpm  -qa | grep aeolus
aeolus-configure-2.7.0-0.20120709172029gite93c068.fc16.noarch
aeolus-conductor-0.11.0-0.20120709213339gitb6f79a1.fc16.noarch
aeolus-all-0.11.0-0.20120709213339gitb6f79a1.fc16.noarch
aeolus-conductor-daemons-0.11.0-0.20120709213339gitb6f79a1.fc16.noarch
aeolus-conductor-devel-0.11.0-0.20120709213339gitb6f79a1.fc16.noarch
rubygem-aeolus-cli-0.6.0-0.20120710182001gite2a391a.fc16.noarch
aeolus-conductor-doc-0.11.0-0.20120709213339gitb6f79a1.fc16.noarch
rubygem-aeolus-image-0.6.0-0.20120710181941git05a815a.fc16.noarch



Additional info:
rails.log:
Rendered layouts/_admin_nav.html.haml (6.3ms)
Rendered images/new.html.haml within layouts/application (11.1ms)
undefined method `empty?' for nil:NilClass
/usr/share/aeolus-conductor/app/views/images/new.html.haml:41:in `_app_views_images_new_html_haml___755731900_70320544222640_0'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/action_view_mods.rb:148:in `call'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/action_view_mods.rb:148:in `form_tag_without_haml_xss'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:255:in `with_tabs'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/action_view_mods.rb:148:in `form_tag_without_haml_xss'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:591:in `call'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:591:in `haml_bind_proc'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:345:in `call'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:345:in `capture_haml_without_haml_xss'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:569:in `with_haml_buffer'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers.rb:341:in `capture_haml_without_haml_xss'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/xss_mods.rb:61:in `capture_haml'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/action_view_mods.rb:88:in `capture'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/helpers/form_tag_helper.rb:571:in `form_tag_in_block'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/helpers/form_tag_helper.rb:52:in `form_tag_without_haml'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/action_view_mods.rb:151:in `form_tag_without_haml_xss'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/xss_mods.rb:122:in `form_tag'
 /usr/share/aeolus-conductor/app/views/images/new.html.haml:23:in `_app_views_images_new_html_haml___755731900_70320544222640_0'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/template.rb:135:in `send'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/template.rb:135:in `render'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:54:in `instrument'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/template.rb:127:in `render'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/rendering.rb:59:in `_render_template'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/rendering.rb:56:in `_render_template'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_view/render/rendering.rb:26:in `render_without_haml'
 /usr/lib/ruby/gems/1.8/gems/haml-3.1.2/lib/haml/helpers/action_view_mods.rb:13:in `render'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/rendering.rb:115:in `_render_template'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/rendering.rb:109:in `render_to_body'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/renderers.rb:47:in `render_to_body'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/compatibility.rb:55:in `render_to_body'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/rendering.rb:102:in `render_to_string'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/rendering.rb:93:in `render'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/rendering.rb:17:in `render'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:40:in `render'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/core_ext/benchmark.rb:5:in `ms'
 /usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/core_ext/benchmark.rb:5:in `ms'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:40:in `render'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:78:in `cleanup_view_runtime'
 /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/railties/controller_runtime.rb:15:in `cleanup_view_runtime'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:39:in `render'
 /usr/share/aeolus-conductor/app/controllers/images_controller.rb:231:in `edit_xml'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/base.rb:150:in `process_action'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/rendering.rb:11:in `process_action'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/callbacks.rb:18:in `process_action'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:446:in `_run__988989742__process_action__489408101__callbacks'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:410:in `send'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:410:in `_run_process_action_callbacks'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:94:in `send'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:94:in `run_callbacks'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/callbacks.rb:17:in `process_action'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/rescue.rb:17:in `process_action'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/notifications.rb:52:in `instrument'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/base.rb:119:in `process'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/abstract_controller/rendering.rb:41:in `process'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal.rb:138:in `dispatch'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_controller/metal.rb:178:in `action'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:62:in `call'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:62:in `dispatch'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:27:in `call'
 /usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/route_set.rb:150:in `call'
 /usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/code_generation.rb:93:in `recognize'
 /usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/code_generation.rb:82:in `optimized_each'
 /usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/code_generation.rb:92:in `recognize'
 /usr/lib/ruby/gems/1.8/gems/rack-mount-0.7.1/lib/rack/mount/route_set.rb:141:in `call'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/routing/route_set.rb:493:in `call'
 /usr/lib/ruby/gems/1.8/gems/warden-1.0.5/lib/warden/manager.rb:35:in `call'
 /usr/lib/ruby/gems/1.8/gems/warden-1.0.5/lib/warden/manager.rb:34:in `catch'
 /usr/lib/ruby/gems/1.8/gems/warden-1.0.5/lib/warden/manager.rb:34:in `call'
 /usr/lib/ruby/gems/1.8/gems/sass-3.1.7/lib/sass/../sass/plugin/rack.rb:54:in `call'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/head.rb:14:in `call'
 /usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/methodoverride.rb:24:in `call'
 /usr/lib/ruby/gems/1.8/gems/rack-restful_submit-1.2.1/lib/rack/rack-restful_submit.rb:25:in `call'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/params_parser.rb:21:in `call'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/flash.rb:182:in `call'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/session/abstract_store.rb:149:in `call'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/cookies.rb:302:in `call'
 /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/query_cache.rb:32:in `call'
 /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/query_cache.rb:28:in `cache'
 /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/query_cache.rb:12:in `cache'
 /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/query_cache.rb:31:in `call'
 /usr/lib/ruby/gems/1.8/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/connection_pool.rb:354:in `call'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/callbacks.rb:46:in `call'
 /usr/lib/ruby/gems/1.8/gems/activesupport-3.0.10/lib/active_support/callbacks.rb:416:in `_run_call_callbacks'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/callbacks.rb:44:in `call'
 /usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/sendfile.rb:102:in `call'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/remote_ip.rb:48:in `call'
 /usr/lib/ruby/gems/1.8/gems/actionpack-3.0.10/lib/action_dispatch/middleware/show_exceptions.rb:47:in `call'
 /usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/rack/logger.rb:13:in `call'
 /usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/runtime.rb:17:in `call'
 /usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/lock.rb:34:in `call'
 /usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/application.rb:168:in `call'
 /usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/application.rb:77:in `send'
 /usr/lib/ruby/gems/1.8/gems/railties-3.0.10/lib/rails/application.rb:77:in `method_missing'
 /usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/urlmap.rb:52:in `call'
 /usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/urlmap.rb:46:in `each'
 /usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/urlmap.rb:46:in `call'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:84:in `pre_process'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:82:in `catch'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:82:in `pre_process'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:57:in `process'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:42:in `receive_data'
 /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
 /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/backends/base.rb:61:in `start'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/server.rb:159:in `start'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/controllers/controller.rb:86:in `start'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:185:in `send'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:185:in `run_command'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:151:in `run!'
 /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/bin/thin:6
 /usr/bin/thin:19:in `load'
 /usr/bin/thin:19
Rendered layouts/_new_notification.html.haml (0.6ms)
Rendered layouts/converge-ui/_header_layout.haml (0.2ms)
Rendered layouts/converge-ui/base.haml (0.5ms)
Rendered layouts/converge-ui/shell_layout.haml (1.6ms)
Rendered layouts/error.html.haml within layouts/application (15.7ms)
Completed 200 OK in 225ms (Views: 16.3ms | ActiveRecord: 0.0ms)


Started GET "/conductor/fonts/converge-ui/overpass_regular-web.woff" for 10.11.11.13 at Wed Jul 11 01:47:29 -0400 2012

ActionController::RoutingError (No route matches "/fonts/converge-ui/overpass_regular-web.woff"):

Comment 1 Aziza Karol 2012-07-11 05:53:38 UTC
Created attachment 597458 [details]
err

Comment 4 Tzu-Mainn Chen 2012-08-21 16:03:27 UTC
Patch created:

http://lists.fedorahosted.org/pipermail/aeolus-devel/2012-August/012231.html

Comment 5 Matt Wagner 2012-08-30 17:10:44 UTC
ACK and pushed.

commit 09cc1b8d7bc7ffea3cc4cade7653259a2cbccb56
Author: Tzu-Mainn Chen <tzumainn>
Date:   Tue Aug 21 12:01:50 2012 -0400

    BZ 839145 added check for empty image name; re-organized error handling for new image
    
    Signed-off-by: Matt Wagner <matt.wagner>
    (cherry picked from commit 3357118aaf01dad28a611cb78bf1fd451a9c510b)

Comment 6 Steve Linabery 2012-09-07 21:53:19 UTC
in build aeolus-conductor-0.13.3-1.el6cf

Comment 8 Aziza Karol 2012-09-21 09:30:41 UTC
Message "You must specify the Component Outline name and You must specify the Component Outline XML file" is displayed for New image creation with blank name and template.


verified:
rpm -qa | grep aeolus
aeolus-conductor-daemons-0.13.8-1.el6cf.noarch
rubygem-aeolus-cli-0.7.1-1.el6cf.noarch
aeolus-configure-2.8.6-1.el6cf.noarch
rubygem-aeolus-image-0.3.0-12.el6.noarch
aeolus-conductor-0.13.8-1.el6cf.noarch
aeolus-conductor-doc-0.13.8-1.el6cf.noarch
aeolus-all-0.13.8-1.el6cf.noarch

Comment 10 errata-xmlrpc 2012-12-04 15:12:44 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHEA-2012-1516.html