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

1317 Commits

Author SHA1 Message Date
Petr Rockai
efb3e7ca00 test: Improve IO handling in the runner. 2015-02-05 13:47:18 +01:00
Petr Rockai
8c8fb67fc2 test: Improve tracking of silence (stuck testcases) in the runner. 2015-02-05 13:47:18 +01:00
Petr Rockai
dc1d157878 test: Make the runner's journal more reliable. 2015-02-05 13:47:17 +01:00
Petr Rockai
d27833ba7c test: Implement flavours in the runner. 2015-02-05 13:47:17 +01:00
Petr Rockai
f3bf89ebcc test: Fix handling of envvars in the runner. 2015-02-05 13:47:17 +01:00
Petr Rockai
0bd2a9b7b1 test: Makefile updates.
- make check now uses the new test runner
- the testsuite can be installed (make -C test install)
2015-02-05 13:47:17 +01:00
Petr Rockai
b4215f956f test: Make it possible to run tests from an installed location. 2015-02-05 13:47:17 +01:00
Petr Rockai
5698953948 test: Use the new flavour setup files in lib/inittest. 2015-02-05 13:47:17 +01:00
Petr Rockai
9752ee8ed2 test: Fix IO sink destructors in the runner. 2015-02-05 13:47:17 +01:00
Petr Rockai
df27c64041 test: Add a buffer-backed IO sink (for interactive runs). 2015-02-05 13:47:17 +01:00
Petr Rockai
f53fcc0746 test: Implement a file-backed IO sink in the runner. 2015-02-05 13:47:17 +01:00
Petr Rockai
bdd0bc83eb test: Make runner use bigger IO buffers, put them on stack. 2015-02-05 13:47:17 +01:00
Petr Rockai
7957fc4a44 test: Allow test devices backed by a permanent block device. 2015-02-05 13:47:17 +01:00
Petr Rockai
c5a120c443 test: Add new flavour definition files. 2015-02-05 13:47:17 +01:00
Petr Rockai
fa46385164 test: Write a results/list at the end of a test run. 2015-02-05 13:47:17 +01:00
Petr Rockai
bf16937869 test: Clean up fds properly in the runner. 2015-02-05 13:47:16 +01:00
Petr Rockai
d2dbc65f00 test: Implement journalling and --continue. 2015-02-05 13:47:16 +01:00
Petr Rockai
9dfbce0aa7 test: Split up the new runner into multiple files. 2015-02-05 13:47:16 +01:00
Petr Rockai
b726d66882 test: Use the new runner in make check. 2015-02-05 13:47:16 +01:00
Petr Rockai
1ec2023cbf test: Build the new test runner. 2015-02-05 13:47:16 +01:00
Petr Rockai
f476655fee test: Import first draft of a new test runner. 2015-02-03 08:49:35 +01:00
Zdenek Kabelac
71e88f761d tests: add --force to sfdisk
Avoid udev sync troubles for now.
2015-01-30 16:46:06 +01:00
Zdenek Kabelac
d021284bcf tests: test stacked raid 2015-01-30 12:33:52 +01:00
Zdenek Kabelac
4f1309080a thin: preserve chunksize with lvconvert
When repairing thin pool or swapping thin pool metadata,
preserve  chunk_size property and avoid to be automatically changed
later in the code to better match thin pool metadata size.
2015-01-28 15:15:52 +01:00
Zdenek Kabelac
93b9015760 raid: fix raid image splitting
When raid leg is extracted, now the preload code handles this state
correctly and put proper new table entry into dm tree,
so the activation of extracted leg and removed metadata works
after commit.
2015-01-28 13:45:18 +01:00
Peter Rajnoha
8804023825 tests: pvscan --cache DevicePath does not fail if the device is just filtered
It's not an error if the device is filtered out and hence cleared from
lvmetad cache - "pvscan --cache DevPath" has now the same behaviour in
this case as "pvscan --cache major:minor" (which is more consistent).

Before, the tests expected failure return code for "pvscan --cache DevicePath"
if the device was filtered (which is a different situation if the device
is missing in the system completely!).
2015-01-12 15:16:57 +01:00
Peter Rajnoha
99d895014d dev-type: filter out partitioned device-mapper devices as unsuitable for use as PVs
Normally, if there are partitions defined on top of device-mapper
device, there should be a device-mapper device created for each
partiton on top of the old one and once the underlying DM device
is used by another devices (partition mappings in this case),
it can't be used as a PV anymore.

However, sometimes, it may happen the partition mappings are
missing - either the partitioning tool is not creating them if
it does not contain full support for device-mapper devices or
the mappings were removed.

Better safe than sorry - check for partition header on DM devs
and filter them out as unsuitable for PVs in case the check is
positive. Whatever the user is doing, let's do our best to prevent
unwanted corruption (...by running pvcreate on top of such device
that would corrupt the partition header).
2015-01-12 14:10:44 +01:00
Petr Rockai
e97023804a pvremove: Avoid metadata re-reads & related error messages. 2015-01-06 14:27:30 +01:00
Peter Rajnoha
57af48d734 report: fix segfault on NULL value hit in cache_settings field
We have to use empty list, not NULL if we want to denote that the list
has no items. Otherwise, the code further can segfault as it expects
there's always a sane value (= some list), including empty list,
but never NULL.
2014-12-18 17:26:12 +01:00
Petr Rockai
00ad13eb71 report: Add cache_policy and cache_settings (LV) segment fields. 2014-12-17 14:43:12 +01:00
Zdenek Kabelac
f3bd9a2797 raid: properly rename split image
When we split leg from raid - we take a proper new lock for a new LV.
However for now activation checks only 'existince' of device UUID,
but it's not validating device has a proper name.

As a quick fix call suspend()/resume() to rename after split mirror.
2014-12-05 13:39:42 +01:00
Petr Rockai
5b2726fc61 lvcreate: Implement --cachepolicy/--cachesettings. 2014-11-27 20:22:03 +01:00
Zdenek Kabelac
4bfdb01f78 toollib: fix regression in parsing /dev/mapper/vg-lv
Commit b0dde9e8f0 introduced regression in parsing
/dev/mapper prefix - and tried to check for '/' one char behind.
2014-11-26 17:29:35 +01:00
Zdenek Kabelac
2de11c9e9e thin: add missing 64KB rounding
When chunk size needs to be estimated, the code missed to round
to proper 64kb boundaries  (or power of 2 for older thin pool driver).
So for some data and metadata size (i.e. 10GB and 4MB) it resulted
in incorrect chunk size (not being a multiple of 64KB)

Fix it by adding proper rounding and also use 1 routine for 2 places
where the same calculation is made.

Fix also incorrect printed warning that has used 'ffs()'
(which returns first 'least significant' bit in word)
and it was not really giving any useful size info and replace it
with properly estimated chunk size.
2014-11-26 09:29:25 +01:00
Zdenek Kabelac
74e6135c4f tests: use proper LVMTEST prefix for VG name
Cleaner needs prefix to do its jobs and clean any left VG from python
test as well.
2014-11-24 14:39:04 +01:00
Zdenek Kabelac
1e80265c36 lvconvert: earlier detection of conflicting names
Detect same LV names for lvconvert prior opening VG.
i.e. lvconvert --thinpool vg/lvol0  -T lvol0
2014-11-24 14:39:04 +01:00
Zdenek Kabelac
8eb111dfb8 pool: prevent pool conversion with same name
When same name is given for converted volume and pool volume,
stop further command processing.
2014-11-23 00:49:04 +01:00
Zdenek Kabelac
0782309713 tests: reduce thin test 2014-11-22 18:51:02 +01:00
Zdenek Kabelac
4607cbcb0d tests: use old virt snaps in the test
Don't use thin with its thin requirements for the test.
2014-11-22 18:51:02 +01:00
Petr Rockai
71271cf905 test: Also test repeated --cachesettings in lvchange-cache. 2014-11-20 16:51:07 +01:00
Petr Rockai
c75ae0846e cache: Implement 'default' as a policy settings value to clear the record. 2014-11-20 16:51:07 +01:00
Petr Rockai
4b9b8e1282 toollib: Split --cachesettings from --cachepolicy. 2014-11-20 16:51:07 +01:00
Petr Rockai
310beb73a8 test: Add a test for lvchange --cachepolicy. 2014-11-20 16:51:07 +01:00
Zdenek Kabelac
8d8c1b6624 tests: use snapshot targets 2014-11-19 23:24:18 +01:00
Zdenek Kabelac
c75548300d tests: prepare control node before clvmd
Make sure there is 'control' node before clvmd is started.
Somehow  'clvmd' is not allowed by selinux to create one.

TODO: Check is selinux policy is right here...
2014-11-19 23:22:52 +01:00
Zdenek Kabelac
542b03ee00 tests: deactivate repaired before swap 2014-11-17 08:44:53 +01:00
Zdenek Kabelac
740fcdae7d tests: thin repair testing
More checks for thin related tools.
Add same functionality for cache related tools.
2014-11-17 00:41:33 +01:00
Zdenek Kabelac
3a1c609ac4 tests: reduce number of sync waiting
Lets assume faster systems, if we have too big raid arrays,
reduce them.
2014-11-17 00:34:44 +01:00
Zdenek Kabelac
776934aa08 tests: skip another older kernel from raid456 2014-11-17 00:32:49 +01:00
Zdenek Kabelac
27182e1ddb tests: explicit raid sync 2014-11-14 18:12:44 +01:00
Zdenek Kabelac
8cb79dad0b pool: fix removal of pool metadata spare
Since we support device stack of pools over pool
(thin-pool with cache data volume) the existing code
is no longer able to detect orphan _pmspare.

So instead do a _pmspare check after volume removal,
and remove spare afterwards.
2014-11-13 13:09:07 +01:00
Zdenek Kabelac
094596cfd2 tests: reach cache params 2014-11-10 22:05:49 +01:00
Zdenek Kabelac
10ebabdd2a tests: cache snapshot 2014-11-10 22:05:49 +01:00
Zdenek Kabelac
cebbda0931 tests: duplicate update of config 2014-11-04 15:29:22 +01:00
Zdenek Kabelac
847b2aa5b4 tests: thin 2014-11-03 14:19:34 +01:00
Zdenek Kabelac
e4e96f6b19 tests: usage of -m0 -Mn
Test -m0 passed with types.
Check --readahead and thins.
2014-11-03 14:19:34 +01:00
Zdenek Kabelac
e09ee21fd4 tests: update raid sync 2014-10-31 00:37:35 +01:00
Zdenek Kabelac
47d50a8f27 tests: wait for raid sync 2014-10-31 00:31:54 +01:00
Zdenek Kabelac
e7c130430a tests: explicitely use old snapshots 2014-10-31 00:28:25 +01:00
Zdenek Kabelac
8926230f6e tests: lvcreate snapshot usage update 2014-10-30 23:58:49 +01:00
Zdenek Kabelac
b58a0f5cd3 tests: use aux func to disable device 2014-10-30 23:58:49 +01:00
Zdenek Kabelac
da61e6355e tests: raid syncaction test
Add sync wait for syncaction of raid1 test.
--syncaction requires raid to be in sync first.
2014-10-30 23:58:49 +01:00
Peter Rajnoha
7049eeeb83 test: for issue fixed in previous commit 2f7f6932dc 2014-10-27 11:53:01 +01:00
Zdenek Kabelac
e223c801fc pools: workaround hints
Missing code for stacked hint estimation
2014-10-26 19:45:17 +01:00
Zdenek Kabelac
c28a7706ed tests: update cache creation tests 2014-10-26 18:37:13 +01:00
Zdenek Kabelac
7bbf3cf306 tests: lvcreate-update
Test with old mirror type.
2014-10-26 18:37:13 +01:00
Zdenek Kabelac
70616187b3 tests: pytest update 2014-10-26 18:37:13 +01:00
Zdenek Kabelac
c3bb9629a8 tests: syncaction needs kernel fix
Add 'should' as we currently cannot pass this test.

FIXME:
Add properly wrapper to not use 'should' with fixed kernel.
2014-10-24 16:39:32 +02:00
Zdenek Kabelac
e1dede6f6b tests: new lvcreate functionality
Fixed syntax parsing means that some commands that used to work are now
failing. Particullary this case:

$ invalid lvcreate -l1 --type thin vg/pool
> Needs to fail becase thin type LV needs  --virtualsize

$ invalid lvcreate --type snapshot vg/lv1
> Needs to fail because old-snapshot segment type needs --size

Some reported error messages have been also updated.
2014-10-24 16:39:32 +02:00
Zdenek Kabelac
9642f013a1 tests: lvcreate usage 2014-10-24 16:39:32 +02:00
Petr Rockai
22a6b0e40b lvchange: Allow appropriate actions on cache (in addition to thin) pools. 2014-10-13 16:21:41 +02:00
Petr Rockai
d623034e62 test: Fix lvconvert-raid-allocation's use of lvconvert --repair. 2014-10-07 16:12:04 +02:00
Zdenek Kabelac
62802ddae0 tests: typos 2014-10-07 10:19:33 +02:00
Zdenek Kabelac
236db9fc0d tests: put devs into "" 2014-10-07 10:19:33 +02:00
Zdenek Kabelac
75c4d268e9 tests: check for cache and raid
Skip some tests on systems without cache or raid.
2014-10-07 10:19:33 +02:00
Zdenek Kabelac
c59ef73206 tests: move cache raid to separate file 2014-10-07 10:19:33 +02:00
Petr Rockai
b836525d9c test: Creating a cache on top of active RAID works now. 2014-10-07 09:32:24 +02:00
Petr Rockai
b66f16fd63 lvconvert: Allow --repair and --splitmirrors on reserved-name LVs. 2014-10-07 08:58:24 +02:00
David Teigland
86dad329be test: Add process-each toollib tests. 2014-10-07 01:15:43 +01:00
Zdenek Kabelac
fa517221a1 tests: lvconvert cache usage of thin pool
Checked stacking usage of thin pool data volume being cached.
2014-10-06 15:31:44 +02:00
Zdenek Kabelac
742d250cc5 tests: lvconvert thin pool
More tests.
2014-10-06 15:31:44 +02:00
Zdenek Kabelac
c243cf6581 tests: lvconvert cache
Many new tests
2014-10-06 15:31:44 +02:00
Zdenek Kabelac
52821572d5 tests: lvcreate external origin
Fix unsupportable case.
We cannot create thinpool and snapshot at the same time.
(-L could not have 2 meanings).
2014-10-06 15:31:33 +02:00
Zdenek Kabelac
de0e6029f1 tests: lvcreate thin-pool support --name 2014-10-06 15:23:08 +02:00
Zdenek Kabelac
4baf4b8cf9 tests: lvcreate cache interface updates 2014-10-06 15:23:08 +02:00
Petr Rockai
072e25a965 test: Show an activation bug in lvcreate of a cache over raid. 2014-10-06 08:11:42 +02:00
Petr Rockai
d2f901f04f lvconvert: Forward --splitmirror to a cache origin when applicable. 2014-10-06 08:11:06 +02:00
Peter Rajnoha
d3fb69c3f3 cleanup: remove symlink to profile in test dir for CLEAN target 2014-10-02 09:30:38 +02:00
Zdenek Kabelac
21aa850b43 tests: add helper funcionality for using gdb
When there is need for using gdb within test suite
just prefix command with LVM_DBG and run test in
standard shell (for stdin).
2014-09-24 10:54:48 +02:00
Zdenek Kabelac
9acbb0695f tests: drop * from dmsetup
We cannot use shell expansion for dmsetup here.
2014-09-24 10:54:48 +02:00
Zdenek Kabelac
98414ca7dd vgchange: support clustered conversion for active lv
If we want to support conversion of VG to clustered type,
we currently need to relock active LV to get proper DLM lock.

So add extra loop after change of VG clustered attribute
to exlusively activate all active top level LVs.

When doing change -cy -> -cn  we should validate LVs are not
active on other cluster nodes - we could be sure about this only
when with local exclusive activation - for other types
we require user to deactivate volumes first.

As a workaround for this limitation there is always
locking_type = 0 which amongs other skip the detection
of active LVs.

FIXME:
 clvmd should handle looks for cluster locking type all the time.
2014-09-17 14:41:42 +02:00
Zdenek Kabelac
4a853361b0 vgchange: disable cluster convert for active LVs
While we could probably reacquire some type of lock when
going from non-clustered to clustered vg, we don't have any
single road back to drop the lock and keep LV active.

For now keep it safe and prohibit conversion when LV
is active in the VG.
2014-09-16 11:42:41 +02:00
Zdenek Kabelac
10a448eb2f tests: update lv_no_exists
On successful exit path remove debug.log file.
2014-09-15 13:51:19 +02:00
Zdenek Kabelac
f435bef957 test: test there is no leak of LV on error path 2014-09-15 13:51:19 +02:00
Zdenek Kabelac
4748f4a9e4 tests: test for rename of snapshot 2014-09-10 22:59:13 +01:00
Petr Rockai
671d0ea1b1 lvmetad: Differentiate between filtered and truly missing devices.
We used to print an error message whenever we tried to deal with devices that
lvmetad knew about but were rejected by a client-side filter. Instead, we now
check whether the device is actually absent or only filtered out and only print
a warning in the latter case.
2014-09-10 22:58:22 +01:00
Petr Rockai
5f9b30d178 test: Add a test for MD component detection in pvscan --cache. 2014-09-10 22:58:12 +01:00
Zdenek Kabelac
55aa3cc813 tests: test for rename of snapshot 2014-09-09 20:17:47 +02:00
Zdenek Kabelac
70e998754e tests: thin and volume_list testing 2014-08-26 14:13:07 +02:00
Zdenek Kabelac
c37ca279e3 tests: fix volume list test
Proper use of \" escaping and shell vars.
2014-08-26 14:13:07 +02:00