1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
Commit Graph

3450 Commits

Author SHA1 Message Date
Zdenek Kabelac
057b1bde75 tests: keep more LVs inactive 2024-05-10 21:42:00 +02:00
Zdenek Kabelac
e54bfe2a83 tests: mask result from kill command 2024-05-10 21:41:13 +02:00
Zdenek Kabelac
cd6e1d0475 tests: wait for running dmeventd
Add slight delay for waiting until 'started' dmeventd is
responsing to other 'dmeventd -i' command.

TODO: race observed here is somewhat unclear, might need some more
details
2024-05-10 17:53:44 +02:00
Zdenek Kabelac
b678decfca tests: kill process in flock group
There is no reason to wait for 10sec when removing 'vg' at test
exit - we just need to kill 'sleep 10' process forked from flock.

(Not using 'flock -F' as this flag is not across all machines used
for testing)
2024-05-10 17:36:48 +02:00
Zdenek Kabelac
87cd61c6bd tests: skip test on systems without delay_dev
On such systems this test only sleeps for 30sec.
2024-05-10 17:35:07 +02:00
Zdenek Kabelac
d2c6866bdb tests: vdo conversion updates 2024-05-10 01:15:55 +02:00
Zdenek Kabelac
7a74229a8e tests: runner updates line with last timestamp 2024-05-08 16:14:58 +02:00
Zdenek Kabelac
c48cc22b18 const: tests 2024-05-08 01:55:21 +02:00
Zdenek Kabelac
ce97056a7a tests: resize thin-pool with vdo data 2024-04-26 21:37:51 +02:00
Zdenek Kabelac
82c062be74 tests: correcting test for invalid commnad
Correting typo in specification of create --typo.
Also removing some unnecessary parts...
2024-04-26 21:37:51 +02:00
Zdenek Kabelac
db96e81f76 tests: wait for raid being in sync 2024-04-26 12:43:03 +02:00
Zdenek Kabelac
68a8555d69 tests: avoid race check 2024-04-24 13:54:05 +02:00
Zdenek Kabelac
baebd7ca29 tests: accept also closing status 2024-04-24 13:44:58 +02:00
Zdenek Kabelac
ba13ac8704 tests: correct linking order for RT_LIBS 2024-04-24 11:34:35 +02:00
Zdenek Kabelac
5d23054cb3 tests: update dmsecuretest
Look not only for whole 64byte sequence,
but seek also 32byte, 16byte and 8byte parts of the
key.

Currently to pass memcpy ZMM problems add possible
workaround in the form of GLIBC_TUNABLES setting.
2024-04-23 22:06:30 +02:00
Zdenek Kabelac
6caeffa4be tests: look also for 16byte sequences 2024-04-20 00:03:18 +02:00
Zdenek Kabelac
22571fb36a tests: add explicit call to lvs
Avoid using 'lvs' from  'get' shell - as that would wait until
whole group of processes is finished.

TODO: rethink what would be the point of starting 'dmeventd' with lvs.
It seems to break some rules.
2024-04-19 23:56:16 +02:00
Zdenek Kabelac
b885355e76 tests: add extra dmsetup table
Strange race seems to be occuring here from time to time...
2024-04-16 21:17:42 +02:00
Zdenek Kabelac
2d01af8e56 tests: add another explicit barrier
Just to be sure compiler cannot optimize this out.
2024-04-16 21:17:42 +02:00
Zdenek Kabelac
bb276bf250 tests: update aux for vdo checking
Detect also presence of  'vdoformat' tool.
Fallback to 'kvdo' modprobe only when dm-vdo fails
(removed ugly error message from log)

Also add extra check for scsi model being present
so the test can wait a bit if 'scsi_debug' takes longer time.

No need for 'aux' within aux.
2024-04-16 21:17:42 +02:00
Zdenek Kabelac
93c47a2b94 tests: ensure sscan buffer is nul terminated
Avoid reading past the read buffer when sscanf is used.
2024-04-16 01:11:32 +02:00
Zdenek Kabelac
84b084c9b6 configure.ac: define DEFAULT_PROC_DIR in one place
Let's move proc into include/configure.h so this define can
be easily used across the source base.

Configure defines it - but ATM we do not provide any configure
option to change it - there should be no need to ever change it.
2024-04-15 13:38:44 +02:00
Zdenek Kabelac
8ce8e33a44 tests: better handling for dmeventd restart
Handle the case, where we  'kill -9' running dmeventd,
and restarting 'dmeventd -R' manages to still contact this
'zombie' damone and manages to get list of monitored devices
out of this and eventually 'run' new and in this case
unexpected instance of dmeventd.
2024-04-12 00:21:46 +02:00
Zdenek Kabelac
aae7c98aaa tests: fallback to normal hostname on older machines
hostname -I  is newer option, add some fallback
2024-04-12 00:21:45 +02:00
Zdenek Kabelac
81dc0e72da tests: explicitely use event_activation=1
Some test do expect event_activation to be set.
So add explicit configuring of this setting in tests,
but also add new default which kind of does it globally
as it's expected default  (yet our testing rpms might
be create with disabled event_activation)
By adding this to each test individually - it's now easy
to locate such tests...
2024-04-12 00:21:45 +02:00
Zdenek Kabelac
8ba9574ed4 tests: aux extend lvmdbusd timeout for startup
Unclear yet what's going on here - so try waiting up 10second
to see if our service will get there.
Print task list if not...
2024-04-10 17:38:26 +02:00
Zdenek Kabelac
faf4fe0714 tests: use lvname with space
Occasionally this test fails as soemtimes UUID actually
may constain LV[d] string causing it to grep mismatch
UUID and LV name and eventually fail test for wrong reason.

As a simple workaround print the LV name first and
check the name is followed by a space character.
2024-04-10 17:36:50 +02:00
Zdenek Kabelac
8d1a946a9b tests: update unit-tests
Fix some memleaks.
Drop call of bcache_clear_fd() when bache was not initialized.
2024-04-10 00:04:54 +02:00
Zdenek Kabelac
8a2839c867 tests: update for faster dmeventd
We can drop sleep 6, since dmeventd will quit immediatelly
when no running dmeventd can be restarted.

Also restart itself check more conditions.
2024-04-10 00:03:33 +02:00
Zdenek Kabelac
6382d141fa tests: add missing vgck
This test missed being adjusted with this updated workflow
so it's been testing something different...
2024-04-10 00:03:09 +02:00
Zdenek Kabelac
32c6dbb425 tests: aux fallback to sleep
When dbus-send tool is not present on system, fallback to sleep.
2024-04-10 00:03:09 +02:00
Zdenek Kabelac
6a95c66f5b tests: drop test warning
These kernel are not going to be ever fixed, so drop warning
being displayed for these tests.
2024-04-10 00:03:09 +02:00
Zdenek Kabelac
cb16f5053f cov: make obvious how free of memory happens
When there is allocation, it needs also deallocator.
Remove no longer needed coverity warning masking.
2024-04-10 00:03:09 +02:00
Zdenek Kabelac
39d375ecd1 tests: include date and hostname IPs in test log
When our testing machines are going wild with NetworkManager,
this might be slightly helping.
2024-04-08 22:24:18 +02:00
Zdenek Kabelac
b120b2932d tests: add timestamp to kernel line
Parse timestamps included in kernel kmsg line and add current system
time to the messsage as well - this makes it easier to look over,
when chasing some messages in journal after some time...
2024-04-08 22:24:18 +02:00
Zdenek Kabelac
08888d57cb tests: check for supported dBus interface
Instead of blindly relying on sleeping, that dBus understands our
dBus interface, query the info with dbus-send.
2024-04-08 22:24:18 +02:00
Zdenek Kabelac
f524dd80f4 tests: query dmeventd instead of sleep
Checking status of running instance of dmeventd should be a better 'sleep'.
2024-04-08 22:24:18 +02:00
Zdenek Kabelac
d8e52aed87 tests: use non inlined copy constructor
gcc would like to see code without trying to inline large
copy constructor used for std::vector
2024-04-08 14:52:28 +02:00
Zdenek Kabelac
88ad83e3d6 makefiles: use SHOW 2024-04-08 14:52:23 +02:00
Zdenek Kabelac
04e8f8c93d tests: add sleep
mdadm may eventually be too slow...
2024-04-07 20:47:28 +02:00
Zdenek Kabelac
7fbd3bac71 tests: skip convertions tests for usptream driver 2024-04-05 14:25:27 +02:00
Zdenek Kabelac
6305db53c1 tests: add correct condition for skip of lvmpolld tests
Check when flavour want to test  lvmlockd & lvmpolld tests and
in for case ignore SKIP_WITH_LVMPOLLD from test script.
2024-04-05 14:14:50 +02:00
Zdenek Kabelac
000f55a1a2 tests: updated check for dm-vdo module
With new kernels dm-vdo is now correct name,
so use standard loading and just try extra for kvdo.
2024-04-04 19:38:21 +02:00
Zdenek Kabelac
ecacb2b544 tests: inittest fix skipping condition 2024-04-04 19:38:21 +02:00
Zdenek Kabelac
466265eaa6 tests: better constructor 2024-03-29 01:36:48 +01:00
Tony Asleson
59b46fc8cd tests: lvmdbusest.py faster test_z_sigint
Reduce #lv and intervals.

We are trying to ensure that the daemon stops while it's busy processing
its internal queues.  Decrease the number of LVs and intervals to allow
this test to complete in less time.
2024-03-28 18:18:37 +01:00
Tony Asleson
f2edc96bb6 tests: lvmdbustest.py skip if g_tmo != 0
This test doesn't have any additional value when running when g_tmo != 0.
2024-03-28 18:18:37 +01:00
Zdenek Kabelac
69f9fcfd20 tests: skip some mirror tests for polld and lockd
Leave just lvconvert-mirror-basic-1 test
for polld and lockd testing.
2024-03-27 01:26:57 +01:00
Zdenek Kabelac
1c2dff2655 tests: missed reduction of raid check 2024-03-25 17:17:40 +01:00
Zdenek Kabelac
7e5e98e4f2 tests: fix improper merge within last update 2024-03-25 15:01:48 +01:00
Zdenek Kabelac
75e532417e tests: check for raid shrink support
Shrink of raid LVs supported from 1.9
2024-03-25 14:46:02 +01:00
Zdenek Kabelac
781bf867cc tests: update lvconvert-raid.sh
Handle case of removal of orig leg while it's being synchronized.
2024-03-25 11:18:29 +01:00
Zdenek Kabelac
658c446f13 tests: update raid_leg_status check
Do not wait for progres (non zero processed amount of blocks),
when the raid status already reported 'resync' or 'recover'.
2024-03-25 11:18:29 +01:00
Zdenek Kabelac
e8b7b53db1 tests: aux avoid discarding created loop devices
Usually it's not a big deal, but couple test creates
large devices and here discard operation just excersice
CPU and consumes time.
2024-03-25 11:18:29 +01:00
Zdenek Kabelac
68939136c1 tests: reduction needs to ignore fs
Drop 'should' usage and use  --fs ignore when reducing raid LV.
2024-03-25 11:18:29 +01:00
Zdenek Kabelac
d7f6d5b9da tests: update extend of raid
Here we actually need to slowdown only $dev2 - since repair operation
is only reading data from this device and compares it with origin $dev1,
and if they match there is no write...
2024-03-25 11:15:58 +01:00
Zdenek Kabelac
c5827b2013 tests: check cachevol makes one table line for -cmeta
When using cache with cachevol, make sure the subdevice -cmeta
creates just one line.
2024-03-21 22:35:47 +01:00
Zdenek Kabelac
4efe8e83cf tests: add more sleep time
Give some more waiting time to testing loop.
2024-03-20 11:19:26 +01:00
Zdenek Kabelac
9c9c37aa11 tests: external origin chaining
Add tests for stacked usage of external origins.
2024-03-17 13:17:53 +01:00
David Teigland
4f9215e70f devices file: rename unused system.devices
If lvm.conf has use_devicesfile=0 and /etc/lvm/device/system.devices
exists, then rename it to system.devices-unused.YYYYMMDD.HHMMSS.
This prevents an old, incorrect system.devices from being used in
the future if lvm.conf is changed to use_devicesfile=1.
2024-02-15 11:40:37 -06:00
David Teigland
e59027e4f7 devices file: back up each version
Create backup copies of system.devices in /etc/lvm/devices/backup
named system.devices-YYYYMMDD.HHMMSS.NNNN.  NNNN is the version
counter from the file.

Each time that an lvm command writes a new system.devices file,
it also writes the same file in the backup directory.

A new comment line is added to system.devices with HASH=<num>
where <num> is a crc calculated from the uncommented lines in
system.devices.  This lets lvm detect if the file has been
modified outside of lvm itself.

If system.devices is edited directly, the next time a command
reads the file, the crc will not match the HASH value.  The
command will then rewrite system.devices with the correct HASH
value, and create a backup reflecting the edits.

A default limit of 50 backup files is kept, configurable by
lvm.conf devicesfile_backup_limit (set to 0 to disable backups.)
2024-02-15 11:40:37 -06:00
Zdenek Kabelac
c8f9dd2368 tests: testing creation of compressed thin-pool 2024-01-10 14:02:22 +01:00
David Teigland
e38d974b50 lvmdevices: handle empty fields in new check and update
Expand the recent commit 37773c1055
"lvmdevices: new output and options for check and update"
to specifically cover entries with empty fields.
2023-11-03 15:28:26 -05:00
David Teigland
37773c1055 lvmdevices: new output and options for check and update
- add new comparison between old and new entries, and use this
  as the basis for new dedicated output for check and update
- add new --refresh option to search for missing PVIDs on all
  devices, and possibly update the device ID
- internally, only use the term "refresh" for cases where a
  new device ID may be found and assigned for a missing PVID
2023-11-02 11:46:31 -05:00
David Teigland
ec47f0763d device_id: reduce messages
Don't print messages about devices file entries that are
missing or are being updated.
2023-11-02 11:46:31 -05:00
Zdenek Kabelac
5210f6665c tests: unit test for raid status 2023-10-31 18:53:30 +01:00
Zdenek Kabelac
0e2904d2c5 tests: longer timeout 2023-10-31 18:53:30 +01:00
Tony Asleson
3fa424f893 tests: lvmdbusd handles empty LvCommon.Devices
During vdo testing with smaller block devices the test needs to determine
which PVs in a VG are unused.  This was leveraging LvCommon.Devices, but
that isn't populated when a LV is resides on a LV pool instead of a PV.
This is a known limitation of the code at this time.  For now we will walk
all the PVs in the VG looking for ones that don't have any associated LVs
and use them instead.

Signed-off-by: Tony Asleson <tasleson@redhat.com>
2023-10-31 18:53:07 +01:00
David Teigland
282d947c36 tests: add devicesfile-misc 2023-10-23 15:17:29 -05:00
Zdenek Kabelac
c7851b9c34 tests: longer delay between table reloads
It looks like there is some kernel bug/limitation
that may cause invalid table load processing:

dmsetup load LVMTEST-LV1
device-mapper: reload ioctl on LVMTEST-LV1  failed: Invalid argument
  md/raid:mdX: reshape_position too early for auto-recovery - aborting.
           md: pers->run() failed ...
device-mapper: table: 253:38: raid: Failed to run raid array (-EINVAL)
device-mapper: ioctl: error adding target to table

However ATM there is not much we can do then make delays bigger.
TODO: fixing md core...
2023-10-20 00:21:13 +02:00
Zdenek Kabelac
5d4b2f9ea9 tests: skip on problematic kernel 2023-10-20 00:21:13 +02:00
Zdenek Kabelac
2e56778038 tests: aux kills lvmdbusd more agressively
It's not exactly trivial to kill 'frozen' lvmdbusd.
So skip the test testing interruption and also add killall use.
2023-10-18 01:48:50 +02:00
Zdenek Kabelac
beae68890c tests: wait till snapshot merge is finished
In case test runs with lvmpolld (and lvmlockd) wait till snapshot
merge is finished.
2023-10-18 01:47:13 +02:00
Zdenek Kabelac
8b8c9dea8a tests: init of dmevent may take upto a second
Dynamic load of plugins takes a while...
2023-10-17 23:24:03 +02:00
Zdenek Kabelac
249446e0aa tests: avoid busy looping
While waiting for the change, don't busy loop on CPU.
TODO: fix missing notification about device removal.
2023-10-17 16:49:23 +02:00
Zdenek Kabelac
cb2873ba1c tests: ensure file is removed
Make sure there are no previous loop results.
2023-10-17 16:49:23 +02:00
David Teigland
a836872199 device_id: accept wwids containing QEMU HARDDISK
A wwid may be useful even when it contains the string
"QEMU HARDDISK", so allow these to be used.
2023-10-16 15:21:22 -05:00
Zdenek Kabelac
d12e843e4a tests: aux mdadm_assemble skip path
If the old mdadm fails to assembly array due to its internal buggy logic
skip the test instead of failure.
2023-10-16 00:11:35 +02:00
Zdenek Kabelac
f55dc3006e tests: simplify line counting
No need for pipes
2023-10-15 21:48:22 +02:00
Zdenek Kabelac
098bc780a2 tests: better synchronization 2023-10-15 21:48:22 +02:00
Zdenek Kabelac
dfaa891281 tests: fsck with yes
Fsck may need to update metadata even after clean unmount.
2023-10-15 19:51:43 +02:00
Zdenek Kabelac
d5e58768aa tests: check for blkid
When libblkid is not present (older systems) we can't use new -fs tests at
all so skip these tests.
2023-10-15 14:43:13 +02:00
Zdenek Kabelac
63885da5b9 tests: shorting batch line output 2023-10-15 14:42:14 +02:00
Zdenek Kabelac
5cc54458b7 tests: old way to disable copy contructor
Mark them private.
2023-10-14 23:37:38 +02:00
Zdenek Kabelac
d2d8d0ab5a tests: io stream class saver
Restore io stream when changed by modifiers.
Also simplify getenv access.
2023-10-14 23:14:26 +02:00
Zdenek Kabelac
1a67bfe396 tests: extend the usability for older systems
Extend the test a bit futher so we can keep logic of resize
working similarly well for older and newer systems.

Test uses new 'aux have_fsinfo'function to regnize compiled
version of lvm.
2023-10-14 23:13:46 +02:00
Zdenek Kabelac
26766dcf73 tests: aux add have_fsinfo
Add function to detect whether lvm2 was compiled with
blkid.h with BLKID_SUBLKS_FSINFO

Currently it can be detected by support of '--fs checksize'.
2023-10-14 23:12:57 +02:00
Zdenek Kabelac
0b11b08b6e tests: handle empty table better 2023-10-13 15:00:55 +02:00
Zdenek Kabelac
9fa364414c tests: skip for missing mkfs.xfs 2023-10-13 14:33:56 +02:00
Zdenek Kabelac
1605d39b93 tests: comment about version checking to aux.sh
If there would be futher version checking needed,
make a notice there are now two -V formats.
2023-10-13 14:25:02 +02:00
Zdenek Kabelac
be2b3d5ab8 tests: increase delay 2023-10-13 14:25:02 +02:00
Zdenek Kabelac
061c008e15 tests: some minor enhancement of udev test
Reduce pgrep usage.
2023-10-13 14:25:02 +02:00
Zdenek Kabelac
53da646495 tests: fail tests when machine have suspended devs
If the machine has suspended devices present in the DM table,
it's better to fail the test.
2023-10-13 14:25:02 +02:00
Zdenek Kabelac
627535f33e tests: use function to restart dmeventd
Move restart to single function.
2023-10-13 14:25:02 +02:00
Bryn M. Reeves
0ff027ae2c dmstats: only generate aux data separator if group tag is defined
Fix a bug in _stats_set_aux() that causes bogus data to appear
in the 'userdata' field of stats reports when previously grouped
regions are ungrouped:

/var/tmp/File With Spaces: Created new group with 1 region(s) as group ID 0.

Removed group ID 0 on fedora-root

Name             GrpID RgID ObjType RgStart RgSize  #Areas ArSize  ProgID  UserData
fedora-root          -    0 region    6.39g 100.00m      1 100.00m dmstats #-
                                                                           ^^
This is the aux_data separator character followed by empty user data.
The _stats_set_aux() function should only emit the separator if
there is a valid group descriptor for the region.
2023-10-12 11:31:14 +00:00
Bryn M. Reeves
995c7b503b Add more dmstats integration tests
Add new tests for filemap, group/ungroup, histograms, precise timestamps
and userdata.
2023-10-12 11:31:14 +00:00
David Teigland
f20be398a1 device_id: refresh devname idnames if any are not found
Search for a PV on other devices if it's a devname entry
and the name doesn't exist on the system.  This restores
code that should not have been removed in commit 1901a47df
"device_id: fix conditions for device_ids_refresh"
2023-10-10 11:46:21 -05:00
Zdenek Kabelac
f960fe0578 tests: delay_dev to slowdown pvmove
throtling mirror device is becoming useless with faster CPUS,
as way to many data can be transferred before throttling steps-in.
So prefer using  dm-delay for test and keep throttling as fallback.
2023-10-06 10:51:15 +02:00
Zdenek Kabelac
2c3742039c tests: skip test if the memory cannot be allocated in kernel 2023-10-06 10:51:15 +02:00
Zdenek Kabelac
f5512315d2 tests: ignore failure from stop 2023-10-06 10:51:15 +02:00