summaryrefslogtreecommitdiff
path: root/test/shell/vg-name-from-env.sh
blob: 48e471c13e201bc8bdd236472b25d53387fcd324 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!/usr/bin/env bash

# Copyright (C) 2008-2013 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions
# of the GNU General Public License v.2.

test_description='Test the vg name for an lv from env var'

SKIP_WITH_LVMPOLLD=1

. lib/inittest

aux prepare_devs 2

pvcreate "$dev1"
pvcreate "$dev2"

vgcreate $SHARED $vg1 "$dev1"
vgcreate $SHARED $vg2 "$dev2"

export LVM_VG_NAME=$vg1

# should use env
lvcreate -n $lv1 -l 2
lvcreate -n $lv3 -l 2

lvcreate -n $lv2 -l 2 $vg2
lvcreate -n $lv4 -l 2 $vg2

lvs >err
grep $lv1 err
grep $lv3 err
grep $lv2 err
grep $lv4 err

not lvs $vg1 >err
not grep $lv1 err
not grep $lv3 err
not grep $lv2 err
not grep $lv4 err

not lvs $vg2 >err
not grep $lv1 err
not grep $lv3 err
not grep $lv2 err
not grep $lv4 err

lvs $lv1 >err
grep $lv1 err
not grep $lv3 err
not grep $lv2 err
not grep $lv4 err

lvs $lv1 $lv3 >err
grep $lv1 err
grep $lv3 err
not grep $lv2 err
not grep $lv4 err

# should use env and fail to fine lv4 in vg1
not lvs $lv4 >err
not grep $lv1 err
not grep $lv3 err
not grep $lv2 err
not grep $lv4 err

lvs $vg2/$lv4 >err
not grep $lv1 err
not grep $lv3 err
not grep $lv2 err
grep $lv4 err

lvs $vg2/$lv2 $vg2/$lv4 >err
not grep $lv1 err
not grep $lv3 err
grep $lv2 err
grep $lv4 err

# should use env
lvchange -an $lv3
lvremove $lv3
not lvremove $lv4

lvs >err
grep $lv1 err
not grep $lv3 err
grep $lv2 err
grep $lv4 err

# should use env
lvcreate -n $lv3 -l 2
lvchange --addtag foo $lv3
lvchange -an $lv3

# lvremove by tag should apply to all vgs, not env vg
lvchange --addtag foo $vg2/$lv4
lvchange -an $vg2/$lv4
lvremove @foo

lvs >err
grep $lv1 err
not grep $lv3 err
grep $lv2 err
not grep $lv4 err

vgremove -ff $vg1 $vg2