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 +4 -4
- data/.expeditor/config.yml +50 -0
- data/.expeditor/run_linux_tests.sh +44 -0
- data/.expeditor/update_version.sh +12 -0
- data/.expeditor/verify.pipeline.yml +10 -0
- data/.rubocop.yml +4 -0
- data/CHANGELOG.md +20 -1
- data/Gemfile +1 -0
- data/README.md +3 -1
- data/Rakefile +10 -5
- data/VERSION +1 -0
- data/bin/generate_field_data +37 -37
- data/lib/lvm/attributes.rb +1 -1
- data/lib/lvm/attributes/2.02.186(2)/lvs.yaml +328 -0
- data/lib/lvm/attributes/2.02.186(2)/lvsseg.yaml +138 -0
- data/lib/lvm/attributes/2.02.186(2)/pvs.yaml +113 -0
- data/lib/lvm/attributes/2.02.186(2)/pvsseg.yaml +16 -0
- data/lib/lvm/attributes/2.02.186(2)/vgs.yaml +140 -0
- data/lib/lvm/attributes/2.03.05(2)/lvs.yaml +328 -0
- data/lib/lvm/attributes/2.03.05(2)/lvsseg.yaml +138 -0
- data/lib/lvm/attributes/2.03.05(2)/pvs.yaml +113 -0
- data/lib/lvm/attributes/2.03.05(2)/pvsseg.yaml +16 -0
- data/lib/lvm/attributes/2.03.05(2)/vgs.yaml +140 -0
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2950a875f1028a2dd7b384592984534a76002bc9150c2f0d44bf69ba73b3e1ca
|
4
|
+
data.tar.gz: 9d75105a6e28b9dab08096a49da9ff65d6d3c34fdda0930c3061b84f952d8be9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
data/.rubocop.yml
ADDED
data/CHANGELOG.md
CHANGED
@@ -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
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# chef-ruby-lvm-attrib
|
2
2
|
|
3
|
+
[](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 :
|
3
|
+
task default: :style
|
4
4
|
|
5
|
-
|
6
|
-
require "
|
7
|
-
|
8
|
-
|
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
|
data/bin/generate_field_data
CHANGED
@@ -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 =~
|
107
|
+
next unless line =~ /^FIELD\((.*)\)$/
|
108
|
+
|
109
109
|
fields = $1.split(", ")
|
110
|
-
fields.each { |f| f.gsub!(
|
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!(
|
136
|
+
method.sub!(/^lv_/, "")
|
137
137
|
when "SEGS"
|
138
|
-
method.sub!(
|
138
|
+
method.sub!(/^seg_/, "")
|
139
139
|
when "LABEL"
|
140
|
-
method.sub!(
|
140
|
+
method.sub!(/^pv_/, "")
|
141
141
|
when "PVS"
|
142
|
-
method.sub!(
|
142
|
+
method.sub!(/^pv_/, "")
|
143
143
|
when "PVSEGS"
|
144
|
-
method.sub!(
|
144
|
+
method.sub!(/^pvseg_/, "")
|
145
145
|
when "VGS"
|
146
|
-
method.sub!(
|
146
|
+
method.sub!(/^vg_/, "")
|
147
147
|
end
|
148
148
|
|
149
149
|
attribute = {
|
150
|
-
:
|
151
|
-
:
|
152
|
-
:
|
153
|
-
:
|
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 = { :
|
174
|
-
:
|
175
|
-
:
|
176
|
-
:
|
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 = { :
|
179
|
-
:
|
180
|
-
:
|
181
|
-
:
|
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 = { :
|
186
|
-
:
|
187
|
-
:
|
188
|
-
:
|
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 = { :
|
191
|
-
:
|
192
|
-
:
|
193
|
-
:
|
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 =
|
206
|
-
# These are column to object attribute mappings
|
207
|
-
# generated by #{$0} based on
|
208
|
-
# #{lvm_source}/lib/report/columns.h
|
209
|
-
|
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) }
|
data/lib/lvm/attributes.rb
CHANGED
@@ -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.
|