chef-ruby-lvm-attrib 0.2.8 → 0.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9ff901d114a6960af72733b64adcafb28d876dea7e4ddd5723594ede10cb085b
4
- data.tar.gz: 8c95ac1c2cbcc290e94a067406c2a9261eb235addb0324a4a5d1844c70c55d83
3
+ metadata.gz: 2950a875f1028a2dd7b384592984534a76002bc9150c2f0d44bf69ba73b3e1ca
4
+ data.tar.gz: 9d75105a6e28b9dab08096a49da9ff65d6d3c34fdda0930c3061b84f952d8be9
5
5
  SHA512:
6
- metadata.gz: 9458e2aefcba80569e5ed0d6fa76b3208a65b6f9380c9a4b3c88010365bbd56b3c984fe255a5a18c79c7b8a7c3a049774f3a9cb25d4747fcc732053bc531897c
7
- data.tar.gz: 5dc2e96fadf95bc1b59e4bc5ea07f21f75be0331e7dfc2010239f5086fcde8b435379223ec8a7cd477dae2c24167b2b1febe8b4c6f44057134ae4780ff164c21
6
+ metadata.gz: 0c7c2c1d289603f8808611fdbb667b1689d2374cf74a054d5869e9a0ce44806b0765f35365726f1896d035b3b29c8713f32601f378ca684818b3159ccb0be659
7
+ data.tar.gz: 6f3381c92dcbe90c5e677a8e7e3fab5ae67c2f98c5a05796591330902676666938e1fde671410fc50b6537c88680537e1fe5c4717b16b62025149e2d170833dd
@@ -0,0 +1,50 @@
1
+ # Documentation available at https://expeditor.chef.io/docs/getting-started/
2
+ ---
3
+
4
+ # Slack channel in Chef Software slack to send notifications about build failures, etc
5
+ slack:
6
+ notify_channel: chef-infra-notify
7
+
8
+ # This publish is triggered by the `built_in:publish_rubygems` artifact_action.
9
+ rubygems:
10
+ - chef-ruby-lvm-attrib
11
+
12
+ github:
13
+ # This deletes the GitHub PR branch after successfully merged into the release branch
14
+ delete_branch_on_merge: true
15
+ # The tag format to use (e.g. v1.0.0)
16
+ version_tag_format: "v{{version}}"
17
+ # allow bumping the minor release via label
18
+ minor_bump_labels:
19
+ - "Expeditor: Bump Version Minor"
20
+ # allow bumping the major release via label
21
+ major_bump_labels:
22
+ - "Expeditor: Bump Version Major"
23
+
24
+ changelog:
25
+ rollup_header: Changes not yet released to rubygems.org
26
+
27
+ # These actions are taken, in order they are specified, anytime a Pull Request is merged.
28
+ merge_actions:
29
+ - built_in:bump_version:
30
+ ignore_labels:
31
+ - "Expeditor: Skip Version Bump"
32
+ - "Expeditor: Skip All"
33
+ - bash:.expeditor/update_version.sh:
34
+ only_if: built_in:bump_version
35
+ - built_in:update_changelog:
36
+ ignore_labels:
37
+ - "Expeditor: Skip Changelog"
38
+ - "Expeditor: Skip All"
39
+ - built_in:build_gem:
40
+ only_if: built_in:bump_version
41
+
42
+ pipelines:
43
+ - verify:
44
+ description: Pull Request validation tests
45
+ public: true
46
+
47
+ promote:
48
+ actions:
49
+ - built_in:rollover_changelog
50
+ - built_in:publish_rubygems
@@ -0,0 +1,44 @@
1
+ #!/bin/bash
2
+ #
3
+ # This script runs a passed in command, but first setups up the bundler caching on the repo
4
+
5
+ set -e
6
+
7
+ export USER="root"
8
+
9
+ # make sure we have the aws cli
10
+ apt-get update -y
11
+ apt-get install awscli -y
12
+
13
+ # grab the s3 bundler if it's there and use it for all operations in bundler
14
+ echo "Fetching bundle cache archive from s3://public-cd-buildkite-cache/${BUILDKITE_PIPELINE_SLUG}/${BUILDKITE_LABEL}/bundle.tar.gz"
15
+ aws s3 cp "s3://public-cd-buildkite-cache/${BUILDKITE_PIPELINE_SLUG}/${BUILDKITE_LABEL}/bundle.tar.gz" bundle.tar.gz || echo 'Could not pull the bundler archive from s3 for caching. Builds may be slower than usual as all gems will have to install.'
16
+ aws s3 cp "s3://public-cd-buildkite-cache/${BUILDKITE_PIPELINE_SLUG}/${BUILDKITE_LABEL}/bundle.sha256" bundle.sha256 || echo "Could not pull the sha256 hash of the vendor/bundle directory from s3. Without this we will compress and upload the bundler archive to S3 even if it hasn't changed"
17
+
18
+ echo "Restoring the bundle cache archive to vendor/bundle"
19
+ if [ -f bundle.tar.gz ]; then
20
+ tar -xzf bundle.tar.gz
21
+ fi
22
+ bundle config --local path vendor/bundle
23
+
24
+ bundle install --jobs=7 --retry=3
25
+ bundle exec $1
26
+
27
+ if [[ -f bundle.tar.gz && -f bundle.sha256 ]]; then # dont' check the sha if we're missing either file
28
+ if shasum --check bundle.sha256 --status; then # if the the sha matches we're done
29
+ echo "Bundled gems have not changed. Skipping upload to s3"
30
+ exit
31
+ fi
32
+ fi
33
+
34
+ echo "Generating sha256 hash file of the vendor/bundle directory to ship to s3"
35
+ shasum -a 256 vendor/bundle > bundle.sha256
36
+
37
+ echo "Creating the tar.gz to of the vendor/bundle directory to ship to s3"
38
+ tar -czf bundle.tar.gz vendor/
39
+
40
+ echo "Uploading the tar.gz of the vendor/bundle directory to s3"
41
+ aws s3 cp bundle.tar.gz "s3://public-cd-buildkite-cache/${BUILDKITE_PIPELINE_SLUG}/${BUILDKITE_LABEL}/bundle.tar.gz" || echo 'Could not push the bundler directory to s3 for caching. Future builds may be slower if this continues.'
42
+
43
+ echo "Uploading the sha256 hash of the vendor/bundle directory to s3"
44
+ aws s3 cp bundle.sha256 "s3://public-cd-buildkite-cache/${BUILDKITE_PIPELINE_SLUG}/${BUILDKITE_LABEL}/bundle.sha256" || echo 'Could not push the bundler directory to s3 for caching. Future builds may be slower if this continues.'
@@ -0,0 +1,12 @@
1
+ #!/bin/bash
2
+ #
3
+ # After a PR merge, Chef Expeditor will bump the PATCH version in the VERSION file.
4
+ # It then executes this file to update any other files/components with that new version.
5
+ #
6
+
7
+ set -evx
8
+
9
+ sed -i -r "s/^(\s*)VERSION = \".+\"/\1VERSION = \"$(cat VERSION)\"/" lib/lvm/attributes.rb
10
+
11
+ # Once Expeditor finshes executing this script, it will commit the changes and push
12
+ # the commit as a new tag corresponding to the value in the VERSION file.
@@ -0,0 +1,10 @@
1
+ steps:
2
+
3
+ - label: lint-chefstyle
4
+ command:
5
+ - .expeditor/run_linux_tests.sh "rake style"
6
+
7
+ expeditor:
8
+ executor:
9
+ docker:
10
+ image: ruby:2.6-buster
@@ -0,0 +1,4 @@
1
+ AllCops:
2
+ Exclude:
3
+ - "lvm2/**/*"
4
+ - "vendor/**/*"
@@ -1,7 +1,26 @@
1
+ # chef-ruby-lvm-attrib Changelog
2
+
3
+ <!-- latest_release 0.3.0 -->
4
+ ## [v0.3.0](https://github.com/chef/chef-ruby-lvm-attrib/tree/v0.3.0) (2019-10-18)
5
+
6
+ #### Merged Pull Requests
7
+ - Add the gem badge to the readme + resolve chefstyle warnings [#23](https://github.com/chef/chef-ruby-lvm-attrib/pull/23) ([tas50](https://github.com/tas50))
8
+ <!-- latest_release -->
9
+ <!-- release_rollup since=0.2.8 -->
10
+ ### Changes not yet released to rubygems.org
11
+
12
+ #### Merged Pull Requests
13
+ - Add the gem badge to the readme + resolve chefstyle warnings [#23](https://github.com/chef/chef-ruby-lvm-attrib/pull/23) ([tas50](https://github.com/tas50)) <!-- 0.3.0 -->
14
+ - Added v2_02_186 attributes [#18](https://github.com/chef/chef-ruby-lvm-attrib/pull/18) ([b-dean](https://github.com/b-dean)) <!-- 0.2.10 -->
15
+ - Wire up Expeditor and Buildkite [#22](https://github.com/chef/chef-ruby-lvm-attrib/pull/22) ([tas50](https://github.com/tas50)) <!-- 0.2.9 -->
16
+ <!-- release_rollup -->
17
+
18
+ <!-- latest_stable_release -->
1
19
  # 0.2.8 (2019-08-09)
2
20
 
3
21
  - Added 2.02.185
4
22
  - Added 2.03.02
23
+ <!-- latest_stable_release -->
5
24
 
6
25
  # 0.2.7 (2019-01-04)
7
26
 
@@ -152,4 +171,4 @@
152
171
 
153
172
  - Added LVM attributes for version 2.02.111
154
173
  - Added MIT license to the Gemspec
155
- - Gemspec now properly loads the version from the lib/attributes.rb file
174
+ - Gemspec now properly loads the version from the lib/attributes.rb file
data/Gemfile CHANGED
@@ -4,4 +4,5 @@ gemspec
4
4
 
5
5
  group :development do
6
6
  gem "chefstyle"
7
+ gem "rake"
7
8
  end
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # chef-ruby-lvm-attrib
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/chef-ruby-lvm-attrib.svg)](https://badge.fury.io/rb/chef-ruby-lvm-attrib)
4
+
3
5
  This is a list of attributes for lvm objects. They are generated from the source code and broken down by version. See ADDING ATTRIBUTES below to contribute.
4
6
 
5
7
  At their core these files exist to determine which arguments to pass lvs/vgs/pvs and the subsequent type conversions.
@@ -21,7 +23,7 @@ Currently this is split from the main ruby-lvm gem since these files require upd
21
23
  ## Installation
22
24
 
23
25
  ```bash
24
- sudo gem install ruby-lvm-attrib
26
+ sudo gem install chef-ruby-lvm-attrib
25
27
  ```
26
28
 
27
29
  ## Updating for new LVM releases
data/Rakefile CHANGED
@@ -1,9 +1,14 @@
1
1
  require "bundler/gem_tasks"
2
2
 
3
- task :default => :style
3
+ task default: :style
4
4
 
5
- require "chefstyle"
6
- require "rubocop/rake_task"
7
- RuboCop::RakeTask.new(:style) do |task|
8
- task.options += ["--display-cop-names", "--no-color"]
5
+ begin
6
+ require "chefstyle"
7
+ require "rubocop/rake_task"
8
+ desc "Run Chefstyle tests"
9
+ RuboCop::RakeTask.new(:style) do |task|
10
+ task.options += ["--display-cop-names", "--no-color"]
11
+ end
12
+ rescue LoadError
13
+ puts "chefstyle gem is not installed. bundle install first to make sure all dependencies are installed."
9
14
  end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.3.0
@@ -8,8 +8,8 @@
8
8
  require "fileutils"
9
9
  require "yaml"
10
10
 
11
- VERSION_FILE = "/VERSION"
12
- COLUMNS_FILE = "/lib/report/columns.h"
11
+ VERSION_FILE = "/VERSION".freeze
12
+ COLUMNS_FILE = "/lib/report/columns.h".freeze
13
13
 
14
14
  debug = false
15
15
 
@@ -70,7 +70,6 @@ TYPE_CONVERSION_MAP = {
70
70
  "raidminrecoveryrate" => "Integer",
71
71
  "raidmaxrecoveryrate" => "Integer",
72
72
  "segsizepe" => "Integer",
73
- "thinid" => "Integer",
74
73
  # New fields for caching
75
74
  "cache_total_blocks" => "Integer",
76
75
  "cache_used_blocks" => "Integer",
@@ -92,7 +91,7 @@ TYPE_CONVERSION_MAP = {
92
91
  "seg_new_data_offset" => "Integer",
93
92
  "seg_parity_chunks" => "Integer",
94
93
  "cachemetadataformat" => "Integer",
95
- }
94
+ }.freeze
96
95
 
97
96
  lvm_source = ARGV[0]
98
97
 
@@ -105,9 +104,10 @@ pvssegs = []
105
104
  vgs = []
106
105
  File.readlines(lvm_source + COLUMNS_FILE).each do |line|
107
106
  # eg: FIELD(LVS, lv, STR, "LV UUID", lvid.id[1], 38, uuid, "lv_uuid", "Unique identifier")
108
- next unless line =~ %r{^FIELD\((.*)\)$}
107
+ next unless line =~ /^FIELD\((.*)\)$/
108
+
109
109
  fields = $1.split(", ")
110
- fields.each { |f| f.gsub!(%r{^"}, ""); f.gsub!(%r{"$}, "") }
110
+ fields.each { |f| f.gsub!(/^"/, ""); f.gsub!(/"$/, "") }
111
111
  p fields if debug
112
112
  app = fields[0]
113
113
  general_type = fields[2]
@@ -133,24 +133,24 @@ File.readlines(lvm_source + COLUMNS_FILE).each do |line|
133
133
  # with issues (seg_start).
134
134
  case app
135
135
  when "LVS", "LVSINFOSTATUS", "LVSSTATUS"
136
- method.sub!(%r{^lv_}, "")
136
+ method.sub!(/^lv_/, "")
137
137
  when "SEGS"
138
- method.sub!(%r{^seg_}, "")
138
+ method.sub!(/^seg_/, "")
139
139
  when "LABEL"
140
- method.sub!(%r{^pv_}, "")
140
+ method.sub!(/^pv_/, "")
141
141
  when "PVS"
142
- method.sub!(%r{^pv_}, "")
142
+ method.sub!(/^pv_/, "")
143
143
  when "PVSEGS"
144
- method.sub!(%r{^pvseg_}, "")
144
+ method.sub!(/^pvseg_/, "")
145
145
  when "VGS"
146
- method.sub!(%r{^vg_}, "")
146
+ method.sub!(/^vg_/, "")
147
147
  end
148
148
 
149
149
  attribute = {
150
- :method => method,
151
- :column => column,
152
- :type_hint => attribute_type,
153
- :description => description,
150
+ method: method,
151
+ column: column,
152
+ type_hint: attribute_type,
153
+ description: description,
154
154
  }
155
155
 
156
156
  case app
@@ -170,27 +170,27 @@ File.readlines(lvm_source + COLUMNS_FILE).each do |line|
170
170
  end
171
171
 
172
172
  # we use vg_uuid as our crossover attribute that links vg->lv and vg->pv
173
- attribute = { :method => "vg_uuid",
174
- :column => "vg_uuid",
175
- :type_hint => "String",
176
- :description => "For VolumeGroup to LogicalVolume relationship." }
173
+ attribute = { method: "vg_uuid",
174
+ column: "vg_uuid",
175
+ type_hint: "String",
176
+ description: "For VolumeGroup to LogicalVolume relationship." }
177
177
  lvs << attribute
178
- attribute = { :method => "vg_uuid",
179
- :column => "vg_uuid",
180
- :type_hint => "String",
181
- :description => "For VolumeGroup to PhysicalVolume relationship." }
178
+ attribute = { method: "vg_uuid",
179
+ column: "vg_uuid",
180
+ type_hint: "String",
181
+ description: "For VolumeGroup to PhysicalVolume relationship." }
182
182
  pvs << attribute
183
183
 
184
184
  # and we link lv->lvsegment, pv->pvsegment
185
- attribute = { :method => "lv_uuid",
186
- :column => "lv_uuid",
187
- :type_hint => "String",
188
- :description => "For LogicalVolume to LogicalVolumeSegment relationship." }
185
+ attribute = { method: "lv_uuid",
186
+ column: "lv_uuid",
187
+ type_hint: "String",
188
+ description: "For LogicalVolume to LogicalVolumeSegment relationship." }
189
189
  lvssegs << attribute
190
- attribute = { :method => "pv_uuid",
191
- :column => "pv_uuid",
192
- :type_hint => "String",
193
- :description => "For PhysicalVolume to PhysicalVolumeSegment relationship." }
190
+ attribute = { method: "pv_uuid",
191
+ column: "pv_uuid",
192
+ type_hint: "String",
193
+ description: "For PhysicalVolume to PhysicalVolumeSegment relationship." }
194
194
  pvssegs << attribute
195
195
 
196
196
  lvs.sort! { |x, y| x[:column] <=> y[:column] }
@@ -202,11 +202,11 @@ vgs.sort! { |x, y| x[:column] <=> y[:column] }
202
202
  attributes_dir = "lib/lvm/attributes/#{version}"
203
203
  FileUtils.mkdir(attributes_dir)
204
204
 
205
- disclaimer = <<go
206
- # These are column to object attribute mappings
207
- # generated by #{$0} based on
208
- # #{lvm_source}/lib/report/columns.h
209
- go
205
+ disclaimer = <<~GO
206
+ # These are column to object attribute mappings
207
+ # generated by #{$0} based on
208
+ # #{lvm_source}/lib/report/columns.h
209
+ GO
210
210
 
211
211
  File.open("#{attributes_dir}/lvs.yaml", "w") { |f| f.write(disclaimer); f.write(lvs.to_yaml) }
212
212
  File.open("#{attributes_dir}/lvsseg.yaml", "w") { |f| f.write(disclaimer); f.write(lvssegs.to_yaml) }
@@ -2,7 +2,7 @@ require "yaml"
2
2
 
3
3
  module LVM
4
4
  module Attributes
5
- VERSION = "0.2.8"
5
+ VERSION = "0.3.0".freeze
6
6
 
7
7
  def load(version, name)
8
8
  cwd = File.dirname(__FILE__)
@@ -0,0 +1,328 @@
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_dirty_blocks
6
+ :column: cache_dirty_blocks
7
+ :type_hint: Integer
8
+ :description: Dirty cache blocks.
9
+ - :method: cache_read_hits
10
+ :column: cache_read_hits
11
+ :type_hint: Integer
12
+ :description: Cache read hits.
13
+ - :method: cache_read_misses
14
+ :column: cache_read_misses
15
+ :type_hint: Integer
16
+ :description: Cache read misses.
17
+ - :method: cache_total_blocks
18
+ :column: cache_total_blocks
19
+ :type_hint: Integer
20
+ :description: Total cache blocks.
21
+ - :method: cache_used_blocks
22
+ :column: cache_used_blocks
23
+ :type_hint: Integer
24
+ :description: Used cache blocks.
25
+ - :method: cache_write_hits
26
+ :column: cache_write_hits
27
+ :type_hint: Integer
28
+ :description: Cache write hits.
29
+ - :method: cache_write_misses
30
+ :column: cache_write_misses
31
+ :type_hint: Integer
32
+ :description: Cache write misses.
33
+ - :method: convert_lv
34
+ :column: convert_lv
35
+ :type_hint: String
36
+ :description: For lvconvert
37
+ - :method: convert_lv_uuid
38
+ :column: convert_lv_uuid
39
+ :type_hint: String
40
+ :description: For lvconvert
41
+ - :method: copy_percent
42
+ :column: copy_percent
43
+ :type_hint: String
44
+ :description: For Cache
45
+ - :method: data_lv
46
+ :column: data_lv
47
+ :type_hint: String
48
+ :description: For thin and cache pools
49
+ - :method: data_lv_uuid
50
+ :column: data_lv_uuid
51
+ :type_hint: String
52
+ :description: For thin and cache pools
53
+ - :method: data_percent
54
+ :column: data_percent
55
+ :type_hint: String
56
+ :description: For snapshot
57
+ - :method: kernel_cache_policy
58
+ :column: kernel_cache_policy
59
+ :type_hint: String
60
+ :description: Cache policy used in kernel.
61
+ - :method: kernel_cache_settings
62
+ :column: kernel_cache_settings
63
+ :type_hint: String
64
+ :description: Cache settings/parameters as set in kernel
65
+ - :method: kernel_discards
66
+ :column: kernel_discards
67
+ :type_hint: String
68
+ :description: For thin pools
69
+ - :method: kernel_metadata_format
70
+ :column: kernel_metadata_format
71
+ :type_hint: Integer
72
+ :description: Cache metadata format used in kernel.
73
+ - :method: active
74
+ :column: lv_active
75
+ :type_hint: String
76
+ :description: Active state of the LV.
77
+ - :method: active_exclusively
78
+ :column: lv_active_exclusively
79
+ :type_hint: String
80
+ :description: Set if the LV is active exclusively.
81
+ - :method: active_locally
82
+ :column: lv_active_locally
83
+ :type_hint: String
84
+ :description: Set if the LV is active locally.
85
+ - :method: active_remotely
86
+ :column: lv_active_remotely
87
+ :type_hint: String
88
+ :description: Set if the LV is active remotely.
89
+ - :method: allocation_locked
90
+ :column: lv_allocation_locked
91
+ :type_hint: String
92
+ :description: Set if LV is locked against allocation changes.
93
+ - :method: allocation_policy
94
+ :column: lv_allocation_policy
95
+ :type_hint: String
96
+ :description: LV allocation policy.
97
+ - :method: ancestors
98
+ :column: lv_ancestors
99
+ :type_hint: String
100
+ :description: LV ancestors ignoring any stored history of the ancestry chain.
101
+ - :method: attr
102
+ :column: lv_attr
103
+ :type_hint: String
104
+ :description: Various attributes - see man page.
105
+ - :method: check_needed
106
+ :column: lv_check_needed
107
+ :type_hint: String
108
+ :description: For thin pools and cache volumes
109
+ - :method: converting
110
+ :column: lv_converting
111
+ :type_hint: String
112
+ :description: Set if LV is being converted.
113
+ - :method: descendants
114
+ :column: lv_descendants
115
+ :type_hint: String
116
+ :description: LV descendants ignoring any stored history of the ancestry chain.
117
+ - :method: dm_path
118
+ :column: lv_dm_path
119
+ :type_hint: String
120
+ :description: Internal device-mapper pathname for LV (in /dev/mapper directory).
121
+ - :method: fixed_minor
122
+ :column: lv_fixed_minor
123
+ :type_hint: String
124
+ :description: Set if LV has fixed minor number assigned.
125
+ - :method: full_ancestors
126
+ :column: lv_full_ancestors
127
+ :type_hint: String
128
+ :description: LV ancestors including stored history of the ancestry chain.
129
+ - :method: full_descendants
130
+ :column: lv_full_descendants
131
+ :type_hint: String
132
+ :description: LV descendants including stored history of the ancestry chain.
133
+ - :method: full_name
134
+ :column: lv_full_name
135
+ :type_hint: String
136
+ :description: Full name of LV including its VG
137
+ - :method: health_status
138
+ :column: lv_health_status
139
+ :type_hint: String
140
+ :description: LV health status.
141
+ - :method: historical
142
+ :column: lv_historical
143
+ :type_hint: String
144
+ :description: Set if the LV is historical.
145
+ - :method: host
146
+ :column: lv_host
147
+ :type_hint: String
148
+ :description: Creation host of the LV
149
+ - :method: image_synced
150
+ :column: lv_image_synced
151
+ :type_hint: String
152
+ :description: Set if mirror/RAID image is synchronized.
153
+ - :method: initial_image_sync
154
+ :column: lv_initial_image_sync
155
+ :type_hint: String
156
+ :description: Set if mirror/RAID images underwent initial resynchronization.
157
+ - :method: layout
158
+ :column: lv_layout
159
+ :type_hint: String
160
+ :description: LV layout.
161
+ - :method: lockargs
162
+ :column: lv_lockargs
163
+ :type_hint: String
164
+ :description: Lock args of the LV used by lvmlockd.
165
+ - :method: major
166
+ :column: lv_major
167
+ :type_hint: String
168
+ :description: Persistent major number or -1 if not persistent.
169
+ - :method: merge_failed
170
+ :column: lv_merge_failed
171
+ :type_hint: String
172
+ :description: Set if snapshot merge failed.
173
+ - :method: merging
174
+ :column: lv_merging
175
+ :type_hint: String
176
+ :description: Set if snapshot LV is being merged to origin.
177
+ - :method: metadata_size
178
+ :column: lv_metadata_size
179
+ :type_hint: Integer
180
+ :description: For thin and cache pools
181
+ - :method: minor
182
+ :column: lv_minor
183
+ :type_hint: String
184
+ :description: Persistent minor number or -1 if not persistent.
185
+ - :method: modules
186
+ :column: lv_modules
187
+ :type_hint: String
188
+ :description: Kernel device-mapper modules required for this LV.
189
+ - :method: name
190
+ :column: lv_name
191
+ :type_hint: String
192
+ :description: Name. LVs created for internal use are enclosed in brackets.
193
+ - :method: parent
194
+ :column: lv_parent
195
+ :type_hint: String
196
+ :description: For LVs that are components of another LV
197
+ - :method: path
198
+ :column: lv_path
199
+ :type_hint: String
200
+ :description: Full pathname for LV. Blank for internal LVs.
201
+ - :method: profile
202
+ :column: lv_profile
203
+ :type_hint: String
204
+ :description: Configuration profile attached to this LV.
205
+ - :method: read_ahead
206
+ :column: lv_read_ahead
207
+ :type_hint: String
208
+ :description: Read ahead setting in current units.
209
+ - :method: role
210
+ :column: lv_role
211
+ :type_hint: String
212
+ :description: LV role.
213
+ - :method: size
214
+ :column: lv_size
215
+ :type_hint: Integer
216
+ :description: Size of LV in current units.
217
+ - :method: skip_activation
218
+ :column: lv_skip_activation
219
+ :type_hint: String
220
+ :description: Set if LV is skipped on activation.
221
+ - :method: snapshot_invalid
222
+ :column: lv_snapshot_invalid
223
+ :type_hint: String
224
+ :description: Set if snapshot LV is invalid.
225
+ - :method: tags
226
+ :column: lv_tags
227
+ :type_hint: String
228
+ :description: Tags
229
+ - :method: time
230
+ :column: lv_time
231
+ :type_hint: String
232
+ :description: Creation time of the LV
233
+ - :method: time_removed
234
+ :column: lv_time_removed
235
+ :type_hint: String
236
+ :description: Removal time of the LV
237
+ - :method: uuid
238
+ :column: lv_uuid
239
+ :type_hint: String
240
+ :description: Unique identifier.
241
+ - :method: when_full
242
+ :column: lv_when_full
243
+ :type_hint: String
244
+ :description: For thin pools
245
+ - :method: metadata_lv
246
+ :column: metadata_lv
247
+ :type_hint: String
248
+ :description: For thin and cache pools
249
+ - :method: metadata_lv_uuid
250
+ :column: metadata_lv_uuid
251
+ :type_hint: String
252
+ :description: For thin and cache pools
253
+ - :method: metadata_percent
254
+ :column: metadata_percent
255
+ :type_hint: String
256
+ :description: For cache and thin pools
257
+ - :method: mirror_log
258
+ :column: mirror_log
259
+ :type_hint: String
260
+ :description: For mirrors
261
+ - :method: mirror_log_uuid
262
+ :column: mirror_log_uuid
263
+ :type_hint: String
264
+ :description: For mirrors
265
+ - :method: move_pv
266
+ :column: move_pv
267
+ :type_hint: String
268
+ :description: For pvmove
269
+ - :method: move_pv_uuid
270
+ :column: move_pv_uuid
271
+ :type_hint: String
272
+ :description: For pvmove
273
+ - :method: origin
274
+ :column: origin
275
+ :type_hint: String
276
+ :description: For snapshots and thins
277
+ - :method: origin_size
278
+ :column: origin_size
279
+ :type_hint: Integer
280
+ :description: For snapshots
281
+ - :method: origin_uuid
282
+ :column: origin_uuid
283
+ :type_hint: String
284
+ :description: For snapshots and thins
285
+ - :method: pool_lv
286
+ :column: pool_lv
287
+ :type_hint: String
288
+ :description: For thin volumes
289
+ - :method: pool_lv_uuid
290
+ :column: pool_lv_uuid
291
+ :type_hint: String
292
+ :description: For thin volumes
293
+ - :method: raid_max_recovery_rate
294
+ :column: raid_max_recovery_rate
295
+ :type_hint: Integer
296
+ :description: For RAID1
297
+ - :method: raid_min_recovery_rate
298
+ :column: raid_min_recovery_rate
299
+ :type_hint: Integer
300
+ :description: For RAID1
301
+ - :method: raid_mismatch_count
302
+ :column: raid_mismatch_count
303
+ :type_hint: Integer
304
+ :description: For RAID
305
+ - :method: raid_sync_action
306
+ :column: raid_sync_action
307
+ :type_hint: String
308
+ :description: For RAID
309
+ - :method: raid_write_behind
310
+ :column: raid_write_behind
311
+ :type_hint: Integer
312
+ :description: For RAID1
313
+ - :method: seg_count
314
+ :column: seg_count
315
+ :type_hint: Integer
316
+ :description: Number of segments in LV.
317
+ - :method: snap_percent
318
+ :column: snap_percent
319
+ :type_hint: String
320
+ :description: For snapshots
321
+ - :method: sync_percent
322
+ :column: sync_percent
323
+ :type_hint: String
324
+ :description: For Cache
325
+ - :method: vg_uuid
326
+ :column: vg_uuid
327
+ :type_hint: String
328
+ :description: For VolumeGroup to LogicalVolume relationship.