action #10806
closedOpening needle editor on a screenshot where an already deleted needle is part of candidate needles gives error 500
0%
Description
observation¶
Opening needle editor from
https://openqa.opensuse.org/tests/242805#step/grub_test/1
yields puking trex and error messages in log:
[Mon Aug 15 14:15:49 2016] [885:debug] GET "/tests/242805/modules/grub_test/steps/1/edit"
[Mon Aug 15 14:15:49 2016] [885:debug] Routing to controller "OpenQA::WebAPI::Controller::Step" and action "edit"
[Mon Aug 15 14:15:49 2016] [885:debug] reading /var/lib/openqa/testresults/00242805-opensuse-42.2-DVD-ppc64le-Build0107-boot_to_snapshot@ppc64le/details-grub_test.json
[Mon Aug 15 14:15:49 2016] [885:warn] /var/lib/openqa/share/tests/opensuse/products/opensuse/needles/grub_test-grub2-OWF-20160815.json: No such file or directory
[Mon Aug 15 14:15:49 2016] [885:error] Could not find needle: grub_test-grub2-OWF-20160815 for opensuse 42.2
[Mon Aug 15 14:15:49 2016] [885:error] fileparse(): need a valid pathname at /usr/share/openqa/script/../lib/OpenQA/WebAPI/Controller/Step.pm line 179.
[Mon Aug 15 14:15:49 2016] [885:debug] Template "exception.production.html.ep" not found
[Mon Aug 15 14:15:49 2016] [885:debug] Template "exception.html.ep" not found
[Mon Aug 15 14:15:49 2016] [885:debug] Rendering template "mojo/exception.html.ep"
[Mon Aug 15 14:15:49 2016] [885:debug] 500 Internal Server Error (0.029532s, 33.862/s)
[Mon Aug 15 14:15:50 2016] [886:debug] POST "/api/v1/jobs/242883/status"
steps to reproduce¶
- login on https://openqa.opensuse.org
- go to https://openqa.opensuse.org/tests/242805#step/grub_test/1
- click "Create new needle"
- Observe error display
- Optional: Observe logs on o3:/var/log/openqa
problem¶
The needle got deleted after the test ran. The needle editor should not crash but probably just ignore this needle from being parsed.
suggestions¶
- Handle non-existing needles gracefully
further details¶
related to https://progress.opensuse.org/issues/13192
original content from lnussel:
Looks like needles that got cleaned up are not shown at all in such screens:
https://openqa.opensuse.org/tests/97538/modules/bootloader/steps/1
The needle editor even throws. The no longer available needles should be listed but marked as no longer existing instead
workaround¶
Retrigger job which should cause the current set of needles loaded and then again open the needle editor on only present candidates.
Updated by mkittler over 8 years ago
- Subject changed from display removed needles in details screen and needle editor to Opening needle editor on a screenshot where an already deleted needle is part of candidate needles gives error 500
- Description updated (diff)
- Status changed from New to In Progress
- Priority changed from Normal to High
PR: https://github.com/os-autoinst/openQA/pull/830
Displays an error message if a needle has been deleted or couldn't be parsed.
Updated by mkittler over 8 years ago
- Has duplicate action #13194: Opening needle editor on a screenshot where an already deleted needle is part of candidate needles gives error 500 added
Updated by okurz over 8 years ago
PR merged, waiting for confirmation in production.
Updated by mkittler over 8 years ago
Is this already working in production? I can't test it myself because I'm not admin.
Updated by okurz over 8 years ago
- Status changed from In Progress to Resolved
It's deployed now:
osd# rpm -q --changelog openQA | head
* Mon Aug 29 2016 rd-ops-cm@suse.de
- Update to version 4.4.1472476595.8609e09:
* Fix admin layout for test suites with long keys Currently test suites slenkins-tests-ceph-control and s390_hsi-l2
* Make apache follow symlinks for assets directory
* Fix '0' duration for previous jobs on running or scheduled job
* Allow pinning comments as group description
* Fix jobs templates layout
* Vertically align progress bar with build number
* Re-add boundary hack
I am not sure we need to delete needles now in production to confirm this. Let's assume this is resolved.