Project

General

Profile

Actions

action #25172

closed

[sle][functional][medium][research][u] test fails in login - Virtio terminal does not support send_key. Use type_string.

Added by SLindoMansilla over 6 years ago. Updated about 6 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Enhancement to existing tests
Start date:
2017-09-11
Due date:
2018-04-10
% Done:

0%

Estimated time:
Difficulty:

Description

Acceptance criteria

  • DONE AC1: the scenario "autoyast-supportserver" does not fail on this error anymore
  • DONE AC2: the workaround in the testsuite setting of "autoyast-supportserver" is not there anymore

Observation

openQA test in scenario sle-15-Leanos-DVD-x86_64-autoyast-supportserver@64bit fails in
login

DIE Virtio terminal does not support send_key. Use type_string (possibly with an
ANSI/XTERM escape sequence), or switch to a console which sends key presses, not
terminal codes.
 at /usr/lib/os-autoinst/backend/baseclass.pm line 535.

 at /usr/lib/os-autoinst/backend/baseclass.pm line 80.
    backend::baseclass::die_handler('Virtio terminal does not support send_key. Use type_string (p...') called at /usr/lib/perl5/5.18.2/Carp.pm line 100
    Carp::croak('Virtio terminal does not support send_key. Use type_string (p...') called at /usr/lib/os-autoinst/consoles/virtio_screen.pm line 57
    consoles::virtio_screen::send_key('consoles::virtio_screen=HASH(0x827bb30)', 'HASH(0x8289958)') called at /usr/lib/os-autoinst/backend/baseclass.pm line 535
    backend::baseclass::bouncer('backend::qemu=HASH(0x7d13308)', 'send_key', 'HASH(0x8289958)') called at /usr/lib/os-autoinst/backend/baseclass.pm line 540
    backend::baseclass::send_key('backend::qemu=HASH(0x7d13308)', 'HASH(0x8289958)') called at /usr/lib/os-autoinst/backend/baseclass.pm line 75
    backend::baseclass::handle_command('backend::qemu=HASH(0x7d13308)', 'HASH(0x828c350)') called at /usr/lib/os-autoinst/backend/baseclass.pm line 436
    backend::baseclass::check_socket('backend::qemu=HASH(0x7d13308)', 'IO::Handle=GLOB(0x8100528)') called at /usr/lib/os-autoinst/backend/qemu.pm line 1000
    backend::qemu::check_socket('backend::qemu=HASH(0x7d13308)', 'IO::Handle=GLOB(0x8100528)', 0) called at /usr/lib/os-autoinst/backend/baseclass.pm line 208
    eval {...} called at /usr/lib/os-autoinst/backend/baseclass.pm line 156
    backend::baseclass::run_capture_loop('backend::qemu=HASH(0x7d13308)') called at /usr/lib/os-autoinst/backend/baseclass.pm line 129
    backend::baseclass::run('backend::qemu=HASH(0x7d13308)', 6, 9) called at /usr/lib/os-autoinst/backend/driver.pm line 85
    backend::driver::start('backend::driver=HASH(0x6aa5960)') called at /usr/lib/os-autoinst/backend/driver.pm line 48
    backend::driver::new('backend::driver', 'qemu') called at /usr/bin/isotovideo line 212
    main::init_backend() called at /usr/bin/isotovideo line 276

Reproducible

Fails since (at least) Build 173.4

Expected result

Last good: 170.10 (or more recent)

Further details

Always latest result in this scenario: latest

Actions #1

Updated by okurz over 6 years ago

  • Due date set to 2017-09-27

expected exit criteria: Make it a workable item

Actions #2

Updated by SLindoMansilla over 6 years ago

  • Assignee set to SLindoMansilla

I pick the ticket from backlog to groom it. "Due date" only applies for grooming, not to resolve the ticket.

Actions #3

Updated by SLindoMansilla over 6 years ago

The job passes if setting VIRTIO_CONSOLE=0 is used

https://openqa.suse.de/tests/1169522

Actions #4

Updated by SLindoMansilla over 6 years ago

The setting VIRTIO_CONSOLE=1 is set on the machine 64bit.

The setting should be change for this test suite temporary and contact with rpalethorpe about how to send the key properly.

Actions #5

Updated by SLindoMansilla over 6 years ago

It is possible to use a parameter terminate_with to send Ctrl-c: ETX (End Of Text)

os-autoinst/consoles/virtio_screen.pm

for ($nargs->{terminate_with} || '') {
    if    (/^ETX$/) { $term = "\cC"; }    #^C, Ctrl-c, End Of Text
    elsif (/^EOT$/) { $term = "\cD"; }    #^D, Ctrl-d, End Of Transmission
}
Actions #6

Updated by SLindoMansilla over 6 years ago

  • Status changed from New to In Progress
  • Assignee deleted (SLindoMansilla)

Ready to be picked WHEN it is planned.

Actions #7

Updated by okurz over 6 years ago

  • Subject changed from [sles][functional] test fails in login - Virtio terminal does not support send_key. Use type_string. to [sle][functional] test fails in login - Virtio terminal does not support send_key. Use type_string.
  • Description updated (diff)

I set VIRTIO_CONSOLE=0 on the testsuite "autoyast-supportserver" as a workaround mentioning this ticket so that we don't have hard to review incompletes for the time being. Also I added acceptance criteria to the ticket so that we also do not forget to remove the workaround from the test suite again before this ticket is resolved.

Actions #8

Updated by okurz over 6 years ago

  • Status changed from In Progress to Feedback

ready to be picked but not urgent, maybe next sprint

Actions #9

Updated by okurz over 6 years ago

  • Target version set to Milestone 12
Actions #10

Updated by okurz over 6 years ago

  • Project changed from openQA Project to openQA Tests
  • Due date deleted (2017-09-27)
  • Category changed from 132 to Enhancement to existing tests
Actions #11

Updated by okurz over 6 years ago

  • Due date set to 2018-02-27
  • Target version changed from Milestone 12 to Milestone 14
Actions #12

Updated by mgriessmeier about 6 years ago

  • Assignee set to mgriessmeier
Actions #13

Updated by riafarov about 6 years ago

  • Due date changed from 2018-02-27 to 2018-03-13

Please, update.

Actions #14

Updated by mgriessmeier about 6 years ago

  • Subject changed from [sle][functional] test fails in login - Virtio terminal does not support send_key. Use type_string. to [sle][functional][medium][research] test fails in login - Virtio terminal does not support send_key. Use type_string.
  • Status changed from Feedback to Workable
Actions #15

Updated by mgriessmeier about 6 years ago

  • Status changed from Workable to Feedback

Pull request opened: https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/4523

keeping in feedback until merge and workaround variable is removed

Actions #16

Updated by SLindoMansilla about 6 years ago

As spoken with Matthias, as he will not be available next week, when Richard answer, I could take this over.

Actions #17

Updated by SLindoMansilla about 6 years ago

We should try the steps suggested by rpalethorpe to handle low level input methods on the serial console to avoid race conditions like this http://opeth/tests/156#step/setup/1.
At the moment only available in a PR: https://github.com/os-autoinst/openQA/pull/1586

Actions #18

Updated by okurz about 6 years ago

  • Due date changed from 2018-03-13 to 2018-03-27
  • Status changed from Feedback to Workable
  • Target version changed from Milestone 14 to Milestone 15

documentation PR is live now. I guess you can continue working on this change now again.

Actions #19

Updated by mgriessmeier about 6 years ago

will revisit the ticket beginning next week

Actions #20

Updated by mgriessmeier about 6 years ago

  • Status changed from Workable to In Progress
Actions #21

Updated by mgriessmeier about 6 years ago

I don't know how to proceed here...
the documentation is kinda good, but apparently the implementation still lacks something

so I've tried with

  • sending ETX twice -> no success
  • remove the | tee -> no success
  • type_string '\cC' -> no success

the only thing which could work is to switch to another console which is not virtio, but this would invalidate the test I guess, as it states

 33     # the supportserver image can be different version than the currently tested system
 34     # so try to login without use of needles
 35     select_virtio_console();

if it's fine to switch to another console, I can try that - but that needs to be clarified with the maintainer of the supportserver tests

Actions #22

Updated by mgriessmeier about 6 years ago

  • Status changed from In Progress to Feedback

updated PR with switching to root-console first
-> verification run

Actions #23

Updated by mgriessmeier about 6 years ago

  • Due date changed from 2018-03-27 to 2018-04-10

waiting for merge

Actions #24

Updated by okurz about 6 years ago

PR merged.

Actions #25

Updated by mgriessmeier about 6 years ago

  • Subject changed from [sle][functional][medium][research] test fails in login - Virtio terminal does not support send_key. Use type_string. to [sle][functional][medium][research][u] test fails in login - Virtio terminal does not support send_key. Use type_string.

Added [u] tag

PR is merged - I've removed the workaround variable and retriggered the job

Actions #26

Updated by mgriessmeier about 6 years ago

  • Description updated (diff)
  • Status changed from Feedback to Resolved

test passed on o.s.d - journalctl -f is cancelled correctly
-> resolved

Actions

Also available in: Atom PDF