di-ruby-lvm-attrib 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gemtest +0 -0
- data/History.txt +5 -0
- data/Manifest.txt +33 -0
- data/README.txt +63 -0
- data/Rakefile +14 -0
- data/Todo.txt +4 -0
- data/bin/generate_field_data +173 -0
- data/lib/lvm/attributes/2.02.26/lvs.yaml +72 -0
- data/lib/lvm/attributes/2.02.26/lvsseg.yaml +56 -0
- data/lib/lvm/attributes/2.02.26/pvs.yaml +56 -0
- data/lib/lvm/attributes/2.02.26/pvsseg.yaml +16 -0
- data/lib/lvm/attributes/2.02.26/vgs.yaml +72 -0
- data/lib/lvm/attributes/2.02.27/lvs.yaml +72 -0
- data/lib/lvm/attributes/2.02.27/lvsseg.yaml +56 -0
- data/lib/lvm/attributes/2.02.27/pvs.yaml +60 -0
- data/lib/lvm/attributes/2.02.27/pvsseg.yaml +16 -0
- data/lib/lvm/attributes/2.02.27/vgs.yaml +76 -0
- data/lib/lvm/attributes/2.02.29/lvs.yaml +80 -0
- data/lib/lvm/attributes/2.02.29/lvsseg.yaml +56 -0
- data/lib/lvm/attributes/2.02.29/pvs.yaml +64 -0
- data/lib/lvm/attributes/2.02.29/pvsseg.yaml +16 -0
- data/lib/lvm/attributes/2.02.29/vgs.yaml +80 -0
- data/lib/lvm/attributes/2.02.30/lvs.yaml +84 -0
- data/lib/lvm/attributes/2.02.30/lvsseg.yaml +64 -0
- data/lib/lvm/attributes/2.02.30/pvs.yaml +64 -0
- data/lib/lvm/attributes/2.02.30/pvsseg.yaml +16 -0
- data/lib/lvm/attributes/2.02.30/vgs.yaml +80 -0
- data/lib/lvm/attributes/2.02.66(2)/lvs.yaml +88 -0
- data/lib/lvm/attributes/2.02.66(2)/lvsseg.yaml +64 -0
- data/lib/lvm/attributes/2.02.66(2)/pvs.yaml +44 -0
- data/lib/lvm/attributes/2.02.66(2)/pvsseg.yaml +16 -0
- data/lib/lvm/attributes/2.02.66(2)/vgs.yaml +84 -0
- data/lib/lvm/attributes.rb +24 -0
- data/test/test_ruby-lvm-attributes.rb +0 -0
- metadata +125 -0
data/.gemtest
ADDED
File without changes
|
data/History.txt
ADDED
data/Manifest.txt
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
bin/generate_field_data
|
2
|
+
History.txt
|
3
|
+
lib/lvm/attributes.rb
|
4
|
+
lib/lvm/attributes/2.02.27/pvs.yaml
|
5
|
+
lib/lvm/attributes/2.02.27/lvsseg.yaml
|
6
|
+
lib/lvm/attributes/2.02.27/vgs.yaml
|
7
|
+
lib/lvm/attributes/2.02.27/lvs.yaml
|
8
|
+
lib/lvm/attributes/2.02.27/pvsseg.yaml
|
9
|
+
lib/lvm/attributes/2.02.26/pvs.yaml
|
10
|
+
lib/lvm/attributes/2.02.26/lvsseg.yaml
|
11
|
+
lib/lvm/attributes/2.02.26/vgs.yaml
|
12
|
+
lib/lvm/attributes/2.02.26/lvs.yaml
|
13
|
+
lib/lvm/attributes/2.02.26/pvsseg.yaml
|
14
|
+
lib/lvm/attributes/2.02.29/pvs.yaml
|
15
|
+
lib/lvm/attributes/2.02.29/lvsseg.yaml
|
16
|
+
lib/lvm/attributes/2.02.29/vgs.yaml
|
17
|
+
lib/lvm/attributes/2.02.29/lvs.yaml
|
18
|
+
lib/lvm/attributes/2.02.29/pvsseg.yaml
|
19
|
+
lib/lvm/attributes/2.02.66(2)/pvs.yaml
|
20
|
+
lib/lvm/attributes/2.02.66(2)/lvsseg.yaml
|
21
|
+
lib/lvm/attributes/2.02.66(2)/vgs.yaml
|
22
|
+
lib/lvm/attributes/2.02.66(2)/lvs.yaml
|
23
|
+
lib/lvm/attributes/2.02.66(2)/pvsseg.yaml
|
24
|
+
lib/lvm/attributes/2.02.30/pvs.yaml
|
25
|
+
lib/lvm/attributes/2.02.30/lvsseg.yaml
|
26
|
+
lib/lvm/attributes/2.02.30/vgs.yaml
|
27
|
+
lib/lvm/attributes/2.02.30/lvs.yaml
|
28
|
+
lib/lvm/attributes/2.02.30/pvsseg.yaml
|
29
|
+
Manifest.txt
|
30
|
+
Rakefile
|
31
|
+
README.txt
|
32
|
+
test/test_ruby-lvm-attributes.rb
|
33
|
+
Todo.txt
|
data/README.txt
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
= ruby-lvm-attrib
|
2
|
+
|
3
|
+
* http://ruby-lvm-attrib.rubyforge.org
|
4
|
+
* mailto:mkent@magoazul.com
|
5
|
+
|
6
|
+
== DESCRIPTION:
|
7
|
+
|
8
|
+
This is a list of attributes for lvm objects. They are generated from the
|
9
|
+
source code and broken down by version.
|
10
|
+
|
11
|
+
At their core these files exist to determine which arguments to pass
|
12
|
+
lvs/vgs/pvs and the subsequent type conversions.
|
13
|
+
|
14
|
+
Currently this is split from the main ruby-lvm gem since these files require
|
15
|
+
updating to follow LVM2 releases.
|
16
|
+
|
17
|
+
== FEATURES/PROBLEMS:
|
18
|
+
|
19
|
+
* This library may go away depending on future progress of ruby-lvm.
|
20
|
+
|
21
|
+
== SYNOPSIS:
|
22
|
+
|
23
|
+
require 'lvm/attributes'
|
24
|
+
|
25
|
+
attributes = Attributes.load("2.0.36", "vgs.yaml")
|
26
|
+
|
27
|
+
== REQUIREMENTS:
|
28
|
+
|
29
|
+
* None
|
30
|
+
|
31
|
+
== INSTALL:
|
32
|
+
|
33
|
+
* sudo gem install ruby-lvm-attrib
|
34
|
+
|
35
|
+
== FEEDBACK:
|
36
|
+
|
37
|
+
Please feel free to submit patches or constructive criticism, I'm still pretty
|
38
|
+
new to ruby and object oriented programming in general.
|
39
|
+
|
40
|
+
== LICENSE:
|
41
|
+
|
42
|
+
(The MIT License)
|
43
|
+
|
44
|
+
Copyright (c) 2008 Matthew Kent, Bravenet Web Services Inc.
|
45
|
+
|
46
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
47
|
+
a copy of this software and associated documentation files (the
|
48
|
+
'Software'), to deal in the Software without restriction, including
|
49
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
50
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
51
|
+
permit persons to whom the Software is furnished to do so, subject to
|
52
|
+
the following conditions:
|
53
|
+
|
54
|
+
The above copyright notice and this permission notice shall be
|
55
|
+
included in all copies or substantial portions of the Software.
|
56
|
+
|
57
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
58
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
59
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
60
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
61
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
62
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
63
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'hoe'
|
5
|
+
$:.unshift(File.dirname(__FILE__) + "/lib")
|
6
|
+
require 'lvm/attributes'
|
7
|
+
|
8
|
+
Hoe.spec 'di-ruby-lvm-attrib' do |p|
|
9
|
+
p.developer('Matthew Kent', 'mkent@magoazul.com')
|
10
|
+
p.developer('Greg Symons', 'gsymons@drillinginfo.com')
|
11
|
+
p.remote_rdoc_dir = ''
|
12
|
+
end
|
13
|
+
|
14
|
+
# vim:syntax=ruby
|
data/Todo.txt
ADDED
@@ -0,0 +1,173 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Build yaml files which provide arguments passed to {lv,pv,vg}s and subsequent
|
4
|
+
# type conversions.
|
5
|
+
#
|
6
|
+
# ./generate_field_data ~/LVM2.2.02.38
|
7
|
+
|
8
|
+
require 'fileutils'
|
9
|
+
require 'yaml'
|
10
|
+
|
11
|
+
VERSION_FILE = "/VERSION"
|
12
|
+
COLUMNS_FILE = "/lib/report/columns.h"
|
13
|
+
|
14
|
+
debug = false
|
15
|
+
|
16
|
+
TYPE_CONVERSION_MAP = {
|
17
|
+
# Only types we can really trust
|
18
|
+
"uint32" => "Integer",
|
19
|
+
"int32" => "Integer",
|
20
|
+
# These were determined by reading the code, they invoke _(u)int32_disp right away
|
21
|
+
"pvmdas" => "Integer",
|
22
|
+
"vgmdas" => "Integer",
|
23
|
+
"lvcount" => "Integer",
|
24
|
+
"lvsegcount" => "Integer",
|
25
|
+
"segstartpe" => "Integer",
|
26
|
+
# listed to return STR?
|
27
|
+
"lvkmaj" => "Integer",
|
28
|
+
"lvkmin" => "Integer",
|
29
|
+
"snpercent" => "Float",
|
30
|
+
"copypercent" => "Float",
|
31
|
+
# size32/64, these do unit formatting unless overridden on command line. We
|
32
|
+
# typically want them in bytes so we can convert them to Integers safely
|
33
|
+
"size32" => "Integer",
|
34
|
+
"size64" => "Integer",
|
35
|
+
# These types return size32/size64 as well
|
36
|
+
"lvkreadahead" => "Integer",
|
37
|
+
"pvsize" => "Integer",
|
38
|
+
"devsize" => "Integer",
|
39
|
+
"originsize" => "Integer",
|
40
|
+
"pvfree" => "Integer",
|
41
|
+
"pvused" => "Integer",
|
42
|
+
"pvmdafree" => "Integer",
|
43
|
+
"pvmdasize" => "Integer",
|
44
|
+
"vgsize" => "Integer",
|
45
|
+
"vgfree" => "Integer",
|
46
|
+
"vgmda_free" => "Integer",
|
47
|
+
"chunksize" => "Integer",
|
48
|
+
"segstart" => "Integer",
|
49
|
+
"segsize" => "Integer",
|
50
|
+
"snapcount" => "Integer",
|
51
|
+
"vgmdafree" => "Integer",
|
52
|
+
"vgmdasize" => "Integer",
|
53
|
+
# Weird one, can be "auto" or size32
|
54
|
+
"lvreadahead" => "String"
|
55
|
+
}
|
56
|
+
|
57
|
+
lvm_source = ARGV[0]
|
58
|
+
|
59
|
+
version = File.readlines(lvm_source + VERSION_FILE)[0].split(' ')[0]
|
60
|
+
|
61
|
+
lvs = []
|
62
|
+
lvssegs = []
|
63
|
+
pvs = []
|
64
|
+
pvssegs = []
|
65
|
+
vgs = []
|
66
|
+
File.readlines(lvm_source + COLUMNS_FILE).each do |line|
|
67
|
+
# eg: FIELD(LVS, lv, STR, "LV UUID", lvid.id[1], 38, uuid, "lv_uuid", "Unique identifier")
|
68
|
+
if line =~ %r{^FIELD\((.*)\)$}
|
69
|
+
fields = $1.split(', ')
|
70
|
+
fields.each { |f| f.gsub!(%r{^"}, ''); f.gsub!(%r{"$}, '') }
|
71
|
+
p fields if debug
|
72
|
+
app = fields[0]
|
73
|
+
general_type = fields[2]
|
74
|
+
specific_type = fields[6]
|
75
|
+
column = fields[7]
|
76
|
+
method = fields[7].dup
|
77
|
+
description = fields[8]
|
78
|
+
p app, general_type, specific_type, column, method, description if debug
|
79
|
+
|
80
|
+
if general_type == "NUM"
|
81
|
+
attribute_type = TYPE_CONVERSION_MAP[specific_type]
|
82
|
+
if attribute_type.nil?
|
83
|
+
puts "Oops, missing type conversion data of column '#{specific_type}' use by '#{app}' which says its going to return a '#{specific_type}'"
|
84
|
+
puts "Figure out the missing type and rerun."
|
85
|
+
exit 1
|
86
|
+
end
|
87
|
+
else
|
88
|
+
attribute_type = "String"
|
89
|
+
end
|
90
|
+
|
91
|
+
# our shorter nicer method names, according to the man page these can be
|
92
|
+
# dropped when passing column names as arguments as well, but i found a few
|
93
|
+
# with issues (seg_start).
|
94
|
+
case app
|
95
|
+
when "LVS"
|
96
|
+
method.sub!(%r{^lv_}, '')
|
97
|
+
when "SEGS"
|
98
|
+
method.sub!(%r{^seg_}, '')
|
99
|
+
when "PVS"
|
100
|
+
method.sub!(%r{^pv_}, '')
|
101
|
+
when "PVSEGS"
|
102
|
+
method.sub!(%r{^pvseg_}, '')
|
103
|
+
when "VGS"
|
104
|
+
method.sub!(%r{^vg_}, '')
|
105
|
+
end
|
106
|
+
|
107
|
+
attribute = {
|
108
|
+
:method => method,
|
109
|
+
:column => column,
|
110
|
+
:type_hint => attribute_type,
|
111
|
+
:description => description
|
112
|
+
}
|
113
|
+
|
114
|
+
case app
|
115
|
+
when "LVS"
|
116
|
+
lvs << attribute
|
117
|
+
when "SEGS"
|
118
|
+
lvssegs << attribute
|
119
|
+
when "PVS"
|
120
|
+
pvs << attribute
|
121
|
+
when "PVSEGS"
|
122
|
+
pvssegs << attribute
|
123
|
+
when "VGS"
|
124
|
+
vgs << attribute
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
# we use vg_uuid as our crossover attribute that links vg->lv and vg->pv
|
130
|
+
attribute = { :method => "vg_uuid",
|
131
|
+
:column => "vg_uuid",
|
132
|
+
:type_hint => "String",
|
133
|
+
:description => "For VolumeGroup to LogicalVolume relationship." }
|
134
|
+
lvs << attribute
|
135
|
+
attribute = { :method => "vg_uuid",
|
136
|
+
:column => "vg_uuid",
|
137
|
+
:type_hint => "String",
|
138
|
+
:description => "For VolumeGroup to PhysicalVolume relationship." }
|
139
|
+
pvs << attribute
|
140
|
+
|
141
|
+
# and we link lv->lvsegment, pv->pvsegment
|
142
|
+
attribute = { :method => "lv_uuid",
|
143
|
+
:column => "lv_uuid",
|
144
|
+
:type_hint => "String",
|
145
|
+
:description => "For LogicalVolume to LogicalVolumeSegment relationship." }
|
146
|
+
lvssegs << attribute
|
147
|
+
attribute = { :method => "pv_uuid",
|
148
|
+
:column => "pv_uuid",
|
149
|
+
:type_hint => "String",
|
150
|
+
:description => "For PhysicalVolume to PhysicalVolumeSegment relationship." }
|
151
|
+
pvssegs << attribute
|
152
|
+
|
153
|
+
lvs.sort! {|x,y| x[:column] <=> y[:column]}
|
154
|
+
lvssegs.sort! {|x,y| x[:column] <=> y[:column]}
|
155
|
+
pvs.sort! {|x,y| x[:column] <=> y[:column]}
|
156
|
+
pvssegs.sort! {|x,y| x[:column] <=> y[:column]}
|
157
|
+
vgs.sort! {|x,y| x[:column] <=> y[:column]}
|
158
|
+
|
159
|
+
FileUtils.mkdir(version)
|
160
|
+
|
161
|
+
disclaimer=<<go
|
162
|
+
# These are column to object attribute mappings
|
163
|
+
# generated by #{$0} based on
|
164
|
+
# #{lvm_source}/lib/report/columns.h
|
165
|
+
go
|
166
|
+
|
167
|
+
File.open("#{version}/lvs.yaml", "w") { |f| f.write(disclaimer); f.write(lvs.to_yaml) }
|
168
|
+
File.open("#{version}/lvsseg.yaml", "w") { |f| f.write(disclaimer); f.write(lvssegs.to_yaml)}
|
169
|
+
File.open("#{version}/pvs.yaml", "w") { |f| f.write(disclaimer); f.write(pvs.to_yaml) }
|
170
|
+
File.open("#{version}/pvsseg.yaml", "w") { |f| f.write(disclaimer); f.write(pvssegs.to_yaml)}
|
171
|
+
File.open("#{version}/vgs.yaml", "w") { |f| f.write(disclaimer); f.write(vgs.to_yaml) }
|
172
|
+
|
173
|
+
puts "Done."
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# These are column to object attribute mappings
|
2
|
+
# generated by ./generate_field_data based on
|
3
|
+
# /home/iscsidev/LVM2.2.02.26/lib/report/columns.h
|
4
|
+
---
|
5
|
+
- :method: copy_percent
|
6
|
+
:type_hint: Float
|
7
|
+
:column: copy_percent
|
8
|
+
:description: For mirrors and pvmove
|
9
|
+
- :method: attr
|
10
|
+
:type_hint: String
|
11
|
+
:column: lv_attr
|
12
|
+
:description: Various attributes - see man page.
|
13
|
+
- :method: kernel_major
|
14
|
+
:type_hint: String
|
15
|
+
:column: lv_kernel_major
|
16
|
+
:description: Currently assigned major number or -1 if LV is not active.
|
17
|
+
- :method: kernel_minor
|
18
|
+
:type_hint: String
|
19
|
+
:column: lv_kernel_minor
|
20
|
+
:description: Currently assigned minor number or -1 if LV is not active.
|
21
|
+
- :method: major
|
22
|
+
:type_hint: Integer
|
23
|
+
:column: lv_major
|
24
|
+
:description: Persistent major number or -1 if not persistent.
|
25
|
+
- :method: minor
|
26
|
+
:type_hint: Integer
|
27
|
+
:column: lv_minor
|
28
|
+
:description: Persistent minor number or -1 if not persistent.
|
29
|
+
- :method: name
|
30
|
+
:type_hint: String
|
31
|
+
:column: lv_name
|
32
|
+
:description: Name. LVs created for internal use are enclosed in brackets.
|
33
|
+
- :method: size
|
34
|
+
:type_hint: Integer
|
35
|
+
:column: lv_size
|
36
|
+
:description: Size of LV in current units.
|
37
|
+
- :method: tags
|
38
|
+
:type_hint: String
|
39
|
+
:column: lv_tags
|
40
|
+
:description: Tags
|
41
|
+
- :method: uuid
|
42
|
+
:type_hint: String
|
43
|
+
:column: lv_uuid
|
44
|
+
:description: Unique identifier
|
45
|
+
- :method: mirror_log
|
46
|
+
:type_hint: String
|
47
|
+
:column: mirror_log
|
48
|
+
:description: For mirrors
|
49
|
+
- :method: modules
|
50
|
+
:type_hint: String
|
51
|
+
:column: modules
|
52
|
+
:description: Kernel device-mapper modules required for this LV.
|
53
|
+
- :method: move_pv
|
54
|
+
:type_hint: String
|
55
|
+
:column: move_pv
|
56
|
+
:description: For pvmove
|
57
|
+
- :method: origin
|
58
|
+
:type_hint: String
|
59
|
+
:column: origin
|
60
|
+
:description: For snapshots
|
61
|
+
- :method: seg_count
|
62
|
+
:type_hint: Integer
|
63
|
+
:column: seg_count
|
64
|
+
:description: Number of segments in LV.
|
65
|
+
- :method: snap_percent
|
66
|
+
:type_hint: Float
|
67
|
+
:column: snap_percent
|
68
|
+
:description: For snapshots
|
69
|
+
- :method: vg_uuid
|
70
|
+
:type_hint: String
|
71
|
+
:column: vg_uuid
|
72
|
+
:description: For VolumeGroup to LogicalVolume relationship.
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# These are column to object attribute mappings
|
2
|
+
# generated by ./generate_field_data based on
|
3
|
+
# /home/iscsidev/LVM2.2.02.26/lib/report/columns.h
|
4
|
+
---
|
5
|
+
- :method: chunk_size
|
6
|
+
:type_hint: Integer
|
7
|
+
:column: chunk_size
|
8
|
+
:description: For snapshots
|
9
|
+
- :method: chunksize
|
10
|
+
:type_hint: Integer
|
11
|
+
:column: chunksize
|
12
|
+
:description: For snapshots
|
13
|
+
- :method: devices
|
14
|
+
:type_hint: String
|
15
|
+
:column: devices
|
16
|
+
:description: Underlying devices used with starting extent numbers.
|
17
|
+
- :method: lv_uuid
|
18
|
+
:type_hint: String
|
19
|
+
:column: lv_uuid
|
20
|
+
:description: For LogicalVolume to LogicalVolumeSegment relationship.
|
21
|
+
- :method: region_size
|
22
|
+
:type_hint: Integer
|
23
|
+
:column: region_size
|
24
|
+
:description: For mirrors
|
25
|
+
- :method: regionsize
|
26
|
+
:type_hint: Integer
|
27
|
+
:column: regionsize
|
28
|
+
:description: For mirrors
|
29
|
+
- :method: size
|
30
|
+
:type_hint: Integer
|
31
|
+
:column: seg_size
|
32
|
+
:description: Size of segment in current units.
|
33
|
+
- :method: start
|
34
|
+
:type_hint: Integer
|
35
|
+
:column: seg_start
|
36
|
+
:description: Offset within the LV to the start of the segment in current units.
|
37
|
+
- :method: tags
|
38
|
+
:type_hint: String
|
39
|
+
:column: seg_tags
|
40
|
+
:description: Tags
|
41
|
+
- :method: segtype
|
42
|
+
:type_hint: String
|
43
|
+
:column: segtype
|
44
|
+
:description: Type of LV segment
|
45
|
+
- :method: stripe_size
|
46
|
+
:type_hint: Integer
|
47
|
+
:column: stripe_size
|
48
|
+
:description: For stripes
|
49
|
+
- :method: stripes
|
50
|
+
:type_hint: Integer
|
51
|
+
:column: stripes
|
52
|
+
:description: Number of stripes or mirror legs.
|
53
|
+
- :method: stripesize
|
54
|
+
:type_hint: Integer
|
55
|
+
:column: stripesize
|
56
|
+
:description: For stripes
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# These are column to object attribute mappings
|
2
|
+
# generated by ./generate_field_data based on
|
3
|
+
# /home/iscsidev/LVM2.2.02.26/lib/report/columns.h
|
4
|
+
---
|
5
|
+
- :method: dev_size
|
6
|
+
:type_hint: Integer
|
7
|
+
:column: dev_size
|
8
|
+
:description: Size of underlying device in current units.
|
9
|
+
- :method: pe_start
|
10
|
+
:type_hint: Integer
|
11
|
+
:column: pe_start
|
12
|
+
:description: Offset to the start of data on the underlying device.
|
13
|
+
- :method: attr
|
14
|
+
:type_hint: String
|
15
|
+
:column: pv_attr
|
16
|
+
:description: Various attributes - see man page.
|
17
|
+
- :method: fmt
|
18
|
+
:type_hint: String
|
19
|
+
:column: pv_fmt
|
20
|
+
:description: Type of metadata.
|
21
|
+
- :method: free
|
22
|
+
:type_hint: Integer
|
23
|
+
:column: pv_free
|
24
|
+
:description: Total amount of unallocated space in current units.
|
25
|
+
- :method: name
|
26
|
+
:type_hint: String
|
27
|
+
:column: pv_name
|
28
|
+
:description: Name.
|
29
|
+
- :method: pe_alloc_count
|
30
|
+
:type_hint: Integer
|
31
|
+
:column: pv_pe_alloc_count
|
32
|
+
:description: Total number of allocated Physical Extents.
|
33
|
+
- :method: pe_count
|
34
|
+
:type_hint: Integer
|
35
|
+
:column: pv_pe_count
|
36
|
+
:description: Total number of Physical Extents.
|
37
|
+
- :method: size
|
38
|
+
:type_hint: Integer
|
39
|
+
:column: pv_size
|
40
|
+
:description: Size of PV in current units.
|
41
|
+
- :method: tags
|
42
|
+
:type_hint: String
|
43
|
+
:column: pv_tags
|
44
|
+
:description: Tags
|
45
|
+
- :method: used
|
46
|
+
:type_hint: Integer
|
47
|
+
:column: pv_used
|
48
|
+
:description: Total amount of allocated space in current units.
|
49
|
+
- :method: uuid
|
50
|
+
:type_hint: String
|
51
|
+
:column: pv_uuid
|
52
|
+
:description: Unique identifier.
|
53
|
+
- :method: vg_uuid
|
54
|
+
:type_hint: String
|
55
|
+
:column: vg_uuid
|
56
|
+
:description: For VolumeGroup to PhysicalVolume relationship.
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# These are column to object attribute mappings
|
2
|
+
# generated by ./generate_field_data based on
|
3
|
+
# /home/iscsidev/LVM2.2.02.26/lib/report/columns.h
|
4
|
+
---
|
5
|
+
- :method: pv_uuid
|
6
|
+
:type_hint: String
|
7
|
+
:column: pv_uuid
|
8
|
+
:description: For PhysicalVolume to PhysicalVolumeSegment relationship.
|
9
|
+
- :method: size
|
10
|
+
:type_hint: Integer
|
11
|
+
:column: pvseg_size
|
12
|
+
:description: Number of extents in segment.
|
13
|
+
- :method: start
|
14
|
+
:type_hint: Integer
|
15
|
+
:column: pvseg_start
|
16
|
+
:description: Physical Extent number of start of segment.
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# These are column to object attribute mappings
|
2
|
+
# generated by ./generate_field_data based on
|
3
|
+
# /home/iscsidev/LVM2.2.02.26/lib/report/columns.h
|
4
|
+
---
|
5
|
+
- :method: lv_count
|
6
|
+
:type_hint: Integer
|
7
|
+
:column: lv_count
|
8
|
+
:description: Number of LVs.
|
9
|
+
- :method: max_lv
|
10
|
+
:type_hint: Integer
|
11
|
+
:column: max_lv
|
12
|
+
:description: Maximum number of LVs allowed in VG or 0 if unlimited.
|
13
|
+
- :method: max_pv
|
14
|
+
:type_hint: Integer
|
15
|
+
:column: max_pv
|
16
|
+
:description: Maximum number of PVs allowed in VG or 0 if unlimited.
|
17
|
+
- :method: pv_count
|
18
|
+
:type_hint: Integer
|
19
|
+
:column: pv_count
|
20
|
+
:description: Number of PVs.
|
21
|
+
- :method: snap_count
|
22
|
+
:type_hint: Integer
|
23
|
+
:column: snap_count
|
24
|
+
:description: Number of snapshots.
|
25
|
+
- :method: attr
|
26
|
+
:type_hint: String
|
27
|
+
:column: vg_attr
|
28
|
+
:description: Various attributes - see man page.
|
29
|
+
- :method: extent_count
|
30
|
+
:type_hint: Integer
|
31
|
+
:column: vg_extent_count
|
32
|
+
:description: Total number of Physical Extents.
|
33
|
+
- :method: extent_size
|
34
|
+
:type_hint: Integer
|
35
|
+
:column: vg_extent_size
|
36
|
+
:description: Size of Physical Extents in current units.
|
37
|
+
- :method: fmt
|
38
|
+
:type_hint: String
|
39
|
+
:column: vg_fmt
|
40
|
+
:description: Type of metadata.
|
41
|
+
- :method: free
|
42
|
+
:type_hint: Integer
|
43
|
+
:column: vg_free
|
44
|
+
:description: Total amount of free space in current units.
|
45
|
+
- :method: free_count
|
46
|
+
:type_hint: Integer
|
47
|
+
:column: vg_free_count
|
48
|
+
:description: Total number of unallocated Physical Extents.
|
49
|
+
- :method: name
|
50
|
+
:type_hint: String
|
51
|
+
:column: vg_name
|
52
|
+
:description: Name.
|
53
|
+
- :method: seqno
|
54
|
+
:type_hint: Integer
|
55
|
+
:column: vg_seqno
|
56
|
+
:description: Revision number of internal metadata. Incremented whenever it changes.
|
57
|
+
- :method: size
|
58
|
+
:type_hint: Integer
|
59
|
+
:column: vg_size
|
60
|
+
:description: Total size of VG in current units.
|
61
|
+
- :method: sysid
|
62
|
+
:type_hint: String
|
63
|
+
:column: vg_sysid
|
64
|
+
:description: System ID indicating when and where it was created.
|
65
|
+
- :method: tags
|
66
|
+
:type_hint: String
|
67
|
+
:column: vg_tags
|
68
|
+
:description: Tags
|
69
|
+
- :method: uuid
|
70
|
+
:type_hint: String
|
71
|
+
:column: vg_uuid
|
72
|
+
:description: Unique identifier.
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# These are column to object attribute mappings
|
2
|
+
# generated by ./generate_field_data based on
|
3
|
+
# /home/iscsidev/LVM2.2.02.27/lib/report/columns.h
|
4
|
+
---
|
5
|
+
- :method: copy_percent
|
6
|
+
:type_hint: Float
|
7
|
+
:column: copy_percent
|
8
|
+
:description: For mirrors and pvmove
|
9
|
+
- :method: attr
|
10
|
+
:type_hint: String
|
11
|
+
:column: lv_attr
|
12
|
+
:description: Various attributes - see man page.
|
13
|
+
- :method: kernel_major
|
14
|
+
:type_hint: String
|
15
|
+
:column: lv_kernel_major
|
16
|
+
:description: Currently assigned major number or -1 if LV is not active.
|
17
|
+
- :method: kernel_minor
|
18
|
+
:type_hint: String
|
19
|
+
:column: lv_kernel_minor
|
20
|
+
:description: Currently assigned minor number or -1 if LV is not active.
|
21
|
+
- :method: major
|
22
|
+
:type_hint: Integer
|
23
|
+
:column: lv_major
|
24
|
+
:description: Persistent major number or -1 if not persistent.
|
25
|
+
- :method: minor
|
26
|
+
:type_hint: Integer
|
27
|
+
:column: lv_minor
|
28
|
+
:description: Persistent minor number or -1 if not persistent.
|
29
|
+
- :method: name
|
30
|
+
:type_hint: String
|
31
|
+
:column: lv_name
|
32
|
+
:description: Name. LVs created for internal use are enclosed in brackets.
|
33
|
+
- :method: size
|
34
|
+
:type_hint: Integer
|
35
|
+
:column: lv_size
|
36
|
+
:description: Size of LV in current units.
|
37
|
+
- :method: tags
|
38
|
+
:type_hint: String
|
39
|
+
:column: lv_tags
|
40
|
+
:description: Tags
|
41
|
+
- :method: uuid
|
42
|
+
:type_hint: String
|
43
|
+
:column: lv_uuid
|
44
|
+
:description: Unique identifier
|
45
|
+
- :method: mirror_log
|
46
|
+
:type_hint: String
|
47
|
+
:column: mirror_log
|
48
|
+
:description: For mirrors
|
49
|
+
- :method: modules
|
50
|
+
:type_hint: String
|
51
|
+
:column: modules
|
52
|
+
:description: Kernel device-mapper modules required for this LV.
|
53
|
+
- :method: move_pv
|
54
|
+
:type_hint: String
|
55
|
+
:column: move_pv
|
56
|
+
:description: For pvmove
|
57
|
+
- :method: origin
|
58
|
+
:type_hint: String
|
59
|
+
:column: origin
|
60
|
+
:description: For snapshots
|
61
|
+
- :method: seg_count
|
62
|
+
:type_hint: Integer
|
63
|
+
:column: seg_count
|
64
|
+
:description: Number of segments in LV.
|
65
|
+
- :method: snap_percent
|
66
|
+
:type_hint: Float
|
67
|
+
:column: snap_percent
|
68
|
+
:description: For snapshots
|
69
|
+
- :method: vg_uuid
|
70
|
+
:type_hint: String
|
71
|
+
:column: vg_uuid
|
72
|
+
:description: For VolumeGroup to LogicalVolume relationship.
|