cookbook 'storage', '= 6.0.1'
storage
(21) Versions
6.0.1
-
Follow0
Installs/Configures storage
cookbook 'storage', '= 6.0.1', :supermarket
knife supermarket install storage
knife supermarket download storage
storage-cookbook
A cookbook for mounting all available EC2 ephemeral volumes and saving their
respective mount points into node attributes.
Supported Platforms
EC2 only (but it will fail cleanly on other platforms).
Attributes
<table>
<tr>
<th>Key</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr>
<tr>
<td><tt>['storage']['ephemeral_mounts']</tt></td>
<td>Array</td>
<td>An array of strings, set automatically by the recipe, to be used by other cookbooks, which lists the mount points of ephemeral storage devices.</td>
<td><tt>automatic</tt></td>
</tr>
</table>
Usage
Recipes
storage::default
Include storage
in a wrapper cookbook:
include_recipe 'storage::default'
...or include storage
in your node's run_list
:
{ "run_list": [ "recipe[storage::default]" ] }
Resources
format_mount
Formats a device, creates a mount point for it, and the mounts it.
Attributes
- mount_point (name attribute) The directory where the filesystem should be mounted
-
device_name The path to the device (typically starts with
/dev
) -
fs_type Filesystem type to use for formatting (default:
ext4
) -
reserved_space Percentage of space to reserve for the superuser (default:
0
)
e.g.
ruby
storage_format_mount '/mnt/dev0' do
device_name '/dev/xvdb1'
fs_type 'ext4'
reserved_space 5
end
Contributing
- Fork the repository on Github
- Create a named feature branch (i.e.
add-new-recipe
) - Write you change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request
License and Authors
Author:: EverTrue, Inc. (eric.herot@evertrue.com)
storage CHANGELOG
v6.0.0 (2017-03-09)
- Discover NVMe devices when running on EC2
- Override udev memory ballooning config on Ubuntu 16 (workaround for this bug)
- Convert LWRP to custom resource
- BREAKING: Drop instance_store_volumes? method (no longer being used)
- BREAKING(ish): Format using ext4 by default
- Memoize dev_names helper method so that it runs only once
- Add an attribute for
reserved_space
- Make error handling and logging a bit more paranoid
- Also test on Ubuntu 16.04 (needed for NVMe)
v5.0.1 (2016-09-08)
- Verify that device files actually exist before trying to mount+format them
v5.0.0 (2016-06-07)
- Update to
et_fog
~> 4.0- Drops
apt
dep in favor of Chef built-in apt
- Drops
v4.0.0 (2016-05-31)
- Update to
et_fog
~> 2.0- Updates the
apt
andbuild-essential
deps
- Updates the
v3.0.1 (2016-05-19)
- Only call ebs recipe if there are EBS volumes
v3.0.0 (2016-05-19)
- BREAKING: Switch to using aws::ec2_hints to load ohai hints (removing ec2test recipe)
- Create, mount, and, format EBS volumes listed in attributes
v2.2.7 (2015-09-25)
- Add version constraint for Chef > 12
v2.2.6 (2015-07-13)
- Delete the
node['storage']['ephemeral_mounts']
key if there are no ephemeral mounts (because many cookbooks check for this key without using .empty?) - Check
instance_store_volumes?
afternode['ec2']['block_device_mapping_ephemeral0']
because the former throws an exception when not on ec2
v2.2.5 (2015-06-24)
- Ensure that /proc/mounts exists before reading it
- Return an empty array of mounts when running chefspec
v2.2.4 (2015-04-07)
- Create an rspec test for disable_mount("/mnt")
- Add a default action: run
- Use rspec3 format in ServerSpec tests.
- Disable mount[/mnt] if there are no ephemeral devices
- Remove usage of encrypted data bag secret
- Remove unused attributes for AWS credentials data bag
v2.2.3 (2015-03-31)
- Use "greater than" version constraint for et_fog cookbook
- Use blank credentials for connecting to AWS
v2.2.2 (2015-01-21)
- Fix copypasta in
EverTools::Storage.fog
method re: memoizing
v2.2.1 (2014-12-11)
- Parameterize credentials data bag location (Fixes #3)
v2.2.0 (2014-12-08)
- Add testing on Ubuntu 14.04
- Switch to open source license
- Update for Serverspec v2
- Clean up config & other misc. files
v2.1.8 (2014-09-08)
- Fix the way we deal with a lack of anything to mount and don't blow up when not on ec2
- Test local vagrant storage provisioning (so that wrapper cookbooks stop choking on our crappy code)
- Bump the AMI to a newer version
v2.1.7 (2014-09-08)
- Update to et_fog v1.1.1 to avoid issues with
apt-get update
& installingbuild-essential
at compile time
v2.1.6 (2014-08-05)
- Confirm (using Fog) that the current instance flavor has instance storage
v2.1.5 (2014-07-30)
- Disable /mnt mount (instead of just unmounting it) and enable the new mounts
v2.1.4 (2014-07-28)
- Populate ephemeral_mounts attribute even if /mnt/dev is already mounted
v2.1.3 (2014-07-17)
- Use /proc/mounts (rather than node attributes) to see if we need to run
- Fix method reference error in vagrant support
v2.1.2 (2014-07-01)
- s/ephemeral1/ephemeral0/ in library this time
v2.1.1 (2014-06-30)
- Look for ephemeral0 in ec2 attributes
v2.1.0 (2014-06-26)
- Fixed error making it impossible to converge twice
- Move format-mount to a resource
- Library-ify a bunch of small functions
v2.0.2 (2014-06-26)
- Add some real content to the README
- Handle NPE by only printing mounts if there are any
v2.0.1 (2014-06-25)
- Do umount during precompile phase
v2.0.0 (2014-05-06)
- Add vagrant support
v1.0.1 (2014-05-05)
- Initial release
Collaborator Number Metric
6.0.1 passed this metric
Contributing File Metric
6.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
6.0.1 passed this metric
No Binaries Metric
6.0.1 passed this metric
Testing File Metric
6.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
6.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
6.0.1 passed this metric
6.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
6.0.1 passed this metric
No Binaries Metric
6.0.1 passed this metric
Testing File Metric
6.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
6.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
6.0.1 passed this metric
6.0.1 passed this metric
Testing File Metric
6.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
6.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
6.0.1 failed this metric
6.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number