di-ruby-lvm-attrib 0.0.26 → 0.0.27
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitmodules +3 -0
- data/CHANGELOG.md +7 -0
- data/README.md +14 -12
- data/lib/lvm/attributes.rb +1 -1
- data/lib/lvm/attributes/2.02.133(2)/lvs.yaml +260 -0
- data/lib/lvm/attributes/2.02.133(2)/lvsseg.yaml +113 -0
- data/lib/lvm/attributes/2.02.133(2)/pvs.yaml +93 -0
- data/lib/lvm/attributes/2.02.133(2)/pvsseg.yaml +16 -0
- data/lib/lvm/attributes/2.02.133(2)/vgs.yaml +136 -0
- data/lib/lvm/attributes/2.02.158(2)/lvs.yaml +256 -0
- data/lib/lvm/attributes/2.02.158(2)/lvsseg.yaml +106 -0
- data/lib/lvm/attributes/2.02.158(2)/pvs.yaml +113 -0
- data/lib/lvm/attributes/2.02.158(2)/pvsseg.yaml +16 -0
- data/lib/lvm/attributes/2.02.158(2)/vgs.yaml +136 -0
- data/lib/lvm/attributes/2.02.161(2)/lvs.yaml +256 -0
- data/lib/lvm/attributes/2.02.161(2)/lvsseg.yaml +106 -0
- data/lib/lvm/attributes/2.02.161(2)/pvs.yaml +113 -0
- data/lib/lvm/attributes/2.02.161(2)/pvsseg.yaml +16 -0
- data/lib/lvm/attributes/2.02.161(2)/vgs.yaml +136 -0
- data/update-lvm.sh +77 -18
- metadata +18 -2
@@ -0,0 +1,106 @@
|
|
1
|
+
# These are column to object attribute mappings
|
2
|
+
# generated by ./bin/generate_field_data based on
|
3
|
+
# lvm2/lib/report/columns.h
|
4
|
+
---
|
5
|
+
- :method: cache_mode
|
6
|
+
:column: cache_mode
|
7
|
+
:type_hint: String
|
8
|
+
:description: For cache pools
|
9
|
+
- :method: cache_policy
|
10
|
+
:column: cache_policy
|
11
|
+
:type_hint: String
|
12
|
+
:description: The cache policy (cached segments only).
|
13
|
+
- :method: cache_settings
|
14
|
+
:column: cache_settings
|
15
|
+
:type_hint: String
|
16
|
+
:description: Cache settings/parameters (cached segments only).
|
17
|
+
- :method: chunk_size
|
18
|
+
:column: chunk_size
|
19
|
+
:type_hint: Integer
|
20
|
+
:description: For snapshots
|
21
|
+
- :method: devices
|
22
|
+
:column: devices
|
23
|
+
:type_hint: String
|
24
|
+
:description: Underlying devices used with starting extent numbers.
|
25
|
+
- :method: discards
|
26
|
+
:column: discards
|
27
|
+
:type_hint: String
|
28
|
+
:description: For thin pools
|
29
|
+
- :method: lv_uuid
|
30
|
+
:column: lv_uuid
|
31
|
+
:type_hint: String
|
32
|
+
:description: For LogicalVolume to LogicalVolumeSegment relationship.
|
33
|
+
- :method: metadata_devices
|
34
|
+
:column: metadata_devices
|
35
|
+
:type_hint: String
|
36
|
+
:description: Underlying metadata devices used with starting extent numbers.
|
37
|
+
- :method: region_size
|
38
|
+
:column: region_size
|
39
|
+
:type_hint: Integer
|
40
|
+
:description: For mirrors
|
41
|
+
- :method: le_ranges
|
42
|
+
:column: seg_le_ranges
|
43
|
+
:type_hint: String
|
44
|
+
:description: Ranges of Logical Extents of underlying devices in command line format.
|
45
|
+
- :method: metadata_le_ranges
|
46
|
+
:column: seg_metadata_le_ranges
|
47
|
+
:type_hint: String
|
48
|
+
:description: Ranges of Logical Extents of underlying metadata devices in command
|
49
|
+
line format.
|
50
|
+
- :method: monitor
|
51
|
+
:column: seg_monitor
|
52
|
+
:type_hint: String
|
53
|
+
:description: Dmeventd monitoring status of the segment.
|
54
|
+
- :method: pe_ranges
|
55
|
+
:column: seg_pe_ranges
|
56
|
+
:type_hint: String
|
57
|
+
:description: Ranges of Physical Extents of underlying devices in command line format
|
58
|
+
(deprecated
|
59
|
+
- :method: size
|
60
|
+
:column: seg_size
|
61
|
+
:type_hint: Integer
|
62
|
+
:description: Size of segment in current units.
|
63
|
+
- :method: size_pe
|
64
|
+
:column: seg_size_pe
|
65
|
+
:type_hint: Integer
|
66
|
+
:description: Size of segment in physical extents.
|
67
|
+
- :method: start
|
68
|
+
:column: seg_start
|
69
|
+
:type_hint: Integer
|
70
|
+
:description: Offset within the LV to the start of the segment in current units.
|
71
|
+
- :method: start_pe
|
72
|
+
:column: seg_start_pe
|
73
|
+
:type_hint: Integer
|
74
|
+
:description: Offset within the LV to the start of the segment in physical extents.
|
75
|
+
- :method: tags
|
76
|
+
:column: seg_tags
|
77
|
+
:type_hint: String
|
78
|
+
:description: Tags
|
79
|
+
- :method: segtype
|
80
|
+
:column: segtype
|
81
|
+
:type_hint: String
|
82
|
+
:description: Type of LV segment.
|
83
|
+
- :method: stripe_size
|
84
|
+
:column: stripe_size
|
85
|
+
:type_hint: Integer
|
86
|
+
:description: For stripes
|
87
|
+
- :method: stripes
|
88
|
+
:column: stripes
|
89
|
+
:type_hint: Integer
|
90
|
+
:description: Number of stripes or mirror legs.
|
91
|
+
- :method: thin_count
|
92
|
+
:column: thin_count
|
93
|
+
:type_hint: Integer
|
94
|
+
:description: For thin pools
|
95
|
+
- :method: thin_id
|
96
|
+
:column: thin_id
|
97
|
+
:type_hint: Integer
|
98
|
+
:description: For thin volume
|
99
|
+
- :method: transaction_id
|
100
|
+
:column: transaction_id
|
101
|
+
:type_hint: Integer
|
102
|
+
:description: For thin pools
|
103
|
+
- :method: zero
|
104
|
+
:column: zero
|
105
|
+
:type_hint: String
|
106
|
+
:description: For thin pools and volumes
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# These are column to object attribute mappings
|
2
|
+
# generated by ./bin/generate_field_data based on
|
3
|
+
# lvm2/lib/report/columns.h
|
4
|
+
---
|
5
|
+
- :method: dev_size
|
6
|
+
:column: dev_size
|
7
|
+
:type_hint: Integer
|
8
|
+
:description: Size of underlying device in current units.
|
9
|
+
- :method: pe_start
|
10
|
+
:column: pe_start
|
11
|
+
:type_hint: Integer
|
12
|
+
:description: Offset to the start of data on the underlying device.
|
13
|
+
- :method: allocatable
|
14
|
+
:column: pv_allocatable
|
15
|
+
:type_hint: String
|
16
|
+
:description: Set if this device can be used for allocation.
|
17
|
+
- :method: attr
|
18
|
+
:column: pv_attr
|
19
|
+
:type_hint: String
|
20
|
+
:description: Various attributes - see man page.
|
21
|
+
- :method: ba_size
|
22
|
+
:column: pv_ba_size
|
23
|
+
:type_hint: Integer
|
24
|
+
:description: Size of PV Bootloader Area in current units.
|
25
|
+
- :method: ba_start
|
26
|
+
:column: pv_ba_start
|
27
|
+
:type_hint: Integer
|
28
|
+
:description: Offset to the start of PV Bootloader Area on the underlying device
|
29
|
+
in current units.
|
30
|
+
- :method: duplicate
|
31
|
+
:column: pv_duplicate
|
32
|
+
:type_hint: String
|
33
|
+
:description: Set if PV is an unchosen duplicate.
|
34
|
+
- :method: exported
|
35
|
+
:column: pv_exported
|
36
|
+
:type_hint: String
|
37
|
+
:description: Set if this device is exported.
|
38
|
+
- :method: ext_vsn
|
39
|
+
:column: pv_ext_vsn
|
40
|
+
:type_hint: Integer
|
41
|
+
:description: PV header extension version.
|
42
|
+
- :method: fmt
|
43
|
+
:column: pv_fmt
|
44
|
+
:type_hint: String
|
45
|
+
:description: Type of metadata.
|
46
|
+
- :method: free
|
47
|
+
:column: pv_free
|
48
|
+
:type_hint: Integer
|
49
|
+
:description: Total amount of unallocated space in current units.
|
50
|
+
- :method: in_use
|
51
|
+
:column: pv_in_use
|
52
|
+
:type_hint: String
|
53
|
+
:description: Set if PV is used.
|
54
|
+
- :method: major
|
55
|
+
:column: pv_major
|
56
|
+
:type_hint: String
|
57
|
+
:description: Device major number.
|
58
|
+
- :method: mda_count
|
59
|
+
:column: pv_mda_count
|
60
|
+
:type_hint: Integer
|
61
|
+
:description: Number of metadata areas on this device.
|
62
|
+
- :method: mda_free
|
63
|
+
:column: pv_mda_free
|
64
|
+
:type_hint: Integer
|
65
|
+
:description: Free metadata area space on this device in current units.
|
66
|
+
- :method: mda_size
|
67
|
+
:column: pv_mda_size
|
68
|
+
:type_hint: Integer
|
69
|
+
:description: Size of smallest metadata area on this device in current units.
|
70
|
+
- :method: mda_used_count
|
71
|
+
:column: pv_mda_used_count
|
72
|
+
:type_hint: Integer
|
73
|
+
:description: Number of metadata areas in use on this device.
|
74
|
+
- :method: minor
|
75
|
+
:column: pv_minor
|
76
|
+
:type_hint: String
|
77
|
+
:description: Device minor number.
|
78
|
+
- :method: missing
|
79
|
+
:column: pv_missing
|
80
|
+
:type_hint: String
|
81
|
+
:description: Set if this device is missing in system.
|
82
|
+
- :method: name
|
83
|
+
:column: pv_name
|
84
|
+
:type_hint: String
|
85
|
+
:description: Name.
|
86
|
+
- :method: pe_alloc_count
|
87
|
+
:column: pv_pe_alloc_count
|
88
|
+
:type_hint: Integer
|
89
|
+
:description: Total number of allocated Physical Extents.
|
90
|
+
- :method: pe_count
|
91
|
+
:column: pv_pe_count
|
92
|
+
:type_hint: Integer
|
93
|
+
:description: Total number of Physical Extents.
|
94
|
+
- :method: size
|
95
|
+
:column: pv_size
|
96
|
+
:type_hint: Integer
|
97
|
+
:description: Size of PV in current units.
|
98
|
+
- :method: tags
|
99
|
+
:column: pv_tags
|
100
|
+
:type_hint: String
|
101
|
+
:description: Tags
|
102
|
+
- :method: used
|
103
|
+
:column: pv_used
|
104
|
+
:type_hint: Integer
|
105
|
+
:description: Total amount of allocated space in current units.
|
106
|
+
- :method: uuid
|
107
|
+
:column: pv_uuid
|
108
|
+
:type_hint: String
|
109
|
+
:description: Unique identifier.
|
110
|
+
- :method: vg_uuid
|
111
|
+
:column: vg_uuid
|
112
|
+
:type_hint: String
|
113
|
+
:description: For VolumeGroup to PhysicalVolume relationship.
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# These are column to object attribute mappings
|
2
|
+
# generated by ./bin/generate_field_data based on
|
3
|
+
# lvm2/lib/report/columns.h
|
4
|
+
---
|
5
|
+
- :method: pv_uuid
|
6
|
+
:column: pv_uuid
|
7
|
+
:type_hint: String
|
8
|
+
:description: For PhysicalVolume to PhysicalVolumeSegment relationship.
|
9
|
+
- :method: size
|
10
|
+
:column: pvseg_size
|
11
|
+
:type_hint: Integer
|
12
|
+
:description: Number of extents in segment.
|
13
|
+
- :method: start
|
14
|
+
:column: pvseg_start
|
15
|
+
:type_hint: Integer
|
16
|
+
:description: Physical Extent number of start of segment.
|
@@ -0,0 +1,136 @@
|
|
1
|
+
# These are column to object attribute mappings
|
2
|
+
# generated by ./bin/generate_field_data based on
|
3
|
+
# lvm2/lib/report/columns.h
|
4
|
+
---
|
5
|
+
- :method: lv_count
|
6
|
+
:column: lv_count
|
7
|
+
:type_hint: Integer
|
8
|
+
:description: Number of LVs.
|
9
|
+
- :method: max_lv
|
10
|
+
:column: max_lv
|
11
|
+
:type_hint: Integer
|
12
|
+
:description: Maximum number of LVs allowed in VG or 0 if unlimited.
|
13
|
+
- :method: max_pv
|
14
|
+
:column: max_pv
|
15
|
+
:type_hint: Integer
|
16
|
+
:description: Maximum number of PVs allowed in VG or 0 if unlimited.
|
17
|
+
- :method: pv_count
|
18
|
+
:column: pv_count
|
19
|
+
:type_hint: Integer
|
20
|
+
:description: Number of PVs in VG.
|
21
|
+
- :method: snap_count
|
22
|
+
:column: snap_count
|
23
|
+
:type_hint: Integer
|
24
|
+
:description: Number of snapshots.
|
25
|
+
- :method: allocation_policy
|
26
|
+
:column: vg_allocation_policy
|
27
|
+
:type_hint: String
|
28
|
+
:description: VG allocation policy.
|
29
|
+
- :method: attr
|
30
|
+
:column: vg_attr
|
31
|
+
:type_hint: String
|
32
|
+
:description: Various attributes - see man page.
|
33
|
+
- :method: clustered
|
34
|
+
:column: vg_clustered
|
35
|
+
:type_hint: String
|
36
|
+
:description: Set if VG is clustered.
|
37
|
+
- :method: exported
|
38
|
+
:column: vg_exported
|
39
|
+
:type_hint: String
|
40
|
+
:description: Set if VG is exported.
|
41
|
+
- :method: extendable
|
42
|
+
:column: vg_extendable
|
43
|
+
:type_hint: String
|
44
|
+
:description: Set if VG is extendable.
|
45
|
+
- :method: extent_count
|
46
|
+
:column: vg_extent_count
|
47
|
+
:type_hint: Integer
|
48
|
+
:description: Total number of Physical Extents.
|
49
|
+
- :method: extent_size
|
50
|
+
:column: vg_extent_size
|
51
|
+
:type_hint: Integer
|
52
|
+
:description: Size of Physical Extents in current units.
|
53
|
+
- :method: fmt
|
54
|
+
:column: vg_fmt
|
55
|
+
:type_hint: String
|
56
|
+
:description: Type of metadata.
|
57
|
+
- :method: free
|
58
|
+
:column: vg_free
|
59
|
+
:type_hint: Integer
|
60
|
+
:description: Total amount of free space in current units.
|
61
|
+
- :method: free_count
|
62
|
+
:column: vg_free_count
|
63
|
+
:type_hint: Integer
|
64
|
+
:description: Total number of unallocated Physical Extents.
|
65
|
+
- :method: lock_args
|
66
|
+
:column: vg_lock_args
|
67
|
+
:type_hint: String
|
68
|
+
:description: Lock args of the VG used by lvmlockd.
|
69
|
+
- :method: lock_type
|
70
|
+
:column: vg_lock_type
|
71
|
+
:type_hint: String
|
72
|
+
:description: Lock type of the VG used by lvmlockd.
|
73
|
+
- :method: mda_copies
|
74
|
+
:column: vg_mda_copies
|
75
|
+
:type_hint: Integer
|
76
|
+
:description: Target number of in use metadata areas in the VG.
|
77
|
+
- :method: mda_count
|
78
|
+
:column: vg_mda_count
|
79
|
+
:type_hint: Integer
|
80
|
+
:description: Number of metadata areas on this VG.
|
81
|
+
- :method: mda_free
|
82
|
+
:column: vg_mda_free
|
83
|
+
:type_hint: Integer
|
84
|
+
:description: Free metadata area space for this VG in current units.
|
85
|
+
- :method: mda_size
|
86
|
+
:column: vg_mda_size
|
87
|
+
:type_hint: Integer
|
88
|
+
:description: Size of smallest metadata area for this VG in current units.
|
89
|
+
- :method: mda_used_count
|
90
|
+
:column: vg_mda_used_count
|
91
|
+
:type_hint: Integer
|
92
|
+
:description: Number of metadata areas in use on this VG.
|
93
|
+
- :method: missing_pv_count
|
94
|
+
:column: vg_missing_pv_count
|
95
|
+
:type_hint: Integer
|
96
|
+
:description: Number of PVs in VG which are missing.
|
97
|
+
- :method: name
|
98
|
+
:column: vg_name
|
99
|
+
:type_hint: String
|
100
|
+
:description: Name.
|
101
|
+
- :method: partial
|
102
|
+
:column: vg_partial
|
103
|
+
:type_hint: String
|
104
|
+
:description: Set if VG is partial.
|
105
|
+
- :method: permissions
|
106
|
+
:column: vg_permissions
|
107
|
+
:type_hint: String
|
108
|
+
:description: VG permissions.
|
109
|
+
- :method: profile
|
110
|
+
:column: vg_profile
|
111
|
+
:type_hint: String
|
112
|
+
:description: Configuration profile attached to this VG.
|
113
|
+
- :method: seqno
|
114
|
+
:column: vg_seqno
|
115
|
+
:type_hint: Integer
|
116
|
+
:description: Revision number of internal metadata. Incremented whenever it changes.
|
117
|
+
- :method: size
|
118
|
+
:column: vg_size
|
119
|
+
:type_hint: Integer
|
120
|
+
:description: Total size of VG in current units.
|
121
|
+
- :method: sysid
|
122
|
+
:column: vg_sysid
|
123
|
+
:type_hint: String
|
124
|
+
:description: System ID of the VG indicating which host owns it.
|
125
|
+
- :method: systemid
|
126
|
+
:column: vg_systemid
|
127
|
+
:type_hint: String
|
128
|
+
:description: System ID of the VG indicating which host owns it.
|
129
|
+
- :method: tags
|
130
|
+
:column: vg_tags
|
131
|
+
:type_hint: String
|
132
|
+
:description: Tags
|
133
|
+
- :method: uuid
|
134
|
+
:column: vg_uuid
|
135
|
+
:type_hint: String
|
136
|
+
:description: Unique identifier.
|
data/update-lvm.sh
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
# Author: Elan Ruusamäe <glen@delfi.ee>
|
6
6
|
#
|
7
7
|
# Usage:
|
8
|
-
# - update all versions: ./update-lvm.sh
|
8
|
+
# - update all versions: ./update-lvm.sh -a
|
9
9
|
# - update specific version "2.0.102": ./update-lvm.sh v2_02_102
|
10
10
|
|
11
11
|
# ADDING ATTRIBUTES:
|
@@ -29,40 +29,99 @@
|
|
29
29
|
repo_url=git://git.fedorahosted.org/git/lvm2.git
|
30
30
|
refs=refs/heads/master:refs/remotes/origin/master
|
31
31
|
pattern=v2_02_*
|
32
|
+
git_dir=lvm2/.git
|
32
33
|
|
33
34
|
set -e
|
34
35
|
|
35
|
-
|
36
|
+
msg() {
|
37
|
+
echo >&2 "$*"
|
38
|
+
}
|
36
39
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
40
|
+
# do initial clone or update LVM2 repository
|
41
|
+
clone_lvm2() {
|
42
|
+
if [ ! -d $GIT_DIR ]; then
|
43
|
+
msg "Checkout $repo_url"
|
44
|
+
install -d $GIT_DIR
|
45
|
+
git init
|
46
|
+
git remote add origin $repo_url
|
47
|
+
git fetch --depth 1 origin $refs --tags
|
48
|
+
else
|
49
|
+
msg "Update $repo_url"
|
50
|
+
git fetch origin $refs --tags
|
51
|
+
fi
|
52
|
+
}
|
53
|
+
|
54
|
+
process_lvm2_version() {
|
55
|
+
local tag=$1
|
56
|
+
msg ""
|
57
|
+
msg "Process LVM2 $tag"
|
45
58
|
|
46
|
-
# iterate over all tags
|
47
|
-
for tag in ${@:-$(git tag -l $pattern)}; do
|
48
59
|
# already present in source tree
|
49
|
-
|
60
|
+
if [ -d lib/lvm/attributes/$tag ]; then
|
61
|
+
msg "lib/lvm/attributes/$tag already exists, skip"
|
62
|
+
return
|
63
|
+
fi
|
50
64
|
|
51
|
-
|
65
|
+
msg "Checkout LVM2 $tag"
|
52
66
|
cd lvm2
|
53
|
-
|
67
|
+
git checkout $tag
|
54
68
|
cd ..
|
55
69
|
|
56
70
|
version=$(awk '{print $1}' lvm2/VERSION)
|
71
|
+
msg "LVM2 Full Version: $version"
|
57
72
|
# skip old "cvs" releases
|
58
73
|
case "$version" in
|
59
74
|
*-cvs)
|
60
|
-
|
75
|
+
msg "$version is CVS tag, skip"
|
76
|
+
return
|
61
77
|
;;
|
62
78
|
esac
|
63
79
|
|
64
80
|
# already present locally
|
65
|
-
|
81
|
+
if [ -d $version ]; then
|
82
|
+
msg "dir '$version' exists, skip"
|
83
|
+
return
|
84
|
+
fi
|
85
|
+
|
86
|
+
# dir where attributes get saved
|
87
|
+
lvm_dir=$version
|
88
|
+
|
89
|
+
# remove -git suffix
|
90
|
+
version=${version%-git}
|
91
|
+
git_branch=LVM-${version}
|
92
|
+
|
93
|
+
# check that local branch isn't already created
|
94
|
+
if git show-ref --verify --quiet refs/heads/$git_branch; then
|
95
|
+
msg "Git branch '$git_branch' already exists; skip"
|
96
|
+
return
|
97
|
+
fi
|
98
|
+
|
99
|
+
./bin/generate_field_data lvm2
|
100
|
+
|
101
|
+
attr_dir=lib/lvm/attributes/${version}
|
102
|
+
if [ -d "$attr_dir" ]; then
|
103
|
+
msg "$attr_dir already exists, skip"
|
104
|
+
fi
|
105
|
+
mv $lvm_dir $attr_dir
|
106
|
+
|
107
|
+
git add -A $attr_dir
|
108
|
+
git checkout -b $git_branch next
|
109
|
+
git commit -am "Added $tag attributes"
|
110
|
+
}
|
111
|
+
|
112
|
+
|
113
|
+
GIT_DIR=$git_dir clone_lvm2
|
114
|
+
|
115
|
+
if [ "$1" = "-a" ]; then
|
116
|
+
# obtain all versions
|
117
|
+
set -- $(GIT_DIR=$git_dir git tag -l $pattern)
|
118
|
+
fi
|
119
|
+
|
120
|
+
# it shouldn't be exported, but somewhy is. unset
|
121
|
+
unset GIT_DIR
|
66
122
|
|
67
|
-
|
123
|
+
# process versions specified on commandline,
|
124
|
+
# otherwise iterate over all LVM2 tags
|
125
|
+
for tag in "$@"; do
|
126
|
+
process_lvm2_version $tag
|
68
127
|
done
|