From 783b431fb3fa263c90a34fdf29700f8dc58cca54 Mon Sep 17 00:00:00 2001 From: Martin Loviska Date: Mon, 6 Aug 2018 15:07:21 +0200 Subject: [PATCH] 5 --- lib/partition_setup.pm | 2 +- tests/console/lvm_thin_check.pm | 25 +++++++++++++++---- .../partitioning_lvm_thin_provisioning.pm | 2 +- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/lib/partition_setup.pm b/lib/partition_setup.pm index b37e360117e1..c04fd544dfcf 100644 --- a/lib/partition_setup.pm +++ b/lib/partition_setup.pm @@ -17,7 +17,7 @@ use testapi; use version_utils 'is_storage_ng'; use installation_user_settings 'await_password_check'; -our @EXPORT = qw(addpart addlv create_new_partition_table enable_encryption_guided_setup select_first_hard_disk take_first_disk %partition_roles); +our @EXPORT = qw(addpart addlv addvg create_new_partition_table enable_encryption_guided_setup select_first_hard_disk take_first_disk %partition_roles); our %partition_roles = qw( OS alt-o diff --git a/tests/console/lvm_thin_check.pm b/tests/console/lvm_thin_check.pm index 79b0e89a4da1..b31adaadbcba 100644 --- a/tests/console/lvm_thin_check.pm +++ b/tests/console/lvm_thin_check.pm @@ -20,6 +20,13 @@ use y2logsstep; use serial_terminal 'select_virtio_console'; sub run { + my $lv_stats = { + write_access => 'read/write', + status => 'available', + readahead => 'auto', + block_device => "\d+:\d" + }; + select_virtio_console(); record_info('INFO', 'Print lvm setup'); assert_script_run 'lsblk'; @@ -29,10 +36,12 @@ sub run { assert_script_run 'pvs -a'; # thin volume does not exceed thin pool size in our tests my @volumes = split(/\n/, script_output q[lvscan | awk '{print $2}'| sed s/\'//g]); - + # check for read only volumes and foreach (@volumes) { - chomp; - assert_script_run "lvdisplay $_"; + foreach (keys %{$lv_stats}) { + chomp; + assert_script_run "lvdisplay $_ | grep $lv_stats->{$_}"; + } } record_info('INFO', 'Create a file on thin volume'); @@ -40,13 +49,19 @@ sub run { assert_script_run "dd if=/dev/zero of=$test_file count=1024 bs=1M"; assert_script_run "ls -lah $test_file"; assert_script_run 'lvs -a | tee instant_usage'; - assert_script_run 'diff original_usage instant_usage'; + if ((assert_script_run 'diff original_usage instant_usage') != 1) { + die "LVM usage stats do not differ!"; + } } sub post_fail_hook { my $self = shift; select_console 'root-console'; - $self->save_and_upload_log('lvmdump', '/tmp/lvmdump_output'); + my $lvmdump_regex = "\/root\/ldmdump-.*-\d+\.tgz"; + if (script_output 'lvmdump' =~ /(?$lvmdump_regex)/) { + upload_logs "$+{lvmdump_gzip}"; + } + $self->save_and_upload_log('lvm dumpconfig', '/tmp/lvm_dumpconf.out'); } 1; diff --git a/tests/installation/partitioning_lvm_thin_provisioning.pm b/tests/installation/partitioning_lvm_thin_provisioning.pm index 7d774c9e479a..54b5eb2ca71e 100644 --- a/tests/installation/partitioning_lvm_thin_provisioning.pm +++ b/tests/installation/partitioning_lvm_thin_provisioning.pm @@ -15,7 +15,7 @@ use strict; use warnings; use base 'y2logsstep'; use testapi; -use partition_setup qw(create_new_partition_table addpart addlv); +use partition_setup qw(create_new_partition_table addpart addlv addvg); use version_utils 'is_storage_ng'; sub run {