cookbook 'lvm', '= 3.0.0'
lvm
(106) Versions
3.0.0
-
-
6.2.0
-
6.1.22
-
6.1.21
-
6.1.20
-
6.1.19
-
6.1.18
-
6.1.17
-
6.1.16
-
6.1.15
-
6.1.14
-
6.1.13
-
6.1.12
-
6.1.11
-
6.1.10
-
6.1.9
-
6.1.8
-
6.1.7
-
6.1.6
-
6.1.5
-
6.1.4
-
6.1.3
-
6.1.2
-
6.1.1
-
6.1.0
-
6.0.2
-
6.0.1
-
6.0.0
-
5.2.2
-
5.2.1
-
5.2.0
-
5.1.0
-
5.0.7
-
5.0.6
-
5.0.5
-
5.0.4
-
5.0.3
-
5.0.2
-
5.0.1
-
5.0.0
-
4.6.1
-
4.6.0
-
4.5.4
-
4.5.3
-
4.5.2
-
4.5.1
-
4.5.0
-
4.4.0
-
4.3.0
-
4.2.0
-
4.1.15
-
4.1.14
-
4.1.13
-
4.1.12
-
4.1.11
-
4.1.10
-
4.1.9
-
4.1.8
-
4.1.7
-
4.1.6
-
4.1.5
-
4.1.4
-
4.1.3
-
4.1.2
-
4.1.1
-
4.1.0
-
4.0.6
-
4.0.5
-
4.0.4
-
4.0.3
-
4.0.2
-
4.0.1
-
4.0.0
-
3.1.0
-
3.0.0
-
2.1.2
-
2.1.1
-
2.1.0
-
2.0.0
-
1.6.1
-
1.6.0
-
1.5.2
-
1.5.1
-
1.5.0
-
1.4.1
-
1.4.0
-
1.3.7
-
1.3.6
-
1.3.5
-
1.3.4
-
1.3.3
-
1.3.2
-
1.3.1
-
1.2.2
-
1.1.2
-
1.1.0
-
1.0.8
-
1.0.4
-
1.0.2
-
1.0.0
-
0.8.12
-
0.8.10
-
0.8.8
-
0.8.6
-
0.8.4
-
0.8.2
-
0.7.0
Follow49
- 6.2.0
- 6.1.22
- 6.1.21
- 6.1.20
- 6.1.19
- 6.1.18
- 6.1.17
- 6.1.16
- 6.1.15
- 6.1.14
- 6.1.13
- 6.1.12
- 6.1.11
- 6.1.10
- 6.1.9
- 6.1.8
- 6.1.7
- 6.1.6
- 6.1.5
- 6.1.4
- 6.1.3
- 6.1.2
- 6.1.1
- 6.1.0
- 6.0.2
- 6.0.1
- 6.0.0
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.0
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.6.1
- 4.6.0
- 4.5.4
- 4.5.3
- 4.5.2
- 4.5.1
- 4.5.0
- 4.4.0
- 4.3.0
- 4.2.0
- 4.1.15
- 4.1.14
- 4.1.13
- 4.1.12
- 4.1.11
- 4.1.10
- 4.1.9
- 4.1.8
- 4.1.7
- 4.1.6
- 4.1.5
- 4.1.4
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.1.0
- 3.0.0
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.0
- 1.6.1
- 1.6.0
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.1
- 1.4.0
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.2.2
- 1.1.2
- 1.1.0
- 1.0.8
- 1.0.4
- 1.0.2
- 1.0.0
- 0.8.12
- 0.8.10
- 0.8.8
- 0.8.6
- 0.8.4
- 0.8.2
- 0.7.0
Installs and manages Logical Volume Manager
cookbook 'lvm', '= 3.0.0', :supermarket
knife supermarket install lvm
knife supermarket download lvm
lvm Cookbook
Installs lvm2 package and includes custom resources (providers) for managing LVM.
Requirements
Platforms
- Debian/Ubuntu
- RHEL/CentOS/Scientific/Amazon/Oracle
Chef
- Chef 12.1+
Cookbooks
- none
Resources/Providers
lvm_physical_volume
Manages LVM physical volumes.
Actions
<table>
<tr>
<th>Action</th>
<th>Description</th>
</tr>
<tr>
<td>:create</td>
<td>(default) Creates a new physical volume</td>
</tr>
<tr>
<td>:resize</td>
<td>Resize an existing physical volume</td>
</tr>
</table>
Parameters
<table>
<tr>
<th>Parameter</th>
<th>Description</th>
<th>Example</th>
<th>Default</th>
</tr>
<tr>
<td>name</td>
<td>(required) The device to create the new physical volume on</td>
<td><tt>'/dev/sda'</tt></td>
<td></td>
</tr>
</table>
Examples
lvm_physical_volume '/dev/sda'
lvm_logical_volume
Manages LVM logical volumes.
Actions
<table>
<tr>
<th>Action</th>
<th>Description</th>
</tr>
<tr>
<td>:create</td>
<td>(default) Creates a new logical volume</td>
</tr>
<tr>
<td>:resize</td>
<td>Resize an existing logical volume</td>
</tr>
</table>
Parameters
<table>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Example</th>
<th>Default</th>
</tr>
<tr>
<td>name</td>
<td>(name attribute) Name of the logical volume</td>
<td><tt>bacon</tt></td>
<td></td>
</tr>
<tr>
<td>group</td>
<td>(required) Volume group in which to create the new volume (not required if the volume is declared inside of an lvm_volume_group
block)</td>
<td><tt>bits</tt></td>
<td></td>
</tr>
<tr>
<td>size</td>
<td>(required) Size of the volume.
<ul>
<li>It can be the size of the volume with units (k, K, m, M, g, G, t, T)</li>
<li>It can be specified as the percentage of the size of the volume group</li>
</ul>
</td>
<td>
<ul>
<li><tt>10G</tt></li>
<li><tt>25%VG</tt></li>
</ul>
</td>
<td></td>
</tr>
<tr>
<td>filesystem</td>
<td>The format for the file system</td>
<td><tt>'ext4'</tt></td>
<td></td>
</tr>
<tr>
<td>filesystem_params</td>
<td>Optional parameters to use when formatting the file system</td>
<td><tt>'-j -L log -m 2 -i 10240 -J size=400 -b 4096'</tt></td>
<td></td>
</tr>
<tr>
<td>mount_point</td>
<td>
Either a String containing the path to the mount point, or a Hash with the following keys:
<ul>
<li><tt>location<tt> - (required) the directory to mount the volume on</li>
<li><tt>options</tt> - the mount options for the volume</li>
<li><tt>dump</tt> - the <tt>dump</tt> field for the fstab entry</li>
<li><tt>pass</tt> - the <tt>pass</tt> field for the fstab entry</li>
</ul>
</td>
<td><tt>'/var/my/mount'</tt></td>
<td></td>
</tr>
<tr>
<td>physical_volumes</td>
<td>Array of physical volumes that the volume will be
restricted to</td>
<td><tt>['/dev/sda', '/dev/sdb']</tt></td>
<td></td>
</tr>
<tr>
<td>stripes</td>
<td>Number of stripes for the volume</td>
<td><tt>5</tt></td>
<td></td>
</tr>
<tr>
<td>stripe_size</td>
<td>Number of kilobytes per stripe segment (must be a power of 2 less than or equal to the physical extent size for the volume group)</td>
<td><tt>24</tt></td>
<td></td>
</tr>
<tr>
<td>mirrors</td>
<td>Number of mirrors for the volume</td>
<td><tt>5</tt></td>
<td></td>
</tr>
<tr>
<td>contiguous</td>
<td>Whether or not volume should use the contiguous allocation
policy</td>
<td><tt>true</tt></td>
<td><tt>false</tt></td>
</tr>
<tr>
<td>readahead</td>
<td>The readahead sector count for the volume (can be a value
between 2 and 120, 'auto', or 'none')</td>
<td><tt>'auto'</tt></td>
<td></td>
</tr>
<td>take_up_free_space</td>
<td>whether to have the LV take up the remainder of free space on the VG. Only valid for resize action</td>
<td><tt>true</tt></td>
<td>false</td>
</tr>
</table>
Examples
lvm_logical_volume 'home' do group 'vg00' size '25%VG' filesystem 'ext4' mount_point '/home' stripes 3 mirrors 2 end
lvm_thin_pool
Manages LVM thin pools (which are simply logical volumes created with the --thinpool argument to lvcreate).
Actions
<table>
<tr>
<th>Action</th>
<th>Description</th>
</tr>
<tr>
<td>:create</td>
<td>(default) Create a new thin pool logical volume</td>
</tr>
<tr>
<td>:resize</td>
<td>Resize an existing thin pool logical volume</td>
</tr>
</table>
Parameters
<table>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Example</th>
<th>Default</th>
</tr>
<tr>
<td>name</td>
<td>(name attribute) Name of the logical volume</td>
<td><tt>bacon</tt></td>
<td></td>
</tr>
<tr>
<td>group</td>
<td>(required) Volume group in which to create the new volume (not required if the volume is declared inside of an lvm_volume_group
block)</td>
<td><tt>bits</tt></td>
<td></td>
</tr>
<tr>
<td>size</td>
<td>(required) Size of the volume.
<ul>
<li>It can be the size of the volume with units (k, K, m, M, g, G, t, T)</li>
<li>It can be specified as the percentage of the size of the volume group</li>
</ul>
</td>
<td>
<ul>
<li><tt>10G</tt></li>
<li><tt>25%VG</tt></li>
</ul>
</td>
<td></td>
</tr>
<tr>
<td>filesystem</td>
<td>The format for the file system</td>
<td><tt>'ext4'</tt></td>
<td></td>
</tr>
<tr>
<td>filesystem_params</td>
<td>Optional parameters to use when formatting the file system</td>
<td><tt>'-j -L log -m 2 -i 10240 -J size=400 -b 4096'</tt></td>
<td></td>
</tr>
<tr>
<td>mount_point</td>
<td>
Either a String containing the path to the mount point, or a Hash with the following keys:
<ul>
<li><tt>location<tt> - (required) the directory to mount the volume on</li>
<li><tt>options</tt> - the mount options for the volume</li>
<li><tt>dump</tt> - the <tt>dump</tt> field for the fstab entry</li>
<li><tt>pass</tt> - the <tt>pass</tt> field for the fstab entry</li>
</ul>
</td>
<td><tt>'/var/my/mount'</tt></td>
<td></td>
</tr>
<tr>
<td>physical_volumes</td>
<td>Array of physical volumes that the volume will be
restricted to</td>
<td><tt>['/dev/sda', '/dev/sdb']</tt></td>
<td></td>
</tr>
<tr>
<td>stripes</td>
<td>Number of stripes for the volume</td>
<td><tt>5</tt></td>
<td></td>
</tr>
<tr>
<td>stripe_size</td>
<td>Number of kilobytes per stripe segment (must be a power of 2 less than or equal to the physical extent size for the volume group)</td>
<td><tt>24</tt></td>
<td></td>
</tr>
<tr>
<td>mirrors</td>
<td>Number of mirrors for the volume</td>
<td><tt>5</tt></td>
<td></td>
</tr>
<tr>
<td>contiguous</td>
<td>Whether or not volume should use the contiguous allocation
policy</td>
<td><tt>true</tt></td>
<td><tt>false</tt></td>
</tr>
<tr>
<td>readahead</td>
<td>The readahead sector count for the volume (can be a value
between 2 and 120, 'auto', or 'none')</td>
<td><tt>'auto'</tt></td>
<td></td>
</tr>
<td>take_up_free_space</td>
<td>whether to have the LV take up the remainder of free space on the VG. Only valid for resize action</td>
<td><tt>true</tt></td>
<td>false</td>
</tr>
<tr>
<td>thin_volume</td>
<td>Shortcut for creating a new lvm_thin_volume
definition (the volumes will be created in the order they are declared)</td>
<td></td>
<td></td>
</tr>
</table>
lvm_thin_volume
Manages LVM thin volumes (which are simply logical volumes created with the --thin argument to lvcreate and are contained inside of
other logical volumes that were created with the --thinpool option to lvcreate).
Actions
<table>
<tr>
<th>Action</th>
<th>Description</th>
</tr>
<tr>
<td>:create</td>
<td>(default) Create a new thin logical volume</td>
</tr>
<tr>
<td>:resize</td>
<td>Resize an existing thin logical volume</td>
</tr>
</table>
Parameters
<table>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Example</th>
<th>Default</th>
</tr>
<tr>
<td>name</td>
<td>(name attribute) Name of the logical volume</td>
<td><tt>bacon</tt></td>
<td></td>
</tr>
<tr>
<td>group</td>
<td>(required) Volume group in which to create the new volume (not required if the volume is declared inside of an lvm_volume_group
block)</td>
<td><tt>bits</tt></td>
<td></td>
</tr>
<tr>
<td>pool</td>
<td>(required) Thin pool volume in which to create the new volume (not required if the volume is declared inside of an lvm_thin_pool
block)</td>
<td><tt>bits</tt></td>
<td></td>
</tr>
<tr>
<td>size</td>
<td>(required) Size of the volume.
<ul>
<li>It can be the size of the volume with units (k, K, m, M, g, G, t, T)</li>
</ul>
</td>
<td>
<ul>
<li><tt>10G</tt></li>
</ul>
</td>
<td></td>
</tr>
<tr>
<td>filesystem</td>
<td>The format for the file system</td>
<td><tt>'ext4'</tt></td>
<td></td>
</tr>
<tr>
<td>filesystem_params</td>
<td>Optional parameters to use when formatting the file system</td>
<td><tt>'-j -L log -m 2 -i 10240 -J size=400 -b 4096'</tt></td>
<td></td>
</tr>
<tr>
<td>mount_point</td>
<td>
Either a String containing the path to the mount point, or a Hash with the following keys:
<ul>
<li><tt>location<tt> - (required) the directory to mount the volume on</li>
<li><tt>options</tt> - the mount options for the volume</li>
<li><tt>dump</tt> - the <tt>dump</tt> field for the fstab entry</li>
<li><tt>pass</tt> - the <tt>pass</tt> field for the fstab entry</li>
</ul>
</td>
<td><tt>'/var/my/mount'</tt></td>
<td></td>
</tr>
</table>
Examples
lvm_thin_volume 'thin01' do group 'vg00' pool 'lv-thin-pool' size '5G' filesystem 'ext4' mount_point location: '/var/thin01', options: 'noatime,nodiratime' end
lvm_volume_group
Manages LVM volume groups.
Actions
<table>
<tr>
<th>Action</th>
<th>Description</th>
</tr>
<tr>
<td>:create</td>
<td>(default) Creates a new volume group</td>
</tr>
<tr>
<td>:extend</td>
<td>Extend an existing volume group to include new physical volumes</td>
</tr>
</table>
Parameters
<table>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Example</th>
<th>Default</th>
</tr>
<tr>
<td>name</td>
<td>(required) Name of the volume group</td>
<td><tt>'bacon'</tt></td>
<td></td>
</tr>
<tr>
<td>physical_volumes</td>
<td>(required) The device or list of devices to use as physical volumes (if they haven't already been initialized as physical volumes, they will be initialized automatically)</td>
<td><tt>['/dev/sda', '/dev/sdb']</tt></td>
<td></td>
</tr>
<tr>
<td>physical_extent_size</td>
<td>The physical extent size for the volume group</td>
<td></td>
<td></td>
</tr>
<tr>
<td>logical_volume</td>
<td>Shortcut for creating a new lvm_logical_volume
definition (the logical volumes will be created in the order they are declared)</td>
<td></td>
<td></td>
</tr>
<tr>
<td>wipe_signatures</td>
<td>Force the creation of the Volume Group, even if lvm
detects existing non-LVM data on disk</td>
<td>true
</td>
<td>false
</td>
</tr>
<tr>
<td>thin_pool</td>
<td>Shortcut for creating a new lvm_thin_pool
definition (the logical volumes will be created in the order they are declared)</td>
<td></td>
<td></td>
</tr>
</table>
Examples
lvm_volume_group 'vg00' do physical_volumes ['/dev/sda', '/dev/sdb', '/dev/sdc'] wipe_signatures true logical_volume 'logs' do size '1G' filesystem 'xfs' mount_point location: '/var/log', options: 'noatime,nodiratime' stripes 3 end logical_volume 'home' do size '25%VG' filesystem 'ext4' mount_point '/home' stripes 3 mirrors 2 end thin_pool "lv-thin-pool" do size '5G' stripes 2 thin_volume "thin01" do size '10G' filesystem 'ext4' mount_point location: '/var/thin01', options: 'noatime,nodiratime' end end end
Usage
If you're using Berkshelf, just add this cookbook to your Berksfile
:
cookbook 'lvm'
You can also install it from the community site:
knife cookbook site install lvm
Include the default recipe in your run list on a node, in a role, or in another recipe:
run_list(
'recipe[lvm::default]'
)
Depend on lvm
in any cookbook that uses its Resources/Providers:
# other_cookbook/metadata.rb depends 'lvm'
Caveats
This cookbook depends on the di-ruby-lvm and di-ruby-lvm-attrib gems. The di-ruby-lvm-attrib gem in particular is a common cause of failures when using the providers. If you get a failure with an error message similar to
No such file or directory - /opt/chef/.../di-ruby-lvm-attrib-0.0.3/lib/lvm/attributes/2.02.86(2)/lvs.yaml
then you are running a version of lvm that the gems do not support. However, getting support added is usually pretty easy. Just follow the instructions on "Adding Attributes" in the di-ruby-lvm-attrib README.
License and Authors
- Author:: Joshua Timberman joshua@chef.io
- Author:: Greg Symons gsymons@drillinginfo.com
Copyright:: 2011-2015, Chef Software, Inc Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
lvm Cookbook CHANGELOG
This file is used to list changes made in each version of the lvm cookbook.
3.0.0 (2016-09-16)
- Testing updates
- update to add chefspec runner methods
- Require Chef 12.1+
v2.1.2 (2016-06-14)
- Prevent failures in other cookbooks utilizing the lvm resources
v2.1.1 (2016-06-10)
- Update di-ruby-lvm-attrib to 0.0.26
v2.1.0 (2016-05-11)
- Added lvm_thin_pool and lvm_thin_volume resources
v2.0.0 (2016-04-11)
- The gems are now installed when the provider is first used instead of in the default recipe. For users that already have the LVM package installed there is no need to include the default recipe on their run_list now
- Due to how the gem is installed now this recipe now requires Chef 12.0+
- Added RHEL 7.0 specs for the default recipe
v1.6.1 (2016-03-23)
- Fixed compile time installs of di-ruby-lvm
v1.6.0 (2016-03-23)
- Add a wipe_signatures option to LVM volume group
v1.5.2 (2016-03-23)
- Update di-ruby-lvm-attrib to 0.0.25
v1.5.1 (2016-01-26)
- Added attributes to allow installing the lvm gems at compile time
- Removed yum cookbook from the Berksfile as it wasn't being used
- Improved testing with chefspec and test kitchen
v1.5.0 (2015-12-09)
- Update the di-ruby-lvm and di-ruby-lvm-attrib gems to the latest release to improve speed and the supported versions of LVM
- Add testing of the resizing to Travis CI and the Kitchen config
- Resolve issues when running under Chefspec
v1.4.1 (2015-11-17)
- Change chef_gem installs to not install at compile_time on Chef 12 to avoid warnings
v1.4.0 (2015-10-22)
- Updated the minimum supported Chef release from 10 -> 11 in the readme
- Updated di-ruby-lvm-attrib gem from 0.0.16 -> 0.0.21
- Added Chef 11 compatibility to the source_url and issues_url in the metadata
- Added support for additional RHEL deritivites to the metadata
- Added additional Chefspec matchers
- Added chefignore file to limit what files are uploaded to the Chef server
- Added Test Kitchen config
- Updated .gitignore
- Updated to use Chef standard rubocop config
- Updated Travis config to test using ChefDK vs. Gems
- Updated contributing and testing docs
- Added maintainers.md and maintainers.toml files
- Updated development dependencies in the Gemfile
- Added cookbook version badge to the readme
v1.3.7 (2015-06-20)
- Allow users to specify the exact versions of the lvm gems (#49)
- Start/enable the lvmetad service on RHEL7. (#52)
- Allow arbitrary parameters to be passed to lvcreate.
v1.3.6 (2015-02-18)
- Reverting chef_gem compile_time work
v1.3.5 (2015-02-18)
- Fixing chef_gem with Chef::Resource::ChefGem.method_defined?(:compile_time)
v1.3.4 (2015-02-18)
- Fixing chef_gem for Chef below 12.1.0
v1.3.3 (2015-02-17)
- Being explicit about usage of the chef_gem's compile_time property.
- Eliminating future deprecation warning in Chef 12.1.0
v1.3.1 (2015-02-09)
- 46 - Unbreak cookbook on Chef Client 12
- 34 - Add ability to specify optional filesystem parameters when formatting
v1.3.0 (2014-07-09)
- 32 - add support for resizing logical and physical volumes
- 33 - [COOK-4701]: add ability to extend volume groups
v1.2.2 (2014-07-02)
No changes. Bumping for toolchain
v1.2.0 (2014-07-02)
- [COOK-2992] add support for resizing logical and physical volumes
v1.1.2 (2014-05-15)
- [COOK-4609] Enable the logical volume if it is disabled
v1.1.0 (2014-04-10)
- [COOK-4539] - Change default mount mode to 0755
v1.0.8 (2014-03-27)
No change. Bumping version for toolchain
v1.0.6 (2014-03-27)
- [COOK-4486] - Add ChefSpec matchers for LVM resources
- [COOK-4481] - The lvm_volume_group resource is not convergent
v1.0.4 (2013-12-28)
Bug
- COOK-3987 - Volumes are created with the wrong # of extents. Size = '2%VG' is treated as a size of 2 extents.
v1.0.2
Bug
- COOK-3935 - fix minor typo
- Fixing up style
- Updating test harness
v1.0.0
Improvement
- COOK-3357 - Complete refactor into a heavy-weight provider with tests
v0.8.12
Improvement
- COOK-2991 - Add SLES support
Bug
-
COOK-2348 - Fix
lvm_logical_volume
whenmount_point
parameter is a String
v0.8.10
Bug
- [COOK-3031]:
ruby_block
to create logical volume is improperly named, causing collisions
v0.8.8
- [COOK-2283] - lvm version mismatch on fresh amazon linux install
- [COOK-2733] - Fix invalid only_if command in lvm cookbook
- [COOK-2822] - install, don't upgrade, lvm2 package
v0.8.6
- [COOK-2348] - lvm
logical_volume
doesn't work withmount_point
parameter as String
v0.8.4
- [COOK-1977] - Typo "stripesize" in LVM cookbook
- [COOK-1994] - Cannot create a logical volume if fstype is not given
v0.8.2
- [COOK-1857] -
lvm_logical_volume
resource callback conflicts with code in provider.
v0.8.0
- Added providers for managing the creation of LVM physical volumes, volume groups, and logical volumes.
v0.7.1
- Current public release
Collaborator Number Metric
3.0.0 passed this metric
Foodcritic Metric
3.0.0 passed this metric
3.0.0 passed this metric
3.0.0 passed this metric