action #48452

needledir not found after run openqa-clone-custom-git-refspec script on a job with dynamic needle switching/reloading

Added by coolgw 12 months ago. Updated 11 months ago.

Status:ResolvedStart date:27/02/2019
Priority:NormalDue date:
Assignee:mkittler% Done:

0%

Category:Feature requests
Target version:Current Sprint
Difficulty:medium
Duration:

Description

Reproduce step:

linux-4360:/home/suse/test # /usr/share/openqa/script/openqa-clone-custom-git-refspec https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/6650 http://openqa.suse.de/tests/2500366
Created job #2500418: sle-15-SP1-Installer-DVD-POST-x86_64-Buildpoo2495012_investigation-gaow_poo2495012_010@64bit -> http://openqa.suse.de/t2500418

If you check the autoinst log, you can find some error happen:

[2019-02-27T04:02:25.687 CET] [debug] QEMU: QEMU emulator version 2.9.1(openSUSE Leap 42.3)
[2019-02-27T04:02:25.687 CET] [debug] QEMU: Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
[2019-02-27T04:02:25.692 CET] [debug] Snapshots are supported
[2019-02-27T04:02:25.695 CET] [debug] ||| starting version_switch_origin_system tests/migration/version_switch_origin_system.pm
[2019-02-27T04:02:26.532 CET] [debug] Backend process died, backend errors are reported below in the following lines:
needledir not found: os-autoinst-distri-opensuse/products/sle/needles/ (check vars.json?) at /usr/lib/os-autoinst/needle.pm line 278.  <=== error

[2019-02-27T04:02:26.532 CET] [info] ::: OpenQA::Qemu::Proc::save_state: Saving QEMU state to qemu_state.json
last frame
[2019-02-27T04:02:28.644 CET] [info] ::: OpenQA::Qemu::Proc::save_state: Saving QEMU state to qemu_state.json
[2019-02-27T04:02:28.645 CET] [debug] QEMU: qemu-system-x86_64: terminating on signal 15 from pid 12581 (/usr/bin/isotovideo: backen)
[2019-02-27T04:02:28.645 CET] [debug] sending magic and exit
[2019-02-27T04:02:28.646 CET] [debug] received magic close
[2019-02-27T04:02:28.646 CET] [debug] THERE IS NOTHING TO READ 15 4 3
[2019-02-27T04:02:28.654 CET] [debug] backend process exited: 0
[2019-02-27T04:02:28.658 CET] [debug] commands process exited: 0
[2019-02-27T04:02:29.659 CET] [debug] sysread failed: 
[2019-02-27T04:02:29.659 CET] [debug] /var/lib/openqa/pool/1/os-autoinst-distri-opensuse/tests/migration/version_switch_origin_system.pm:39 called testapi::record_info
[2019-02-27T04:02:29.659 CET] [debug] <<< testapi::record_info(title='Version', output='VERSION=15', result='ok')
[2019-02-27T04:02:29.660 CET] [debug] /var/lib/openqa/pool/1/os-autoinst-distri-opensuse/tests/migration/version_switch_origin_system.pm:40 called migration::reset_consoles_tty
[2019-02-27T04:02:29.660 CET] [debug] <<< testapi::console(testapi_console='x11')
[2019-02-27T04:02:29.661 CET] [debug] /var/lib/openqa/pool/1/os-autoinst-distri-opensuse/tests/migration/version_switch_origin_system.pm:40 called migration::reset_consoles_tty
[2019-02-27T04:02:29.661 CET] [debug] <<< backend::console_proxy::__ANON__(wrapped_call={
  'console' => 'x11',
  'args' => [
              2
            ],
  'function' => 'set_tty'
})
[2019-02-27T04:02:29.664 CET] [debug] syswrite failed Broken pipe at /usr/lib/os-autoinst/myjsonrpc.pm line 40.  <===  error
    myjsonrpc::send_json('GLOB(0x6d982a0)', 'HASH(0x6f3fe70)') called at /usr/lib/os-autoinst/autotest.pm line 313
    autotest::query_isotovideo('backend_last_screenshot_data') called at /usr/lib/os-autoinst/basetest.pm line 521
    basetest::_result_add_screenshot('version_switch_origin_system=HASH(0x60b6a38)', 'HASH(0x6f3ff00)') called at /usr/lib/os-autoinst/basetest.pm line 357
    basetest::runtest('version_switch_origin_system=HASH(0x60b6a38)') called at /usr/lib/os-autoinst/autotest.pm line 357
    eval {...} called at /usr/lib/os-autoinst/autotest.pm line 357
    autotest::runalltests() called at /usr/lib/os-autoinst/autotest.pm line 214
    eval {...} called at /usr/lib/os-autoinst/autotest.pm line 214
    autotest::run_all() called at /usr/lib/os-autoinst/autotest.pm line 267
    autotest::__ANON__('Mojo::IOLoop::ReadWriteProcess=HASH(0x6d408e8)') called at /usr/lib/perl5/vendor_perl/5.18.2/Mojo/IOLoop/ReadWriteProcess.pm line 325
    eval {...} called at /usr/lib/perl5/vendor_perl/5.18.2/Mojo/IOLoop/ReadWriteProcess.pm line 325
    Mojo::IOLoop::ReadWriteProcess::_fork('Mojo::IOLoop::ReadWriteProcess=HASH(0x6d408e8)', 'CODE(0x6daa8e0)') called at /usr/lib/perl5/vendor_perl/5.18.2/Mojo/IOLoop/ReadWriteProcess.pm line 476
    Mojo::IOLoop::ReadWriteProcess::start('Mojo::IOLoop::ReadWriteProcess=HASH(0x6d408e8)') called at /usr/lib/os-autoinst/autotest.pm line 268
    autotest::start_process() called at /usr/bin/isotovideo line 251

Related issues

Related to openQA Project - action #44327: Trigger tests based on git refspec/branch Resolved 25/11/2018

History

#1 Updated by mkittler 12 months ago

  • Description updated (diff)

#2 Updated by okurz 12 months ago

  • Subject changed from [openqa]:Backend process died and needledir not found after run openqa-clone-custom-git-refspec script to needledir not found after run openqa-clone-custom-git-refspec script on a job with dynamic needle switching/reloading
  • Category set to Feature requests

#3 Updated by okurz 12 months ago

  • Related to action #44327: Trigger tests based on git refspec/branch added

#4 Updated by okurz 12 months ago

  • Assignee deleted (okurz)

It would be nice to support however I do not have the time currently to look into this.

#5 Updated by coolo 12 months ago

  • Target version set to Current Sprint
  • Difficulty set to medium

We have people being blocked by this.

#6 Updated by okurz 12 months ago

I wasn't aware that actually people could be blocked. Unless you mean

or maybe


;)

#7 Updated by mkittler 11 months ago

  • Assignee set to mkittler

#8 Updated by mkittler 11 months ago

  • Status changed from New to In Progress

I haven't done any local tests since it doesn't seem trivial. But this small change should fix it: https://github.com/os-autoinst/os-autoinst/pull/1129

#9 Updated by mkittler 11 months ago

  • Status changed from In Progress to Resolved

PR has been merged. Like I said, I'm confident the change will fix the issue. Otherwise, just re-open the ticket.

#10 Updated by coolgw 11 months ago

mkittler wrote:

PR has been merged. Like I said, I'm confident the change will fix the issue. Otherwise, just re-open the ticket.

I also believe this fix can work, but i suspect the code is already in openqa env, i do following test but encounter same issue:

linux-4360:/home/suse/aa/os-autoinst-distri-opensuse # /usr/share/openqa/script/openqa-clone-custom-git-refspec https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/6650 http://openqa.suse.de/tests/2756083
Created job #2761763: sle-15-SP1-Installer-DVD-x86_64-Build200.1-offline_sles11sp4_media_base_all_minimal@64bit -> http://openqa.suse.de/t2761763

Check the log of t2761763 you will found same issue.
[2019-04-02T03:56:34.284 CEST] [debug] QEMU: QEMU emulator version 2.9.1(openSUSE Leap 42.3)
[2019-04-02T03:56:34.284 CEST] [debug] QEMU: Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers
[2019-04-02T03:56:34.287 CEST] [debug] Snapshots are supported
[2019-04-02T03:56:34.288 CEST] [debug] ||| starting version_switch_origin_system tests/migration/version_switch_origin_system.pm
[2019-04-02T03:56:34.795 CEST] [debug] Backend process died, backend errors are reported below in the following lines:
needledir not found: os-autoinst-distri-opensuse/products/sle/needles/ (check vars.json?) at /usr/lib/os-autoinst/needle.pm line 288. <====

[2019-04-02T03:56:34.795 CEST] [info] ::: OpenQA::Qemu::Proc::save_state: Saving QEMU state to qemu_state.json
last frame

#11 Updated by mkittler 11 months ago

Since the log for job 2761763 has already been cleaned up I'm looking into https://openqa.suse.de/tests/2793444.

but i suspect the code is already in openqa env

As you can see in the log only commit 357f71e5 is deployed. (The fix would be the subsequent commit a6c03de.) So let's wait until the fix has been deployed.


Note that you don't have to write me an email - I get notifications for comments in progress. The reason for the delayed response is that I was on vacation. By the way, it is also possible to set the status back to 'In progress' if you think it hasn't actually been resolved.

#12 Updated by coolgw 11 months ago

mkittler wrote:

Since the log for job 2761763 has already been cleaned up I'm looking into https://openqa.suse.de/tests/2793444.

but i suspect the code is already in openqa env


As you can see in the log only commit 357f71e5 is deployed. (The fix would be the subsequent commit a6c03de.) So let's wait until the fix has been deployed.




Note that you don't have to write me an email - I get notifications for comments in progress. The reason for the delayed response is that I was on vacation. By the way, it is also possible to set the status back to 'In progress' if you think it hasn't actually been resolved.

Thanks for your feedback, let's wait the deployment.

Also available in: Atom PDF