di-ruby-lvm-attrib 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. data/.gemtest +0 -0
  2. data/History.txt +5 -0
  3. data/Manifest.txt +33 -0
  4. data/README.txt +63 -0
  5. data/Rakefile +14 -0
  6. data/Todo.txt +4 -0
  7. data/bin/generate_field_data +173 -0
  8. data/lib/lvm/attributes/2.02.26/lvs.yaml +72 -0
  9. data/lib/lvm/attributes/2.02.26/lvsseg.yaml +56 -0
  10. data/lib/lvm/attributes/2.02.26/pvs.yaml +56 -0
  11. data/lib/lvm/attributes/2.02.26/pvsseg.yaml +16 -0
  12. data/lib/lvm/attributes/2.02.26/vgs.yaml +72 -0
  13. data/lib/lvm/attributes/2.02.27/lvs.yaml +72 -0
  14. data/lib/lvm/attributes/2.02.27/lvsseg.yaml +56 -0
  15. data/lib/lvm/attributes/2.02.27/pvs.yaml +60 -0
  16. data/lib/lvm/attributes/2.02.27/pvsseg.yaml +16 -0
  17. data/lib/lvm/attributes/2.02.27/vgs.yaml +76 -0
  18. data/lib/lvm/attributes/2.02.29/lvs.yaml +80 -0
  19. data/lib/lvm/attributes/2.02.29/lvsseg.yaml +56 -0
  20. data/lib/lvm/attributes/2.02.29/pvs.yaml +64 -0
  21. data/lib/lvm/attributes/2.02.29/pvsseg.yaml +16 -0
  22. data/lib/lvm/attributes/2.02.29/vgs.yaml +80 -0
  23. data/lib/lvm/attributes/2.02.30/lvs.yaml +84 -0
  24. data/lib/lvm/attributes/2.02.30/lvsseg.yaml +64 -0
  25. data/lib/lvm/attributes/2.02.30/pvs.yaml +64 -0
  26. data/lib/lvm/attributes/2.02.30/pvsseg.yaml +16 -0
  27. data/lib/lvm/attributes/2.02.30/vgs.yaml +80 -0
  28. data/lib/lvm/attributes/2.02.66(2)/lvs.yaml +88 -0
  29. data/lib/lvm/attributes/2.02.66(2)/lvsseg.yaml +64 -0
  30. data/lib/lvm/attributes/2.02.66(2)/pvs.yaml +44 -0
  31. data/lib/lvm/attributes/2.02.66(2)/pvsseg.yaml +16 -0
  32. data/lib/lvm/attributes/2.02.66(2)/vgs.yaml +84 -0
  33. data/lib/lvm/attributes.rb +24 -0
  34. data/test/test_ruby-lvm-attributes.rb +0 -0
  35. metadata +125 -0
data/.gemtest ADDED
File without changes
data/History.txt ADDED
@@ -0,0 +1,5 @@
1
+ === 0.0.1 / 2008-07-21
2
+
3
+ * 1 major enhancement
4
+ * Birthday!
5
+ * Test release.
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,4 @@
1
+ = to do
2
+
3
+ == 0.1.1
4
+ * attribute generation should be a proper class with a binary invoking it
@@ -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.