action #63814
[functional][y][virtualization][hyperv][timeboxed:12h] msdos test for hyperv, fails in validate_fs_table
0%
Description
Even though same module works for other architectures, validate_fs_table cannot verify that partitions were successfully created.
The point of the code that fails is when the output of command "lsblk -n", split at every new line, is saved in @lsblk_output and it is parsed by:
foreach (@lsblk_output) {
if ($_ =~ /(?\Q$args->{mount_point}\E\z)/) {
$check = $+{check};
last;
}
On step https://openqa.suse.de/tests/3904536#step/validate_fs_table/14
it is shown that the mount point "/" is indeed created, but it cannot be identified by "$_ =~ /(?\Q$args->{mount_point}\E\z)/".
Observation¶
openQA test in scenario sle-15-SP2-Online-x86_64-msdos@svirt-hyperv fails in
validate_fs_table
Reproducible¶
Always.
History
#1
Updated by syrianidou_sofia over 3 years ago
- Category set to Bugs in existing tests
#2
Updated by okurz about 3 years ago
- Subject changed from msdos test for hyperv, fails in validate_fs_table to [functional][y][virtualization][hyperv] msdos test for hyperv, fails in validate_fs_table
#3
Updated by riafarov about 3 years ago
- Due date set to 2020-04-07
#4
Updated by riafarov about 3 years ago
- Priority changed from Normal to High
#5
Updated by riafarov about 3 years ago
- Subject changed from [functional][y][virtualization][hyperv] msdos test for hyperv, fails in validate_fs_table to [functional][y][virtualization][hyperv][timeboxed:12h] msdos test for hyperv, fails in validate_fs_table
- Status changed from New to Workable
- Target version set to Milestone 32
Let's try to figure out root cause, as it might affect other tests as well. In case, nothing pops up, we can disable this test suite from execution on hyper-v.
#6
Updated by syrianidou_sofia about 3 years ago
- Status changed from Workable to In Progress
- Assignee set to syrianidou_sofia
#7
Updated by syrianidou_sofia about 3 years ago
Interesting finding, on hyperV, the array that is saved in @lsblk_output probably contains spaces at the end. I tried various small changes and narrowed down that the cause of failure was the "\z" in regex :
if ($_ =~ /(?\Q$args->{mount_point}\E\z)/)
In the beginning I though there was newline at the and and expected that changing "\z" to "\Z" would fix the issue, but I was wrong. Adding "\s*" did the work. So,
if ($_ =~ /(?\Q$args->{mount_point}\E\s*\Z)/)
works for hyperV (and rest of architectures hopefully, I ran verification only for x86_64 and hyperV).
Pull request:
https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/9885
#8
Updated by syrianidou_sofia about 3 years ago
- Status changed from In Progress to Feedback
#9
Updated by JERiveraMoya about 3 years ago
- Status changed from Feedback to Resolved