Bug 1283745
Summary: | UI ERROR When bulk deleting copied methods. | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat CloudForms Management Engine | Reporter: | Josh Carter <jocarter> | ||||||
Component: | UI - OPS | Assignee: | Martin Hradil <mhradil> | ||||||
Status: | CLOSED ERRATA | QA Contact: | Milan Falešník <mfalesni> | ||||||
Severity: | high | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | 5.5.0 | CC: | akarol, cpelland, dajohnso, hkataria, jhardy, jocarter, mfalesni, mpovolny, obarenbo, psavage, simaishi | ||||||
Target Milestone: | GA | Flags: | dajohnso:
automate_bug?
|
||||||
Target Release: | 5.5.0 | ||||||||
Hardware: | All | ||||||||
OS: | All | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | 5.5.0.13 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2015-12-08 13:49:24 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
Josh Carter
2015-11-19 17:26:30 UTC
1. Create a new domain. 2. Create a namespace 3. Create a state machine namespace 4. Copied the class from the state machine namespace 5. Copied the instance from the state machine class 6. Copied each method to that new state machine namespace 7. Bulk delete methods within that new state machine namespace triggers the ui blowup pesign-0.111-3.fc21 has been submitted as an update to Fedora 21. https://bodhi.fedoraproject.org/updates/FEDORA-2015-8a82827699 pesign-0.111-3.fc21 has been pushed to the Fedora 21 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with $ su -c 'dnf --enablerepo=updates-testing update pesign' You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-8a82827699 Josh, Can you try this with latest build, i am unable to recreate the issue on latest upstream master. Let me know if you see this issue on latest build. Thanks, ~Harpreet This still happens for me I tried it multiple times, you can see the items on the top left of the screen shots, those were the methods I was trying to delete, each time I did so, I got a different answer, the first time it said they were deleted, and they weren't. The second time it said they were deleted and it appeared to be deleting another method/class entirely, the third time I got a UI blow up. [----] I, [2015-11-25T06:07:12.089736 #2878:f7d988] INFO -- : Started POST "/miq_ae_class/x_button/102?pressed=miq_ae_method_delete" for 127.0.0.1 at 2015-11-25 06:07:12 -0500 [----] I, [2015-11-25T06:07:12.091139 #2878:f7d988] INFO -- : Processing by MiqAeClassController#x_button as JS [----] I, [2015-11-25T06:07:12.091219 #2878:f7d988] INFO -- : Parameters: {"miq_grid_checks"=>"", "pressed"=>"miq_ae_method_delete", "id"=>"102"} [----] F, [2015-11-25T06:07:12.132175 #2878:f7d988] FATAL -- : Error caught: [NoMethodError] undefined method `class_id' for nil:NilClass /var/www/miq/vmdb/app/controllers/miq_ae_class_controller.rb:1894:in `deletemethods' /var/www/miq/vmdb/app/controllers/miq_ae_class_controller.rb:74:in `x_button' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_controller/metal/implicit_render.rb:4:in `send_action' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/abstract_controller/base.rb:198:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_controller/metal/rendering.rb:10:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/abstract_controller/callbacks.rb:20:in `block in process_action' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:117:in `call' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:117:in `call' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:505:in `call' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:505:in `call' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:92:in `__run_callbacks__' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:81:in `run_callbacks' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/abstract_controller/callbacks.rb:19:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_controller/metal/rescue.rb:29:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/notifications.rb:164:in `block in instrument' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/notifications/instrumenter.rb:20:in `instrument' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/notifications.rb:164:in `instrument' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_controller/metal/instrumentation.rb:30:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_controller/metal/params_wrapper.rb:250:in `process_action' /opt/rh/cfme-gemset/gems/activerecord-4.2.5/lib/active_record/railties/controller_runtime.rb:18:in `process_action' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/abstract_controller/base.rb:137:in `process' /opt/rh/cfme-gemset/gems/actionview-4.2.5/lib/action_view/rendering.rb:30:in `process' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_controller/metal.rb:196:in `dispatch' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_controller/metal.rb:237:in `block in action' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/routing/route_set.rb:76:in `call' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/routing/route_set.rb:76:in `dispatch' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/routing/route_set.rb:45:in `serve' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/journey/router.rb:43:in `block in serve' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/journey/router.rb:30:in `each' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/journey/router.rb:30:in `serve' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/routing/route_set.rb:817:in `call' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/etag.rb:24:in `call' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/conditionalget.rb:38:in `call' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/head.rb:13:in `call' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/middleware/params_parser.rb:27:in `call' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/middleware/flash.rb:260:in `call' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:225:in `context' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/session/abstract/id.rb:220:in `call' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/middleware/cookies.rb:560:in `call' /opt/rh/cfme-gemset/gems/activerecord-4.2.5/lib/active_record/query_cache.rb:36:in `call' /opt/rh/cfme-gemset/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:88:in `__run_callbacks__' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:778:in `_run_call_callbacks' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/callbacks.rb:81:in `run_callbacks' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/middleware/callbacks.rb:27:in `call' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/middleware/remote_ip.rb:78:in `call' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call' /opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/rack/logger.rb:38:in `call_app' /opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/rack/logger.rb:22:in `call' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/middleware/request_id.rb:21:in `call' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/methodoverride.rb:22:in `call' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/runtime.rb:18:in `call' /opt/rh/cfme-gemset/gems/activesupport-4.2.5/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/lock.rb:17:in `call' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/middleware/static.rb:116:in `call' /opt/rh/cfme-gemset/gems/actionpack-4.2.5/lib/action_dispatch/middleware/static.rb:116:in `call' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/sendfile.rb:113:in `call' /opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/engine.rb:518:in `call' /opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/application.rb:165:in `call' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/content_length.rb:15:in `call' /opt/rh/rh-ruby22/root/usr/share/gems/gems/thin-1.6.3/lib/thin/connection.rb:86:in `block in pre_process' /opt/rh/rh-ruby22/root/usr/share/gems/gems/thin-1.6.3/lib/thin/connection.rb:84:in `catch' /opt/rh/rh-ruby22/root/usr/share/gems/gems/thin-1.6.3/lib/thin/connection.rb:84:in `pre_process' /opt/rh/rh-ruby22/root/usr/share/gems/gems/thin-1.6.3/lib/thin/connection.rb:53:in `process' /opt/rh/rh-ruby22/root/usr/share/gems/gems/thin-1.6.3/lib/thin/connection.rb:39:in `receive_data' /opt/rh/rh-ruby22/root/usr/share/gems/gems/eventmachine-1.0.7/lib/eventmachine.rb:187:in `run_machine' /opt/rh/rh-ruby22/root/usr/share/gems/gems/eventmachine-1.0.7/lib/eventmachine.rb:187:in `run' /opt/rh/rh-ruby22/root/usr/share/gems/gems/thin-1.6.3/lib/thin/backends/base.rb:73:in `start' /opt/rh/rh-ruby22/root/usr/share/gems/gems/thin-1.6.3/lib/thin/server.rb:162:in `start' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/handler/thin.rb:19:in `run' /opt/rh/cfme-gemset/gems/rack-1.6.4/lib/rack/server.rb:286:in `start' /opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands/server.rb:80:in `start' /opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:80:in `block in server' /opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `tap' /opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `server' /opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!' /opt/rh/cfme-gemset/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top (required)>' /var/www/miq/vmdb/bin/rails:4:in `require' /var/www/miq/vmdb/bin/rails:4:in `<main>' Created attachment 1098715 [details]
Automate blowup
Created attachment 1098717 [details]
Automate blowup2
*** Bug 1284926 has been marked as a duplicate of this bug. *** Martin, This seems to have been introduced either with grid conversion or by other refactoring in JS. When selecting methods form list of methods, it does not send up selected method's ids upto server. Let me know if you have any questions & or need help. Thanks, ~Harpreet New commit detected on ManageIQ/manageiq/master: https://github.com/ManageIQ/manageiq/commit/f3620989a281bbb8ea1ca06f389b50bc402b038e commit f3620989a281bbb8ea1ca06f389b50bc402b038e Author: Martin Hradil <mhradil> AuthorDate: Wed Nov 25 18:19:52 2015 +0000 Commit: Martin Hradil <mhradil> CommitDate: Wed Nov 25 18:19:52 2015 +0000 Replace #miq_grid_checks with ManageIQ.gridChecks the miq_grid_checks logic failed when more than one list was present in the DOM at the same time (multiple #miq_grid_checks elements -> jquery retrieved random one) This changes the affected code to use a global variable instead of an element. https://bugzilla.redhat.com/show_bug.cgi?id=1283745 app/assets/javascripts/miq_application.js | 6 +++--- app/assets/javascripts/miq_global.js | 1 + app/assets/javascripts/miq_grid.js | 9 ++------- app/assets/javascripts/miq_list_grid.js | 2 +- app/views/layouts/_list_grid.html.haml | 6 ++---- spec/javascripts/miq_grid_spec.js | 9 ++------- 6 files changed, 11 insertions(+), 22 deletions(-) New commit detected on cfme/5.5.z: https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=f40b66448931db4da7cc5323ee881c0a1a220705 commit f40b66448931db4da7cc5323ee881c0a1a220705 Merge: c1e0884 e4f2b79 Author: Harpreet Kataria <hkataria> AuthorDate: Wed Nov 25 15:19:44 2015 -0500 Commit: Harpreet Kataria <hkataria> CommitDate: Wed Nov 25 15:19:44 2015 -0500 Merge branch 'bz1283745-ae-methods-55' into '5.5.z' Replace #miq_grid_checks with ManageIQ.gridChecks the miq_grid_checks logic failed when more than one list was present in the DOM at the same time (multiple #miq_grid_checks elements -> jquery retrieved random one) This changes the affected code to use a global variable instead of an element. https://github.com/ManageIQ/manageiq/pull/5604 https://bugzilla.redhat.com/show_bug.cgi?id=1283745 clean cherry pick See merge request !540 app/assets/javascripts/miq_application.js | 17 +++++++++-------- app/assets/javascripts/miq_global.js | 1 + app/assets/javascripts/miq_grid.js | 9 ++------- app/assets/javascripts/miq_list_grid.js | 2 +- app/controllers/application_controller.rb | 2 +- app/controllers/miq_ae_class_controller.rb | 7 ++----- app/views/layouts/_list_grid.html.haml | 6 ++---- spec/javascripts/miq_grid_spec.js | 9 ++------- 8 files changed, 20 insertions(+), 33 deletions(-) New commit detected on cfme/5.5.z: https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=e4f2b79267a8cb2e48e2778f73029a241c38200e commit e4f2b79267a8cb2e48e2778f73029a241c38200e Author: Martin Hradil <mhradil> AuthorDate: Wed Nov 25 18:19:52 2015 +0000 Commit: Martin Hradil <mhradil> CommitDate: Wed Nov 25 19:01:46 2015 +0000 Replace #miq_grid_checks with ManageIQ.gridChecks the miq_grid_checks logic failed when more than one list was present in the DOM at the same time (multiple #miq_grid_checks elements -> jquery retrieved random one) This changes the affected code to use a global variable instead of an element. https://bugzilla.redhat.com/show_bug.cgi?id=1283745 (cherry picked from commit f3620989a281bbb8ea1ca06f389b50bc402b038e) app/assets/javascripts/miq_application.js | 6 +++--- app/assets/javascripts/miq_global.js | 1 + app/assets/javascripts/miq_grid.js | 9 ++------- app/assets/javascripts/miq_list_grid.js | 2 +- app/views/layouts/_list_grid.html.haml | 6 ++---- spec/javascripts/miq_grid_spec.js | 9 ++------- 6 files changed, 11 insertions(+), 22 deletions(-) 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. https://access.redhat.com/errata/RHSA-2015:2551 |