di-ruby-lvm-attrib 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.