di-ruby-lvm-attrib 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -49,6 +49,9 @@ To add attributes:
49
49
  * Submit PR to this repository. **Please make sure to point your pull at the
50
50
  `next` branch -- NOT MASTER!**
51
51
 
52
+ You can have look at `update-lvm.sh` that does above steps (except git changes)
53
+ automatically.
54
+
52
55
  ### MISSING ATTRIBUTE TYPE:
53
56
 
54
57
  If you get an error like the below:
@@ -56,7 +59,7 @@ If you get an error like the below:
56
59
  Oops, missing type conversion data of column 'discards' use by 'SEGS' which says its going to return a 'discards'
57
60
  Figure out the missing type and rerun.
58
61
 
59
- * Look in `path/to/lvm-source/lib/report/columns.rb` for the column name in the 7th field.
62
+ * Look in `path/to/lvm-source/lib/report/columns.h` for the column name in the 7th field.
60
63
  * If the 3rd field is NUM, type will be Integer. If 3rd field is STR, type will be String.
61
64
  * Add the information to `bin/generate_field_data` in the TYPE_CONVERSION_MAP and try running again
62
65
 
@@ -65,7 +65,8 @@ TYPE_CONVERSION_MAP = {
65
65
  "raidmismatchcount" => "Integer",
66
66
  "raidwritebehind" => "Integer",
67
67
  "raidminrecoveryrate" => "Integer",
68
- "raidmaxrecoveryrate" => "Integer"
68
+ "raidmaxrecoveryrate" => "Integer",
69
+ "segsizepe" => "Integer"
69
70
  }
70
71
 
71
72
  lvm_source = ARGV[0]
@@ -11,5 +11,5 @@ Gem::Specification.new do |gem|
11
11
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
12
12
  gem.name = "di-ruby-lvm-attrib"
13
13
  gem.require_paths = ["lib"]
14
- gem.version = '0.0.12'
14
+ gem.version = '0.0.13'
15
15
  end
@@ -0,0 +1,156 @@
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: convert_lv
6
+ :column: convert_lv
7
+ :type_hint: String
8
+ :description: For lvconvert
9
+ - :method: copy_percent
10
+ :column: copy_percent
11
+ :type_hint: Float
12
+ :description: For RAID
13
+ - :method: data_lv
14
+ :column: data_lv
15
+ :type_hint: String
16
+ :description: For thin pools
17
+ - :method: data_percent
18
+ :column: data_percent
19
+ :type_hint: Float
20
+ :description: For snapshot and thin pools and volumes
21
+ - :method: active
22
+ :column: lv_active
23
+ :type_hint: String
24
+ :description: Active state of the LV.
25
+ - :method: attr
26
+ :column: lv_attr
27
+ :type_hint: String
28
+ :description: Various attributes - see man page.
29
+ - :method: host
30
+ :column: lv_host
31
+ :type_hint: String
32
+ :description: Creation host of the LV
33
+ - :method: kernel_major
34
+ :column: lv_kernel_major
35
+ :type_hint: String
36
+ :description: Currently assigned major number or -1 if LV is not active.
37
+ - :method: kernel_minor
38
+ :column: lv_kernel_minor
39
+ :type_hint: String
40
+ :description: Currently assigned minor number or -1 if LV is not active.
41
+ - :method: kernel_read_ahead
42
+ :column: lv_kernel_read_ahead
43
+ :type_hint: Integer
44
+ :description: Currently-in-use read ahead setting in current units.
45
+ - :method: major
46
+ :column: lv_major
47
+ :type_hint: Integer
48
+ :description: Persistent major number or -1 if not persistent.
49
+ - :method: metadata_size
50
+ :column: lv_metadata_size
51
+ :type_hint: Integer
52
+ :description: For thin pools
53
+ - :method: minor
54
+ :column: lv_minor
55
+ :type_hint: Integer
56
+ :description: Persistent minor number or -1 if not persistent.
57
+ - :method: modules
58
+ :column: lv_modules
59
+ :type_hint: String
60
+ :description: Kernel device-mapper modules required for this LV.
61
+ - :method: name
62
+ :column: lv_name
63
+ :type_hint: String
64
+ :description: Name. LVs created for internal use are enclosed in brackets.
65
+ - :method: path
66
+ :column: lv_path
67
+ :type_hint: String
68
+ :description: Full pathname for LV.
69
+ - :method: profile
70
+ :column: lv_profile
71
+ :type_hint: String
72
+ :description: Configuration profile attached to this LV.
73
+ - :method: read_ahead
74
+ :column: lv_read_ahead
75
+ :type_hint: String
76
+ :description: Read ahead setting in current units.
77
+ - :method: size
78
+ :column: lv_size
79
+ :type_hint: Integer
80
+ :description: Size of LV in current units.
81
+ - :method: tags
82
+ :column: lv_tags
83
+ :type_hint: String
84
+ :description: Tags
85
+ - :method: time
86
+ :column: lv_time
87
+ :type_hint: String
88
+ :description: Creation time of the LV
89
+ - :method: uuid
90
+ :column: lv_uuid
91
+ :type_hint: String
92
+ :description: Unique identifier.
93
+ - :method: metadata_lv
94
+ :column: metadata_lv
95
+ :type_hint: String
96
+ :description: For thin pools
97
+ - :method: metadata_percent
98
+ :column: metadata_percent
99
+ :type_hint: Float
100
+ :description: For thin pools
101
+ - :method: mirror_log
102
+ :column: mirror_log
103
+ :type_hint: String
104
+ :description: For mirrors
105
+ - :method: move_pv
106
+ :column: move_pv
107
+ :type_hint: String
108
+ :description: For pvmove
109
+ - :method: origin
110
+ :column: origin
111
+ :type_hint: String
112
+ :description: For snapshots
113
+ - :method: origin_size
114
+ :column: origin_size
115
+ :type_hint: Integer
116
+ :description: For snapshots
117
+ - :method: pool_lv
118
+ :column: pool_lv
119
+ :type_hint: String
120
+ :description: For thin volumes
121
+ - :method: raid_max_recovery_rate
122
+ :column: raid_max_recovery_rate
123
+ :type_hint: Integer
124
+ :description: For RAID1
125
+ - :method: raid_min_recovery_rate
126
+ :column: raid_min_recovery_rate
127
+ :type_hint: Integer
128
+ :description: For RAID1
129
+ - :method: raid_mismatch_count
130
+ :column: raid_mismatch_count
131
+ :type_hint: Integer
132
+ :description: For RAID
133
+ - :method: raid_sync_action
134
+ :column: raid_sync_action
135
+ :type_hint: String
136
+ :description: For RAID
137
+ - :method: raid_write_behind
138
+ :column: raid_write_behind
139
+ :type_hint: Integer
140
+ :description: For RAID1
141
+ - :method: seg_count
142
+ :column: seg_count
143
+ :type_hint: Integer
144
+ :description: Number of segments in LV.
145
+ - :method: snap_percent
146
+ :column: snap_percent
147
+ :type_hint: Float
148
+ :description: For snapshots
149
+ - :method: sync_percent
150
+ :column: sync_percent
151
+ :type_hint: Float
152
+ :description: For RAID
153
+ - :method: vg_uuid
154
+ :column: vg_uuid
155
+ :type_hint: String
156
+ :description: For VolumeGroup to LogicalVolume relationship.
@@ -0,0 +1,88 @@
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: chunk_size
6
+ :column: chunk_size
7
+ :type_hint: Integer
8
+ :description: For snapshots
9
+ - :method: chunksize
10
+ :column: chunksize
11
+ :type_hint: Integer
12
+ :description: For snapshots
13
+ - :method: devices
14
+ :column: devices
15
+ :type_hint: String
16
+ :description: Underlying devices used with starting extent numbers.
17
+ - :method: discards
18
+ :column: discards
19
+ :type_hint: String
20
+ :description: For thin pools
21
+ - :method: lv_uuid
22
+ :column: lv_uuid
23
+ :type_hint: String
24
+ :description: For LogicalVolume to LogicalVolumeSegment relationship.
25
+ - :method: region_size
26
+ :column: region_size
27
+ :type_hint: Integer
28
+ :description: For mirrors
29
+ - :method: regionsize
30
+ :column: regionsize
31
+ :type_hint: Integer
32
+ :description: For mirrors
33
+ - :method: monitor
34
+ :column: seg_monitor
35
+ :type_hint: String
36
+ :description: Dmeventd monitoring status of the segment.
37
+ - :method: pe_ranges
38
+ :column: seg_pe_ranges
39
+ :type_hint: String
40
+ :description: Ranges of Physical Extents of underlying devices in command line format.
41
+ - :method: size
42
+ :column: seg_size
43
+ :type_hint: Integer
44
+ :description: Size of segment in current units.
45
+ - :method: size_pe
46
+ :column: seg_size_pe
47
+ :type_hint: Integer
48
+ :description: Size of segment in physical extents.
49
+ - :method: start
50
+ :column: seg_start
51
+ :type_hint: Integer
52
+ :description: Offset within the LV to the start of the segment in current units.
53
+ - :method: start_pe
54
+ :column: seg_start_pe
55
+ :type_hint: Integer
56
+ :description: Offset within the LV to the start of the segment in physical extents.
57
+ - :method: tags
58
+ :column: seg_tags
59
+ :type_hint: String
60
+ :description: Tags
61
+ - :method: segtype
62
+ :column: segtype
63
+ :type_hint: String
64
+ :description: Type of LV segment.
65
+ - :method: stripe_size
66
+ :column: stripe_size
67
+ :type_hint: Integer
68
+ :description: For stripes
69
+ - :method: stripes
70
+ :column: stripes
71
+ :type_hint: Integer
72
+ :description: Number of stripes or mirror legs.
73
+ - :method: stripesize
74
+ :column: stripesize
75
+ :type_hint: Integer
76
+ :description: For stripes
77
+ - :method: thin_count
78
+ :column: thin_count
79
+ :type_hint: Integer
80
+ :description: For thin pools
81
+ - :method: transaction_id
82
+ :column: transaction_id
83
+ :type_hint: Integer
84
+ :description: For thin pools
85
+ - :method: zero
86
+ :column: zero
87
+ :type_hint: Integer
88
+ :description: For thin pools
@@ -0,0 +1,81 @@
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: attr
14
+ :column: pv_attr
15
+ :type_hint: String
16
+ :description: Various attributes - see man page.
17
+ - :method: ba_size
18
+ :column: pv_ba_size
19
+ :type_hint: Integer
20
+ :description: Size of PV Bootloader Area in current units.
21
+ - :method: ba_start
22
+ :column: pv_ba_start
23
+ :type_hint: Integer
24
+ :description: Offset to the start of PV Bootloader Area on the underlying device
25
+ in current units.
26
+ - :method: fmt
27
+ :column: pv_fmt
28
+ :type_hint: String
29
+ :description: Type of metadata.
30
+ - :method: free
31
+ :column: pv_free
32
+ :type_hint: Integer
33
+ :description: Total amount of unallocated space in current units.
34
+ - :method: mda_count
35
+ :column: pv_mda_count
36
+ :type_hint: Integer
37
+ :description: Number of metadata areas on this device.
38
+ - :method: mda_free
39
+ :column: pv_mda_free
40
+ :type_hint: Integer
41
+ :description: Free metadata area space on this device in current units.
42
+ - :method: mda_size
43
+ :column: pv_mda_size
44
+ :type_hint: Integer
45
+ :description: Size of smallest metadata area on this device in current units.
46
+ - :method: mda_used_count
47
+ :column: pv_mda_used_count
48
+ :type_hint: Integer
49
+ :description: Number of metadata areas in use on this device.
50
+ - :method: name
51
+ :column: pv_name
52
+ :type_hint: String
53
+ :description: Name.
54
+ - :method: pe_alloc_count
55
+ :column: pv_pe_alloc_count
56
+ :type_hint: Integer
57
+ :description: Total number of allocated Physical Extents.
58
+ - :method: pe_count
59
+ :column: pv_pe_count
60
+ :type_hint: Integer
61
+ :description: Total number of Physical Extents.
62
+ - :method: size
63
+ :column: pv_size
64
+ :type_hint: Integer
65
+ :description: Size of PV in current units.
66
+ - :method: tags
67
+ :column: pv_tags
68
+ :type_hint: String
69
+ :description: Tags
70
+ - :method: used
71
+ :column: pv_used
72
+ :type_hint: Integer
73
+ :description: Total amount of allocated space in current units.
74
+ - :method: uuid
75
+ :column: pv_uuid
76
+ :type_hint: String
77
+ :description: Unique identifier.
78
+ - :method: vg_uuid
79
+ :column: vg_uuid
80
+ :type_hint: String
81
+ :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,96 @@
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.
21
+ - :method: snap_count
22
+ :column: snap_count
23
+ :type_hint: Integer
24
+ :description: Number of snapshots.
25
+ - :method: attr
26
+ :column: vg_attr
27
+ :type_hint: String
28
+ :description: Various attributes - see man page.
29
+ - :method: extent_count
30
+ :column: vg_extent_count
31
+ :type_hint: Integer
32
+ :description: Total number of Physical Extents.
33
+ - :method: extent_size
34
+ :column: vg_extent_size
35
+ :type_hint: Integer
36
+ :description: Size of Physical Extents in current units.
37
+ - :method: fmt
38
+ :column: vg_fmt
39
+ :type_hint: String
40
+ :description: Type of metadata.
41
+ - :method: free
42
+ :column: vg_free
43
+ :type_hint: Integer
44
+ :description: Total amount of free space in current units.
45
+ - :method: free_count
46
+ :column: vg_free_count
47
+ :type_hint: Integer
48
+ :description: Total number of unallocated Physical Extents.
49
+ - :method: mda_copies
50
+ :column: vg_mda_copies
51
+ :type_hint: Integer
52
+ :description: Target number of in use metadata areas in the VG.
53
+ - :method: mda_count
54
+ :column: vg_mda_count
55
+ :type_hint: Integer
56
+ :description: Number of metadata areas on this VG.
57
+ - :method: mda_free
58
+ :column: vg_mda_free
59
+ :type_hint: Integer
60
+ :description: Free metadata area space for this VG in current units.
61
+ - :method: mda_size
62
+ :column: vg_mda_size
63
+ :type_hint: Integer
64
+ :description: Size of smallest metadata area for this VG in current units.
65
+ - :method: mda_used_count
66
+ :column: vg_mda_used_count
67
+ :type_hint: Integer
68
+ :description: Number of metadata areas in use on this VG.
69
+ - :method: name
70
+ :column: vg_name
71
+ :type_hint: String
72
+ :description: Name.
73
+ - :method: profile
74
+ :column: vg_profile
75
+ :type_hint: String
76
+ :description: Configuration profile attached to this VG.
77
+ - :method: seqno
78
+ :column: vg_seqno
79
+ :type_hint: Integer
80
+ :description: Revision number of internal metadata. Incremented whenever it changes.
81
+ - :method: size
82
+ :column: vg_size
83
+ :type_hint: Integer
84
+ :description: Total size of VG in current units.
85
+ - :method: sysid
86
+ :column: vg_sysid
87
+ :type_hint: String
88
+ :description: System ID indicating when and where it was created.
89
+ - :method: tags
90
+ :column: vg_tags
91
+ :type_hint: String
92
+ :description: Tags
93
+ - :method: uuid
94
+ :column: vg_uuid
95
+ :type_hint: String
96
+ :description: Unique identifier.
data/update-lvm.sh ADDED
@@ -0,0 +1,68 @@
1
+ #!/bin/sh
2
+ # Script to checkout LVM2 from git and make attributes for all versions that
3
+ # don't have yet.
4
+ #
5
+ # Author: Elan Ruusamäe <glen@delfi.ee>
6
+ #
7
+ # Usage:
8
+ # - update all versions: ./update-lvm.sh
9
+ # - update specific version "2.0.102": ./update-lvm.sh v2_02_102
10
+
11
+ # ADDING ATTRIBUTES:
12
+ # To add attributes:
13
+ # * Download and extract LVM2 source version from: http://git.fedorahosted.org/cgit/lvm2.git/refs/tags
14
+ # * Fork this repository
15
+ # * `git clone your-forked-repo`
16
+ # * `cd your-forked-repo`
17
+ # * `git checkout -b mybranch`
18
+ # * `bin/generate_field_data path/to/lvm2-source`
19
+ # * See missing attribute type note below if there's issues, otherwise will just return "Done."
20
+ # * `mv LVM_VERSION_FULL lib/lvm/attributes/LVM_VERSION`
21
+ # * LVM_VERSION_FULL being something like 2.02.86(2)-cvs or 2.02.98(2)-git
22
+ # * LVM_VERSION being something like 2.02.86(2) or 2.02.98(2)
23
+ # * `git commit -am "Added LVM_VERSION attributes"`
24
+ # * `git push origin mybranch`
25
+ # * Submit PR to this repository. **Please make sure to point your pull at the
26
+ # `next` branch -- NOT MASTER!**
27
+ #
28
+
29
+ repo_url=git://git.fedorahosted.org/git/lvm2.git
30
+ refs=refs/heads/master:refs/remotes/origin/master
31
+ pattern=v2_02_*
32
+
33
+ set -e
34
+
35
+ export GIT_DIR=lvm2/.git
36
+
37
+ if [ ! -d $GIT_DIR ]; then
38
+ install -d $GIT_DIR
39
+ git init
40
+ git remote add origin $repo_url
41
+ git fetch --depth 1 origin $refs --tags
42
+ else
43
+ git fetch origin $refs --tags
44
+ fi
45
+
46
+ # iterate over all tags
47
+ for tag in ${@:-$(git tags $pattern)}; do
48
+ # already present in source tree
49
+ test -d lib/lvm/attributes/$tag && continue
50
+
51
+ echo "Process $tag"
52
+ cd lvm2
53
+ env -u GIT_DIR git checkout $tag
54
+ cd ..
55
+
56
+ version=$(awk '{print $1}' lvm2/VERSION)
57
+ # skip old "cvs" releases
58
+ case "$version" in
59
+ *-cvs)
60
+ continue
61
+ ;;
62
+ esac
63
+
64
+ # already present locally
65
+ test -d $version && continue
66
+
67
+ ./bin/generate_field_data lvm2 || echo FAILED
68
+ done
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: di-ruby-lvm-attrib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-12-04 00:00:00.000000000 Z
13
+ date: 2014-01-31 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: A list of attributes for LVM objects
16
16
  email:
@@ -33,6 +33,11 @@ files:
33
33
  - lib/lvm/attributes/2.02.100(2)/pvs.yaml
34
34
  - lib/lvm/attributes/2.02.100(2)/pvsseg.yaml
35
35
  - lib/lvm/attributes/2.02.100(2)/vgs.yaml
36
+ - lib/lvm/attributes/2.02.104(2)/lvs.yaml
37
+ - lib/lvm/attributes/2.02.104(2)/lvsseg.yaml
38
+ - lib/lvm/attributes/2.02.104(2)/pvs.yaml
39
+ - lib/lvm/attributes/2.02.104(2)/pvsseg.yaml
40
+ - lib/lvm/attributes/2.02.104(2)/vgs.yaml
36
41
  - lib/lvm/attributes/2.02.26/lvs.yaml
37
42
  - lib/lvm/attributes/2.02.26/lvsseg.yaml
38
43
  - lib/lvm/attributes/2.02.26/pvs.yaml
@@ -104,6 +109,7 @@ files:
104
109
  - lib/lvm/attributes/2.02.98(2)/pvsseg.yaml
105
110
  - lib/lvm/attributes/2.02.98(2)/vgs.yaml
106
111
  - test/test_ruby-lvm-attributes.rb
112
+ - update-lvm.sh
107
113
  homepage: https://github.com/DrillingInfo/di-ruby-lvm-attrib
108
114
  licenses: []
109
115
  post_install_message: