chef-ruby-lvm 0.4.0 → 0.4.1
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/.github/CODEOWNERS +1 -0
- data/.github/ISSUE_TEMPLATE/BUG_TEMPLATE.md +29 -0
- data/.github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md +40 -0
- data/.github/ISSUE_TEMPLATE/ENHANCEMENT_REQUEST_TEMPLATE.md +17 -0
- data/.github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md +12 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +15 -0
- data/.github/dependabot.yml +9 -0
- data/CHANGELOG.md +16 -12
- data/CODE_OF_CONDUCT.md +1 -0
- data/CONTRIBUTING.md +3 -0
- data/Gemfile +1 -0
- data/README.md +4 -2
- data/Rakefile +1 -1
- data/chef-ruby-lvm.gemspec +3 -9
- data/examples/additional_arguments.rb +3 -3
- data/examples/create_snapshot.rb +4 -4
- data/examples/error_handling.rb +2 -2
- data/examples/show_lvm_config.rb +2 -2
- data/lib/lvm/external.rb +4 -6
- data/lib/lvm/logical_volume.rb +1 -1
- data/lib/lvm/logical_volume_segment.rb +1 -1
- data/lib/lvm/logical_volumes.rb +4 -4
- data/lib/lvm/physical_volume.rb +1 -1
- data/lib/lvm/physical_volume_segment.rb +1 -1
- data/lib/lvm/physical_volumes.rb +4 -4
- data/lib/lvm/userland.rb +1 -1
- data/lib/lvm/version.rb +1 -1
- data/lib/lvm/volume_group.rb +1 -1
- data/lib/lvm/volume_groups.rb +5 -5
- data/lib/lvm/volumes.rb +2 -2
- data/lib/lvm/wrapper/constants.rb +3 -3
- data/lib/lvm/wrapper/lvs.rb +17 -17
- data/lib/lvm/wrapper/lvsseg.rb +8 -8
- data/lib/lvm/wrapper/pvs.rb +13 -13
- data/lib/lvm/wrapper/pvsseg.rb +8 -8
- data/lib/lvm/wrapper/vgs.rb +17 -17
- data/lib/lvm/wrapper.rb +6 -5
- data/lib/lvm.rb +22 -22
- metadata +27 -19
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fb394b86e83a8181d1e9df77b06c636756a424dbc9cb0e8993782c916d7050b8
|
|
4
|
+
data.tar.gz: 19b8d52a089aa84d21fa264f893712c770f104d97cd81e90322732d2f1499b11
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 900bd738e18c580993ddf3c927bcd75ffafd39a33bc7dc4b33c55f8fa4f0afc132da8cc6b52c13a41310395a336eb3eb9a94c5fc53ea16df21b87b9a518c51fc
|
|
7
|
+
data.tar.gz: a666e1a173f6f66e2a595e6e835d1f09947555db6484ee60ea46e738b7a360c4f8e4c9be913d6f6d63631dacff2d38ae0e8987529374b3b7d1e8f3a0535b028d
|
data/.github/CODEOWNERS
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@sous-chefs/maintainers
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: � Bug Report
|
|
3
|
+
about: If something isn't working as expected �.
|
|
4
|
+
labels: "Status: Untriaged"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Version:
|
|
8
|
+
|
|
9
|
+
[Version of the project installed]
|
|
10
|
+
|
|
11
|
+
# Environment:
|
|
12
|
+
|
|
13
|
+
[Details about the environment such as the Operating System, cookbook details, etc...]
|
|
14
|
+
|
|
15
|
+
# Scenario:
|
|
16
|
+
|
|
17
|
+
[What you are trying to achieve and you can't?]
|
|
18
|
+
|
|
19
|
+
# Steps to Reproduce:
|
|
20
|
+
|
|
21
|
+
[If you are filing an issue what are the things we need to do in order to repro your problem?]
|
|
22
|
+
|
|
23
|
+
# Expected Result:
|
|
24
|
+
|
|
25
|
+
[What are you expecting to happen as the consequence of above reproduction steps?]
|
|
26
|
+
|
|
27
|
+
# Actual Result:
|
|
28
|
+
|
|
29
|
+
[What actually happens after the reproduction steps?]
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Design Proposal
|
|
3
|
+
about: I have a significant change I would like to propose and discuss before starting
|
|
4
|
+
labels: "Status: Untriaged"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### When a Change Needs a Design Proposal
|
|
8
|
+
|
|
9
|
+
A design proposal should be opened any time a change meets one of the following qualifications:
|
|
10
|
+
|
|
11
|
+
- Significantly changes the user experience of a project in a way that impacts users.
|
|
12
|
+
- Significantly changes the underlying architecture of the project in a way that impacts other developers.
|
|
13
|
+
- Changes the development or testing process of the project such as a change of CI systems or test frameworks.
|
|
14
|
+
|
|
15
|
+
### Why We Use This Process
|
|
16
|
+
|
|
17
|
+
- Allows all interested parties (including any community member) to discuss large impact changes to a project.
|
|
18
|
+
- Serves as a durable paper trail for discussions regarding project architecture.
|
|
19
|
+
- Forces design discussions to occur before PRs are created.
|
|
20
|
+
- Reduces PR refactoring and rejected PRs.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
<!--- Proposal description and rationale. -->
|
|
25
|
+
|
|
26
|
+
## Motivation
|
|
27
|
+
|
|
28
|
+
<!---
|
|
29
|
+
As a <<user_profile>>,
|
|
30
|
+
I want to <<functionality>>,
|
|
31
|
+
so that <<benefit>>.
|
|
32
|
+
-->
|
|
33
|
+
|
|
34
|
+
## Specification
|
|
35
|
+
|
|
36
|
+
<!--- A detailed description of the planned implementation. -->
|
|
37
|
+
|
|
38
|
+
## Downstream Impact
|
|
39
|
+
|
|
40
|
+
<!--- Which other tools will be impacted by this work? -->
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 🚀 Enhancement Request
|
|
3
|
+
about: I have a suggestion (and may want to implement it 🙂)!
|
|
4
|
+
labels: "Status: Untriaged"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Describe the Enhancement:
|
|
8
|
+
<!--- What you are trying to achieve that you can't? -->
|
|
9
|
+
|
|
10
|
+
### Describe the Need:
|
|
11
|
+
<!--- What kind of user do you believe would utilize this enhancement, and how many users might want this functionality -->
|
|
12
|
+
|
|
13
|
+
### Current Alternative
|
|
14
|
+
<!--- Is there a current alternative that you can utilize to workaround the lack of this enhancement -->
|
|
15
|
+
|
|
16
|
+
### Can We Help You Implement This?:
|
|
17
|
+
<!--- The best way to ensure your enhancement is built is to help implement the enhancement yourself. If you're interested in helping out we'd love to give you a hand to make this possible. Let us know if there's something you need. -->
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 🤗 Support Question
|
|
3
|
+
about: If you have a question 💬, please check out our Slack!
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
We use GitHub issues to track bugs and feature requests. If you need help please post to our Mailing List or join the Chef Community Slack.
|
|
7
|
+
|
|
8
|
+
* Chef Community Slack at http://community-slack.chef.io/.
|
|
9
|
+
* Chef Mailing List https://discourse.chef.io/
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
Support issues opened here will be closed and redirected to Slack or Discourse.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
### Description
|
|
2
|
+
|
|
3
|
+
[Please describe what this change achieves]
|
|
4
|
+
|
|
5
|
+
### Issues Resolved
|
|
6
|
+
|
|
7
|
+
[List any existing issues this PR resolves, or any Discourse or
|
|
8
|
+
StackOverflow discussions that are relevant]
|
|
9
|
+
|
|
10
|
+
### Check List
|
|
11
|
+
|
|
12
|
+
- [ ] New functionality includes tests
|
|
13
|
+
- [ ] All tests pass
|
|
14
|
+
- [ ] All commits have been signed-off for the Developer Certificate of Origin. See <https://github.com/chef/chef/blob/master/CONTRIBUTING.md#developer-certification-of-origin-dco>
|
|
15
|
+
- [ ] PR title is a worthy inclusion in the CHANGELOG
|
data/CHANGELOG.md
CHANGED
|
@@ -1,38 +1,42 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Change log
|
|
2
|
+
|
|
3
|
+
## 0.4.1 (2022-04-25)
|
|
4
|
+
|
|
5
|
+
- Use new minor version of chef-ruby-lvm-attrib
|
|
6
|
+
- Chefstyle fixes
|
|
7
|
+
- Optimize requires with require_relative & use __dir__ not __FILE__
|
|
8
|
+
|
|
9
|
+
## 0.4.0 (2018-07-23)
|
|
2
10
|
|
|
3
11
|
- Added additional_arguments option that allows passing options to commands
|
|
4
12
|
|
|
5
|
-
|
|
13
|
+
## 0.3.0 (2017-06-21)
|
|
6
14
|
|
|
7
15
|
- Depend on di-ruby-lvm-attrib ~0.2 to bring in the last few years of releases
|
|
8
16
|
|
|
9
|
-
|
|
17
|
+
## 0.2.2 (2016-12-13)
|
|
10
18
|
|
|
11
19
|
- Fork di-ruby-lvm as chef-ruby-lvm in order to unblock the Chef lvm cookbook support for the latest Linux distros
|
|
12
20
|
- Convert the readme to markdown and reword portions
|
|
13
21
|
- Resolve all chefstyle warnings
|
|
14
22
|
- Added a Gemfile/Rakefile for chefstyle linting
|
|
15
23
|
|
|
16
|
-
|
|
24
|
+
## 0.2.1 (2015-12-04)
|
|
17
25
|
|
|
18
26
|
- Fix failures calling the calling physical_volumes list method
|
|
19
27
|
|
|
20
|
-
|
|
28
|
+
## 0.2.0 (2015-12-01)
|
|
21
29
|
|
|
22
30
|
- Minor code refactoring
|
|
23
31
|
- Improve runtime with multiple VGs
|
|
24
32
|
- Use just a gemspec instead of hoe
|
|
25
33
|
- Require a newer di-ruby-lvm-attrib gem
|
|
26
34
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
# 0.1.1 (2008-07-21)
|
|
30
|
-
|
|
31
|
-
- 1 major enhancement
|
|
35
|
+
## 0.1.1 (2008-07-21)
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
- A complete rewrite! We won't bother attempting to wrap complex lvm operations, but instead provide LVM.raw() command. The wrapper now focuses purely on translating lvm lv/vg/pv data into the most useful ruby objects possible. The arguments passed to the underlying binaries have been broken out into a ruby-lvm-attributes package.
|
|
34
38
|
|
|
35
|
-
|
|
39
|
+
## 0.0.1 (2008-05-28)
|
|
36
40
|
|
|
37
41
|
- 1 major enhancement
|
|
38
42
|
|
data/CODE_OF_CONDUCT.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Please refer to the Chef Community Code of Conduct at https://www.chef.io/code-of-conduct/
|
data/CONTRIBUTING.md
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# chef-ruby-lvm
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://badge.fury.io/rb/chef-ruby-lvm)
|
|
4
4
|
|
|
5
|
-
This is a
|
|
5
|
+
This is a fork of the chef-ruby-lvm gem found at <https://github.com/gregsymons/di-ruby-lvm>. The primary difference from upstream is that it depends on chef-ruby-lvm-attrib instead of di-ruby-lvm-attrib. It was in turn forked from ruby-lvm. This adds support for lvm version 2.02.66(2) and later.
|
|
6
|
+
|
|
7
|
+
This is a wrapper for the LVM2 administration utility, lvm. Its primary function is to convert physical volumes, logical volumes and volume groups into easy-to-use ruby objects. It also provides a simple wrapper for typical create/delete/etc operations.
|
|
6
8
|
|
|
7
9
|
Due to a lack of LVM2 api this is a best effort attempt at ruby integration but subject to complete replacement in the future.
|
|
8
10
|
|
data/Rakefile
CHANGED
data/chef-ruby-lvm.gemspec
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
$:.unshift(File.expand_path("
|
|
1
|
+
$:.unshift(File.expand_path("lib", __dir__))
|
|
2
2
|
require "lvm/version"
|
|
3
3
|
|
|
4
|
-
deps = {
|
|
5
|
-
"open4" => ["~> 0.9", ">= 0.9.6"],
|
|
6
|
-
"chef-ruby-lvm-attrib" => ["~> 0.2"],
|
|
7
|
-
}
|
|
8
|
-
|
|
9
4
|
Gem::Specification.new do |gem|
|
|
10
5
|
gem.authors = ["Tim Smith", "Greg Symons", "Matthew Kent"]
|
|
11
6
|
gem.email = ["tsmith@chef.io", "mkent@magoazul.com", "gsymons@gsconsulting.biz"]
|
|
@@ -19,7 +14,6 @@ Gem::Specification.new do |gem|
|
|
|
19
14
|
gem.require_paths = ["lib"]
|
|
20
15
|
gem.version = LVM::VERSION
|
|
21
16
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
end
|
|
17
|
+
gem.add_runtime_dependency "chef-ruby-lvm-attrib", "~> 0.3"
|
|
18
|
+
gem.add_runtime_dependency "open4", "~> 0.9", ">= 0.9.6"
|
|
25
19
|
end
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# Demonstration of passing additional arguments to the LVM object
|
|
4
4
|
|
|
5
|
-
$: <<
|
|
5
|
+
$: << __dir__ + "/../lib"
|
|
6
6
|
|
|
7
7
|
require "lvm"
|
|
8
8
|
|
|
9
9
|
# List out volume groups with the --ignoreskippedcluster argument appended to the base argument list
|
|
10
|
-
lvm = LVM::LVM.new(:
|
|
10
|
+
lvm = LVM::LVM.new(command: "/usr/bin/sudo /sbin/lvm", additional_arguments: "--ignoreskippedcluster")
|
|
11
11
|
|
|
12
12
|
volume_groups = lvm.volume_groups
|
|
13
|
-
puts volume_groups.map
|
|
13
|
+
puts volume_groups.map(&:name)
|
data/examples/create_snapshot.rb
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
# Demonstration of the creation of an lvm snapshot, using sudo, and reading its
|
|
4
4
|
# attributes.
|
|
5
5
|
|
|
6
|
-
$: <<
|
|
6
|
+
$: << __dir__ + "/../lib"
|
|
7
7
|
|
|
8
8
|
require "lvm"
|
|
9
9
|
|
|
10
10
|
vol = "sys.vg/tmp.lv"
|
|
11
11
|
snap = "demo_snap"
|
|
12
12
|
|
|
13
|
-
lvm = LVM::LVM.new(:
|
|
13
|
+
lvm = LVM::LVM.new(command: "/usr/bin/sudo /sbin/lvm")
|
|
14
14
|
|
|
15
15
|
if lvm.logical_volumes[snap]
|
|
16
16
|
puts "#{snap} exists! Remove it"
|
|
@@ -20,9 +20,9 @@ end
|
|
|
20
20
|
lvm.raw("lvcreate --snapshot --size 10M --name #{snap} #{vol}")
|
|
21
21
|
lv = lvm.logical_volumes[snap]
|
|
22
22
|
|
|
23
|
-
out = <<
|
|
23
|
+
out = <<MSG
|
|
24
24
|
snapshot of #{vol}, #{snap}, created
|
|
25
25
|
- uuid: #{lv.uuid}
|
|
26
26
|
- major,minor: #{lv.kernel_major},#{lv.kernel_minor}
|
|
27
|
-
|
|
27
|
+
MSG
|
|
28
28
|
puts out
|
data/examples/error_handling.rb
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
# Demonstration of the exception handling with raw commands.
|
|
4
4
|
|
|
5
|
-
$: <<
|
|
5
|
+
$: << __dir__ + "/../lib"
|
|
6
6
|
|
|
7
7
|
require "lvm"
|
|
8
8
|
|
|
9
|
-
lvm = LVM::LVM.new(:
|
|
9
|
+
lvm = LVM::LVM.new(command: "/usr/bin/sudo /sbin/lvm")
|
|
10
10
|
|
|
11
11
|
begin
|
|
12
12
|
lvm.raw("--blah blah")
|
data/examples/show_lvm_config.rb
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
# A more advanced demonstration displaying a complete overview of the current
|
|
4
4
|
# lvm configuration.
|
|
5
5
|
|
|
6
|
-
$: <<
|
|
6
|
+
$: << __dir__ + "/../lib"
|
|
7
7
|
|
|
8
8
|
require "lvm"
|
|
9
9
|
|
|
10
|
-
LVM::LVM.new({ :
|
|
10
|
+
LVM::LVM.new({ command: "/usr/bin/sudo /sbin/lvm" }) do |lvm|
|
|
11
11
|
puts "lvm version: #{lvm.version}\n"
|
|
12
12
|
|
|
13
13
|
puts "\nlogical view"
|
data/lib/lvm/external.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require "rubygems"
|
|
1
|
+
require "rubygems" unless defined?(Gem)
|
|
2
2
|
require "open4"
|
|
3
3
|
|
|
4
4
|
module LVM
|
|
@@ -9,9 +9,7 @@ module LVM
|
|
|
9
9
|
output = []
|
|
10
10
|
error = nil
|
|
11
11
|
stat = Open4.popen4(cmd) do |pid, stdin, stdout, stderr|
|
|
12
|
-
while line
|
|
13
|
-
output << line
|
|
14
|
-
end
|
|
12
|
+
output << line while line == stdout.gets
|
|
15
13
|
error = stderr.read.strip
|
|
16
14
|
end
|
|
17
15
|
if stat.exited?
|
|
@@ -25,9 +23,9 @@ module LVM
|
|
|
25
23
|
end
|
|
26
24
|
|
|
27
25
|
if block_given?
|
|
28
|
-
|
|
26
|
+
output.each { |l| yield l }
|
|
29
27
|
else
|
|
30
|
-
|
|
28
|
+
output.join
|
|
31
29
|
end
|
|
32
30
|
end
|
|
33
31
|
module_function :cmd
|
data/lib/lvm/logical_volume.rb
CHANGED
data/lib/lvm/logical_volumes.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
require_relative "volumes"
|
|
2
|
+
require_relative "wrapper/lvs"
|
|
3
|
+
require_relative "wrapper/lvsseg"
|
|
4
4
|
|
|
5
5
|
module LVM
|
|
6
6
|
class LogicalVolumes
|
|
@@ -28,7 +28,7 @@ module LVM
|
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def list
|
|
31
|
-
|
|
31
|
+
each {}
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
end
|
data/lib/lvm/physical_volume.rb
CHANGED
data/lib/lvm/physical_volumes.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
require_relative "volumes"
|
|
2
|
+
require_relative "wrapper/pvs"
|
|
3
|
+
require_relative "wrapper/pvsseg"
|
|
4
4
|
|
|
5
5
|
module LVM
|
|
6
6
|
class PhysicalVolumes
|
|
@@ -28,7 +28,7 @@ module LVM
|
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def list
|
|
31
|
-
|
|
31
|
+
each {}
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
end
|
data/lib/lvm/userland.rb
CHANGED
data/lib/lvm/version.rb
CHANGED
data/lib/lvm/volume_group.rb
CHANGED
data/lib/lvm/volume_groups.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
require_relative "volumes"
|
|
2
|
+
require_relative "logical_volumes"
|
|
3
|
+
require_relative "physical_volumes"
|
|
4
|
+
require_relative "wrapper/vgs"
|
|
5
5
|
|
|
6
6
|
module LVM
|
|
7
7
|
class VolumeGroups
|
|
@@ -33,7 +33,7 @@ module LVM
|
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
def list
|
|
36
|
-
|
|
36
|
+
each {}
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
39
|
end
|
data/lib/lvm/volumes.rb
CHANGED
|
@@ -2,9 +2,9 @@ module LVM
|
|
|
2
2
|
module Wrapper
|
|
3
3
|
module Reporting
|
|
4
4
|
module Constants
|
|
5
|
-
SEPERATOR = "^"
|
|
6
|
-
BASE_ARGUMENTS = "--verbose --separator=#{SEPERATOR} --noheadings --nosuffix --units=b --unbuffered --options %s"
|
|
7
|
-
EMPTY = "-"
|
|
5
|
+
SEPERATOR = "^".freeze
|
|
6
|
+
BASE_ARGUMENTS = "--verbose --separator=#{SEPERATOR} --noheadings --nosuffix --units=b --unbuffered --options %s".freeze
|
|
7
|
+
EMPTY = "-".freeze
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
10
|
end
|
data/lib/lvm/wrapper/lvs.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
require_relative "../wrapper"
|
|
2
|
+
require_relative "../logical_volume"
|
|
3
3
|
|
|
4
4
|
module LVM
|
|
5
5
|
module Wrapper
|
|
@@ -14,8 +14,8 @@ module LVM
|
|
|
14
14
|
@command = "#{options[:command]} #{Reporting.build_command(attributes, BASE_COMMAND, options[:additional_arguments])}"
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
BASE_COMMAND = "lvs #{Reporting::BASE_ARGUMENTS}"
|
|
18
|
-
ATTRIBUTES_FILE = "lvs.yaml"
|
|
17
|
+
BASE_COMMAND = "lvs #{Reporting::BASE_ARGUMENTS}".freeze
|
|
18
|
+
ATTRIBUTES_FILE = "lvs.yaml".freeze
|
|
19
19
|
|
|
20
20
|
# lv_attr attribute handling constants
|
|
21
21
|
# roughly by order referenced in lib/report/report.c:292 (_lvstatus_disp)
|
|
@@ -34,13 +34,13 @@ module LVM
|
|
|
34
34
|
"S" => :invalid_snapshot,
|
|
35
35
|
# custom, empty is a standard volume
|
|
36
36
|
"-" => :normal,
|
|
37
|
-
}
|
|
37
|
+
}.freeze
|
|
38
38
|
PERMISSIONS = {
|
|
39
39
|
"w" => :writeable,
|
|
40
40
|
"r" => :readonly,
|
|
41
41
|
# custom, from reading source
|
|
42
42
|
"-" => :locked_by_pvmove,
|
|
43
|
-
}
|
|
43
|
+
}.freeze
|
|
44
44
|
ALLOCATION_POLICY = {
|
|
45
45
|
"c" => :contiguous,
|
|
46
46
|
"l" => :cling,
|
|
@@ -52,11 +52,11 @@ module LVM
|
|
|
52
52
|
"N" => :normal_locked,
|
|
53
53
|
"A" => :anywhere_locked,
|
|
54
54
|
"I" => :inherited_locked,
|
|
55
|
-
}
|
|
55
|
+
}.freeze
|
|
56
56
|
FIXED_MINOR = {
|
|
57
57
|
# code says its a boolean
|
|
58
58
|
"m" => true,
|
|
59
|
-
}
|
|
59
|
+
}.freeze
|
|
60
60
|
STATE = {
|
|
61
61
|
"s" => :suspended,
|
|
62
62
|
"a" => :active,
|
|
@@ -64,25 +64,25 @@ module LVM
|
|
|
64
64
|
"d" => :inactive_without_table,
|
|
65
65
|
"S" => :suspended_snapshot,
|
|
66
66
|
"I" => :invalid_snapshot,
|
|
67
|
-
}
|
|
67
|
+
}.freeze
|
|
68
68
|
DEVICE_OPEN = {
|
|
69
69
|
# code says its a boolean
|
|
70
70
|
"o" => true,
|
|
71
|
-
}
|
|
71
|
+
}.freeze
|
|
72
72
|
|
|
73
73
|
def list
|
|
74
74
|
output = External.cmd(@command)
|
|
75
75
|
data = parse(output)
|
|
76
76
|
if block_given?
|
|
77
|
-
|
|
77
|
+
data.each { |obj| yield obj }
|
|
78
78
|
else
|
|
79
|
-
|
|
79
|
+
data
|
|
80
80
|
end
|
|
81
81
|
end
|
|
82
82
|
|
|
83
83
|
private
|
|
84
84
|
|
|
85
|
-
def parse_lv_attr(lv_attr)
|
|
85
|
+
def parse_lv_attr(lv_attr) # :nodoc:
|
|
86
86
|
translated = {}
|
|
87
87
|
# translate them into nice symbols and a couple booleans
|
|
88
88
|
translated[:volume_type] = VOLUME_TYPE[lv_attr[0].chr]
|
|
@@ -92,11 +92,11 @@ module LVM
|
|
|
92
92
|
translated[:state] = STATE[lv_attr[4].chr]
|
|
93
93
|
translated[:device_open] = DEVICE_OPEN[lv_attr[5].chr] ? true : false
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
translated
|
|
96
96
|
end
|
|
97
97
|
|
|
98
|
-
|
|
99
|
-
def parse(output)
|
|
98
|
+
# Parses the output of self.command
|
|
99
|
+
def parse(output) # :nodoc:
|
|
100
100
|
volumes = []
|
|
101
101
|
|
|
102
102
|
output.split("\n").each do |line|
|
|
@@ -119,7 +119,7 @@ module LVM
|
|
|
119
119
|
end
|
|
120
120
|
end
|
|
121
121
|
|
|
122
|
-
|
|
122
|
+
volumes
|
|
123
123
|
end # parse
|
|
124
124
|
end # class LVS
|
|
125
125
|
end # module Wrapper
|
data/lib/lvm/wrapper/lvsseg.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
require_relative "../wrapper"
|
|
2
|
+
require_relative "../logical_volume_segment"
|
|
3
3
|
|
|
4
4
|
module LVM
|
|
5
5
|
module Wrapper
|
|
@@ -15,22 +15,22 @@ module LVM
|
|
|
15
15
|
@command = "#{options[:command]} #{Reporting.build_command(attributes, BASE_COMMAND, options[:additional_arguments])}"
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
BASE_COMMAND = "lvs #{Reporting::BASE_ARGUMENTS}"
|
|
19
|
-
ATTRIBUTES_FILE = "lvsseg.yaml"
|
|
18
|
+
BASE_COMMAND = "lvs #{Reporting::BASE_ARGUMENTS}".freeze
|
|
19
|
+
ATTRIBUTES_FILE = "lvsseg.yaml".freeze
|
|
20
20
|
|
|
21
21
|
def list
|
|
22
22
|
output = External.cmd(@command)
|
|
23
23
|
data = parse(output)
|
|
24
24
|
if block_given?
|
|
25
|
-
|
|
25
|
+
data.each { |obj| yield obj }
|
|
26
26
|
else
|
|
27
|
-
|
|
27
|
+
data
|
|
28
28
|
end
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
private
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
# Parses the output of self.command
|
|
34
34
|
def parse(output)
|
|
35
35
|
volumes = []
|
|
36
36
|
|
|
@@ -49,7 +49,7 @@ module LVM
|
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
volumes
|
|
53
53
|
end # parse
|
|
54
54
|
end # class LVSSEG
|
|
55
55
|
end # module Wrapper
|
data/lib/lvm/wrapper/pvs.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
require_relative "../wrapper"
|
|
2
|
+
require_relative "../physical_volume"
|
|
3
3
|
|
|
4
4
|
module LVM
|
|
5
5
|
module Wrapper
|
|
@@ -14,8 +14,8 @@ module LVM
|
|
|
14
14
|
@command = "#{options[:command]} #{Reporting.build_command(attributes, BASE_COMMAND, options[:additional_arguments])}"
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
BASE_COMMAND = "pvs #{Reporting::BASE_ARGUMENTS}"
|
|
18
|
-
ATTRIBUTES_FILE = "pvs.yaml"
|
|
17
|
+
BASE_COMMAND = "pvs #{Reporting::BASE_ARGUMENTS}".freeze
|
|
18
|
+
ATTRIBUTES_FILE = "pvs.yaml".freeze
|
|
19
19
|
|
|
20
20
|
# pv_attr attribute handling constants
|
|
21
21
|
# roughly by order referenced in lib/report/report.c:360 (_pvstatus_disp)
|
|
@@ -23,34 +23,34 @@ module LVM
|
|
|
23
23
|
ALLOCATABLE = {
|
|
24
24
|
# code says its a boolean
|
|
25
25
|
"a" => true,
|
|
26
|
-
}
|
|
26
|
+
}.freeze
|
|
27
27
|
EXPORTED = {
|
|
28
28
|
# code says its a boolean
|
|
29
29
|
"x" => true,
|
|
30
|
-
}
|
|
30
|
+
}.freeze
|
|
31
31
|
|
|
32
32
|
def list
|
|
33
33
|
output = External.cmd(@command)
|
|
34
34
|
data = parse(output)
|
|
35
35
|
if block_given?
|
|
36
|
-
|
|
36
|
+
data.each { |obj| yield obj }
|
|
37
37
|
else
|
|
38
|
-
|
|
38
|
+
data
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
private
|
|
43
43
|
|
|
44
|
-
def parse_pv_attr(pv_attr)
|
|
44
|
+
def parse_pv_attr(pv_attr) # :nodoc:
|
|
45
45
|
translated = {}
|
|
46
|
-
|
|
46
|
+
# translate them into nice symbols and a couple booleans
|
|
47
47
|
translated[:allocatable] = ALLOCATABLE[pv_attr[0].chr] ? true : false
|
|
48
48
|
translated[:exported] = EXPORTED[pv_attr[1].chr] ? true : false
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
translated
|
|
51
51
|
end
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
# Parses the output of self.command
|
|
54
54
|
def parse(output)
|
|
55
55
|
volumes = []
|
|
56
56
|
|
|
@@ -74,7 +74,7 @@ module LVM
|
|
|
74
74
|
end
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
volumes
|
|
78
78
|
end # parse
|
|
79
79
|
end # class PVS
|
|
80
80
|
end # module Wrapper
|
data/lib/lvm/wrapper/pvsseg.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
require_relative "../wrapper"
|
|
2
|
+
require_relative "../physical_volume_segment"
|
|
3
3
|
|
|
4
4
|
module LVM
|
|
5
5
|
module Wrapper
|
|
@@ -15,22 +15,22 @@ module LVM
|
|
|
15
15
|
@command = "#{options[:command]} #{Reporting.build_command(attributes, BASE_COMMAND, options[:additional_arguments])}"
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
BASE_COMMAND = "pvs #{Reporting::BASE_ARGUMENTS}"
|
|
19
|
-
ATTRIBUTES_FILE = "pvsseg.yaml"
|
|
18
|
+
BASE_COMMAND = "pvs #{Reporting::BASE_ARGUMENTS}".freeze
|
|
19
|
+
ATTRIBUTES_FILE = "pvsseg.yaml".freeze
|
|
20
20
|
|
|
21
21
|
def list
|
|
22
22
|
output = External.cmd(@command)
|
|
23
23
|
data = parse(output)
|
|
24
24
|
if block_given?
|
|
25
|
-
|
|
25
|
+
data.each { |obj| yield obj }
|
|
26
26
|
else
|
|
27
|
-
|
|
27
|
+
data
|
|
28
28
|
end
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
private
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
# Parses the output of self.command
|
|
34
34
|
def parse(output)
|
|
35
35
|
volumes = []
|
|
36
36
|
|
|
@@ -49,7 +49,7 @@ module LVM
|
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
|
|
52
|
-
|
|
52
|
+
volumes
|
|
53
53
|
end # parse
|
|
54
54
|
end # class PVSSEG
|
|
55
55
|
end # module Wrapper
|
data/lib/lvm/wrapper/vgs.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
require_relative "../wrapper"
|
|
2
|
+
require_relative "../volume_group"
|
|
3
3
|
|
|
4
4
|
module LVM
|
|
5
5
|
module Wrapper
|
|
@@ -14,8 +14,8 @@ module LVM
|
|
|
14
14
|
@command = "#{options[:command]} #{Reporting.build_command(attributes, BASE_COMMAND, options[:additional_arguments])}"
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
BASE_COMMAND = "vgs #{Reporting::BASE_ARGUMENTS}"
|
|
18
|
-
ATTRIBUTES_FILE = "vgs.yaml"
|
|
17
|
+
BASE_COMMAND = "vgs #{Reporting::BASE_ARGUMENTS}".freeze
|
|
18
|
+
ATTRIBUTES_FILE = "vgs.yaml".freeze
|
|
19
19
|
|
|
20
20
|
# vg_attr attribute handling constants
|
|
21
21
|
# roughly by order referenced in lib/report/report.c:360 (_vgstatus_disp)
|
|
@@ -23,19 +23,19 @@ module LVM
|
|
|
23
23
|
PERMISSIONS = {
|
|
24
24
|
"w" => :writeable,
|
|
25
25
|
"r" => :readonly,
|
|
26
|
-
}
|
|
26
|
+
}.freeze
|
|
27
27
|
RESIZEABLE = {
|
|
28
28
|
# code says its a boolean
|
|
29
29
|
"z" => true,
|
|
30
|
-
}
|
|
30
|
+
}.freeze
|
|
31
31
|
EXPORTED = {
|
|
32
32
|
# code says its a boolean
|
|
33
33
|
"x" => true,
|
|
34
|
-
}
|
|
34
|
+
}.freeze
|
|
35
35
|
PARTIAL = {
|
|
36
36
|
# code says its a boolean
|
|
37
37
|
"p" => true,
|
|
38
|
-
}
|
|
38
|
+
}.freeze
|
|
39
39
|
ALLOCATION_POLICY = {
|
|
40
40
|
"c" => :contiguous,
|
|
41
41
|
"l" => :cling,
|
|
@@ -47,25 +47,25 @@ module LVM
|
|
|
47
47
|
"N" => :normal_locked,
|
|
48
48
|
"A" => :anywhere_locked,
|
|
49
49
|
"I" => :inherited_locked,
|
|
50
|
-
}
|
|
50
|
+
}.freeze
|
|
51
51
|
CLUSTERED = {
|
|
52
52
|
# code says its a boolean
|
|
53
53
|
"c" => true,
|
|
54
|
-
}
|
|
54
|
+
}.freeze
|
|
55
55
|
|
|
56
56
|
def list
|
|
57
57
|
output = External.cmd(@command)
|
|
58
58
|
data = parse(output)
|
|
59
59
|
if block_given?
|
|
60
|
-
|
|
60
|
+
data.each { |obj| yield obj }
|
|
61
61
|
else
|
|
62
|
-
|
|
62
|
+
data
|
|
63
63
|
end
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
private
|
|
67
67
|
|
|
68
|
-
def parse_vg_attr(vg_attr)
|
|
68
|
+
def parse_vg_attr(vg_attr) # :nodoc:
|
|
69
69
|
translated = {}
|
|
70
70
|
# translate them into nice symbols and a couple booleans
|
|
71
71
|
translated[:permissions] = PERMISSIONS[vg_attr[0].chr]
|
|
@@ -75,11 +75,11 @@ module LVM
|
|
|
75
75
|
translated[:allocation_policy] = ALLOCATION_POLICY[vg_attr[4].chr]
|
|
76
76
|
translated[:clustered] = CLUSTERED[vg_attr[5].chr] ? true : false
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
translated
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
def parse(output)
|
|
81
|
+
# Parses the output of self.command
|
|
82
|
+
def parse(output) # :nodoc:
|
|
83
83
|
volumes = []
|
|
84
84
|
|
|
85
85
|
output.split("\n").each do |line|
|
|
@@ -102,7 +102,7 @@ module LVM
|
|
|
102
102
|
end
|
|
103
103
|
end
|
|
104
104
|
|
|
105
|
-
|
|
105
|
+
volumes
|
|
106
106
|
end # parse
|
|
107
107
|
end # class VGS
|
|
108
108
|
end # module Wrapper
|
data/lib/lvm/wrapper.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require "lvm/attributes"
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
require_relative "external"
|
|
3
|
+
require_relative "wrapper/constants"
|
|
4
4
|
|
|
5
5
|
module LVM
|
|
6
6
|
module Wrapper
|
|
@@ -9,7 +9,7 @@ module LVM
|
|
|
9
9
|
|
|
10
10
|
# Breakdown return values into attribute => value hash suitable for
|
|
11
11
|
# OpenStruct
|
|
12
|
-
def process_line(expected_attributes, line)
|
|
12
|
+
def process_line(expected_attributes, line) # :nodoc:
|
|
13
13
|
line.strip!
|
|
14
14
|
values = line.split(SEPERATOR)
|
|
15
15
|
# nil is easier
|
|
@@ -26,6 +26,7 @@ module LVM
|
|
|
26
26
|
# use hints for type conversion
|
|
27
27
|
case attribute[:type_hint]
|
|
28
28
|
when "String"
|
|
29
|
+
value = value.to_s
|
|
29
30
|
when "Integer"
|
|
30
31
|
value = value.to_i
|
|
31
32
|
when "Float"
|
|
@@ -34,7 +35,7 @@ module LVM
|
|
|
34
35
|
attributes[name] = value
|
|
35
36
|
end
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
attributes
|
|
38
39
|
end
|
|
39
40
|
module_function :process_line
|
|
40
41
|
|
|
@@ -47,7 +48,7 @@ module LVM
|
|
|
47
48
|
additional_arguments = [] if additional_arguments.nil?
|
|
48
49
|
additional_arguments = [additional_arguments] if additional_arguments.is_a?(String)
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
base % opts.join(",") + "#{additional_arguments.empty? ? "" : " "}#{additional_arguments.join(" ")}"
|
|
51
52
|
end
|
|
52
53
|
module_function :build_command
|
|
53
54
|
end # module Reporting
|
data/lib/lvm.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
require_relative "lvm/external"
|
|
2
|
+
require_relative "lvm/userland"
|
|
3
|
+
require_relative "lvm/logical_volumes"
|
|
4
|
+
require_relative "lvm/volume_groups"
|
|
5
|
+
require_relative "lvm/physical_volumes"
|
|
6
|
+
require_relative "lvm/version"
|
|
7
7
|
|
|
8
8
|
module LVM
|
|
9
9
|
class LVM
|
|
@@ -13,20 +13,20 @@ module LVM
|
|
|
13
13
|
attr_reader :physical_volumes
|
|
14
14
|
attr_reader :additional_arguments
|
|
15
15
|
|
|
16
|
-
VALID_OPTIONS =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
VALID_OPTIONS = %i{
|
|
17
|
+
command
|
|
18
|
+
version
|
|
19
|
+
debug
|
|
20
|
+
additional_arguments
|
|
21
|
+
}.freeze
|
|
22
22
|
|
|
23
|
-
DEFAULT_COMMAND = "/sbin/lvm"
|
|
23
|
+
DEFAULT_COMMAND = "/sbin/lvm".freeze
|
|
24
24
|
|
|
25
25
|
def initialize(options = {})
|
|
26
26
|
# handy, thanks net-ssh!
|
|
27
27
|
invalid_options = options.keys - VALID_OPTIONS
|
|
28
28
|
if invalid_options.any?
|
|
29
|
-
raise ArgumentError, "invalid option(s): #{invalid_options.join(
|
|
29
|
+
raise ArgumentError, "invalid option(s): #{invalid_options.join(", ")}"
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
@command = options[:command] || DEFAULT_COMMAND
|
|
@@ -42,7 +42,7 @@ module LVM
|
|
|
42
42
|
if block_given?
|
|
43
43
|
yield self
|
|
44
44
|
else
|
|
45
|
-
|
|
45
|
+
self
|
|
46
46
|
end
|
|
47
47
|
end
|
|
48
48
|
|
|
@@ -52,14 +52,14 @@ module LVM
|
|
|
52
52
|
output << line
|
|
53
53
|
end
|
|
54
54
|
if block_given?
|
|
55
|
-
|
|
55
|
+
output.each { |l| yield l }
|
|
56
56
|
else
|
|
57
|
-
|
|
57
|
+
output.join
|
|
58
58
|
end
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
def version
|
|
62
|
-
|
|
62
|
+
/^(.*?)(-| )/.match(userland.lvm_version)[1]
|
|
63
63
|
end
|
|
64
64
|
|
|
65
65
|
# helper methods
|
|
@@ -67,16 +67,16 @@ module LVM
|
|
|
67
67
|
userland = UserLand.new
|
|
68
68
|
raw("version") do |line|
|
|
69
69
|
case line
|
|
70
|
-
when
|
|
70
|
+
when /^\s+LVM version:\s+([0-9].*)$/
|
|
71
71
|
userland.lvm_version = $1
|
|
72
|
-
when
|
|
72
|
+
when /^\s+Library version:\s+([0-9].*)$/
|
|
73
73
|
userland.library_version = $1
|
|
74
|
-
when
|
|
74
|
+
when /^\s+Driver version:\s+([0-9].*)$/
|
|
75
75
|
userland.driver_version = $1
|
|
76
76
|
end
|
|
77
77
|
end
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
userland
|
|
80
80
|
end
|
|
81
81
|
end
|
|
82
82
|
end
|
metadata
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: chef-ruby-lvm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tim Smith
|
|
8
8
|
- Greg Symons
|
|
9
9
|
- Matthew Kent
|
|
10
|
-
autorequire:
|
|
10
|
+
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2022-04-25 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
|
-
name:
|
|
16
|
+
name: chef-ruby-lvm-attrib
|
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
|
18
18
|
requirements:
|
|
19
19
|
- - "~>"
|
|
20
20
|
- !ruby/object:Gem::Version
|
|
21
|
-
version: '0.
|
|
22
|
-
- - ">="
|
|
23
|
-
- !ruby/object:Gem::Version
|
|
24
|
-
version: 0.9.6
|
|
21
|
+
version: '0.3'
|
|
25
22
|
type: :runtime
|
|
26
23
|
prerelease: false
|
|
27
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
28
25
|
requirements:
|
|
29
26
|
- - "~>"
|
|
30
27
|
- !ruby/object:Gem::Version
|
|
31
|
-
version: '0.
|
|
32
|
-
- - ">="
|
|
33
|
-
- !ruby/object:Gem::Version
|
|
34
|
-
version: 0.9.6
|
|
28
|
+
version: '0.3'
|
|
35
29
|
- !ruby/object:Gem::Dependency
|
|
36
|
-
name:
|
|
30
|
+
name: open4
|
|
37
31
|
requirement: !ruby/object:Gem::Requirement
|
|
38
32
|
requirements:
|
|
39
33
|
- - "~>"
|
|
40
34
|
- !ruby/object:Gem::Version
|
|
41
|
-
version: '0.
|
|
35
|
+
version: '0.9'
|
|
36
|
+
- - ">="
|
|
37
|
+
- !ruby/object:Gem::Version
|
|
38
|
+
version: 0.9.6
|
|
42
39
|
type: :runtime
|
|
43
40
|
prerelease: false
|
|
44
41
|
version_requirements: !ruby/object:Gem::Requirement
|
|
45
42
|
requirements:
|
|
46
43
|
- - "~>"
|
|
47
44
|
- !ruby/object:Gem::Version
|
|
48
|
-
version: '0.
|
|
45
|
+
version: '0.9'
|
|
46
|
+
- - ">="
|
|
47
|
+
- !ruby/object:Gem::Version
|
|
48
|
+
version: 0.9.6
|
|
49
49
|
description: A wrapper for the LVM2 administration utility, lvm.
|
|
50
50
|
email:
|
|
51
51
|
- tsmith@chef.io
|
|
@@ -55,8 +55,17 @@ executables: []
|
|
|
55
55
|
extensions: []
|
|
56
56
|
extra_rdoc_files: []
|
|
57
57
|
files:
|
|
58
|
+
- ".github/CODEOWNERS"
|
|
59
|
+
- ".github/ISSUE_TEMPLATE/BUG_TEMPLATE.md"
|
|
60
|
+
- ".github/ISSUE_TEMPLATE/DESIGN_PROPOSAL.md"
|
|
61
|
+
- ".github/ISSUE_TEMPLATE/ENHANCEMENT_REQUEST_TEMPLATE.md"
|
|
62
|
+
- ".github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md"
|
|
63
|
+
- ".github/PULL_REQUEST_TEMPLATE.md"
|
|
64
|
+
- ".github/dependabot.yml"
|
|
58
65
|
- ".gitignore"
|
|
59
66
|
- CHANGELOG.md
|
|
67
|
+
- CODE_OF_CONDUCT.md
|
|
68
|
+
- CONTRIBUTING.md
|
|
60
69
|
- Gemfile
|
|
61
70
|
- README.md
|
|
62
71
|
- Rakefile
|
|
@@ -90,7 +99,7 @@ homepage: https://github.com/chef/chef-ruby-lvm
|
|
|
90
99
|
licenses:
|
|
91
100
|
- MIT
|
|
92
101
|
metadata: {}
|
|
93
|
-
post_install_message:
|
|
102
|
+
post_install_message:
|
|
94
103
|
rdoc_options: []
|
|
95
104
|
require_paths:
|
|
96
105
|
- lib
|
|
@@ -105,9 +114,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
105
114
|
- !ruby/object:Gem::Version
|
|
106
115
|
version: '0'
|
|
107
116
|
requirements: []
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
signing_key:
|
|
117
|
+
rubygems_version: 3.3.7
|
|
118
|
+
signing_key:
|
|
111
119
|
specification_version: 4
|
|
112
120
|
summary: A wrapper for the LVM2 administration utility, lvm.
|
|
113
121
|
test_files:
|