action #61019
closednew needle can not download during development mode
Description
Step:
1) open development mode
2) after assert specific screen timeout, then open needle edit, add new needle accept_license-license-agreement-s390-11sp4-20191213
3) back to develpment mode and resume the test, but error report show needle_dir not exist and download for new needle failed
Detail log you can check:
https://openqa.suse.de/tests/3702259/file/autoinst-log.txt
[2019-12-13T04:08:17.179 CET] [debug] isotovideo: pausing test execution on timeout as requested at installation-accept_license
[2019-12-13T04:11:51.348 CET] [debug] isotovideo: test execution will be resumed
Use of uninitialized value $needle_dir in concatenation (.) or string at /usr/lib/os-autoinst/OpenQA/Isotovideo/NeedleDownloader.pm line 76.
Use of uninitialized value $needle_dir in concatenation (.) or string at /usr/lib/os-autoinst/OpenQA/Isotovideo/NeedleDownloader.pm line 76.
[2019-12-13T04:11:51.353 CET] [debug] download new needle: http://openqa.suse.de/needles/18687/json => /accept_license-license-agreement-s390-11sp4-20191213.json
[2019-12-13T04:11:51.381 CET] [debug] unable to store download under /accept_license-license-agreement-s390-11sp4-20191213.json
[2019-12-13T04:11:51.381 CET] [debug] download new needle: http://openqa.suse.de/needles/18687/image => /accept_license-license-agreement-s390-11sp4-20191213.png
[2019-12-13T04:11:51.403 CET] [debug] unable to store download under /accept_license-license-agreement-s390-11sp4-20191213.png
[2019-12-13T04:11:51.498 CET] [debug] init needles from /var/lib/openqa/cache/openqa.suse.de/tests/sle/products/sle/needles
[2019-12-13T04:11:53.331 CET] [debug] loaded 10361 needles
[2019-12-13T04:11:53.816 CET] [debug] no match: 29.9s, best candidate: accept_license-license-agreement--20190510 (0.00)
[2019-12-13T04:11:54.797 CET] [debug] no change: 28.9s
[2019-12-13T04:11:55.794 CET] [debug] no change: 27.9s
[2019-12-13T04:11:56.798 CET] [debug] no change: 26.9s
Updated by okurz about 5 years ago
- Category set to Regressions/Crashes
- Priority changed from Normal to High
Thanks for the report. Sounds like a regression.
From recent osd deployment the changes are:
os-autoinst:
$ git log1 --no-merges 5daf6345..163a29fa
c6972328 Remove "use Devel::Cover" from 07-commands.t
c3f4d0ab t/22-svirt.t: add open_serial_console_via_ssh test
fcc97ef1 Makefile: Check for spellcheck requirements
45148918 sshXtermVt: check for SSH port available instead of a simple ping to check host availability
3b138d1e svirt: open_serial_console_via_ssh - doc and cleanup
f2165ae1 Add new test/cover targets and run tests with prove
023870a8 Fix warning on failed load_snapshot command
d9d6eb27 backend_vars: Add infos for generalhw ssh/noVNC and flash cmd
6a13fc98 generalhw: allow to use real serial with ssh/noVNC mode
5d660025 sshXtermVt: wait that SUT is alive on network before starting ssh in xterm Use SSH_XTERM_WAIT_SUT_ALIVE_TIMEOUT to adjust wait time, default 120 s
766aeda5 generalhw: Add flash command support and handle optionnal args for cmd
4f542c86 generalhw: Enable SSH access when VNC is not selected
af27dcf0 generalhw: truncate serial file on start
and for openQA:
$ git log1 --no-merges 22c773f5c..76dde5b6f
9c061cf0e Clarify overlap between states CANCELLED and DONE
4d890418f Improve consistency when dealing with job states/results
e96a23d1f Dependency cron 191208000552
54d9ea600 openqa-clone-custom-git-refspec: Add support for comma-separated job list
167e80b6e openqa-clone-custom-git-refspec: Fix github token authentication by removing quotes
0a7b61932 Update Mojolicious to 8.27 (#2576)
3ccc1c06b Fix height of embedded logfile
df3630548 Use the correct new port in cache service monitoring tests
3ecf80b86 Allow monitoring of Minion jobs on every worker
097c8f50a travis_test: Add missing dictionary for os-autoinst
no obvious hits. Maybe dependency updates?
Sounds more likely that eccf76b3 Allow relative "productdir" and "needledir" relative to "casedir"
could have caused this.
Updated by Xiaojing_liu about 5 years ago
I discussed this problem with coolgw, the NeedleDownloader.pm use a variable $needle::needles_dir
to get the needle directory, but we did not find the needles_dir, there is another variable in needle.pm calls $needledir
. So should change the needles_dir
to needledir
?
Updated by okurz about 5 years ago
First I would like to understand what has happened. 8e359ba9 has introduced the use of the variable but this was already in 2019-10. If it means the developer mode is broken since then and we did not realize I think it's also very important that we improve our tests. Regarding variable names I would prefer "$needle_dir" over "$needledir".
Updated by okurz about 5 years ago
- Status changed from New to In Progress
- Assignee set to okurz
- Target version set to Current Sprint
https://github.com/os-autoinst/os-autoinst/pull/1323
still looking for a way to have a unit test that also shows the problem.
Updated by okurz about 5 years ago
- Status changed from In Progress to Feedback
merged. A followup is https://github.com/os-autoinst/os-autoinst/pull/1324 as an improvement to prevent the problem about referencing an in existant needle dir variable in the future with getter/setter methods.
Updated by okurz almost 5 years ago
- Status changed from Feedback to Resolved
- Target version changed from Current Sprint to Done
both last mentioned PRs are merged and deployed to both o3 and osd meanwhile. I did not observe further problems regarding needle download when last trying on o3 so I guess it's ok now.