cookbook 'efs', '= 0.1.3'
efs (9) Versions 0.1.3 Follow2
Installs/Configures Amazon Elastic Filesystem mounts
cookbook 'efs', '= 0.1.3', :supermarket
knife supermarket install efs
knife supermarket download efs
efs Cookbook
Cookbook to mount Elastic Filesystem endpoints in Amazon Web Services.
Presently, you just configure global defaults (presently the recommended values from Amazon) and individual mounts through node attributes. In the future, a LWRP may be added.
Requirements
- NFS
Platforms
- Ubuntu 16.04
- Centos 7.2
- RHEL 7.2
- Debian (untested)
Attributes
efs::default
<table>
<tr>
<th>Key</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr>
<tr>
<td><tt>['efs']['mounts']</tt></td>
<td>hash of hashes</td>
<td>Keys are mount point paths, values can be any of the keys below. The <tt>fsid</tt> key is required. Any other optional keys will use global defaults from the attributes below.</td>
<td><tt>{}</tt></td>
</tr>
<tr>
<td><tt>['efs']['mounts'][mount point]['fsid']</tt></td>
<td>string (required)</td>
<td>FSID of the Elastic Filesystem (e.g. fs-1234abcd)</td>
<td></td>
</tr>
<tr>
<td><tt>['efs']['mounts'][mount point]['region']</tt></td>
<td>string</td>
<td>Override AWS region for the mount</td>
<td>derived from node['ec2']['placement_availability_zone']</td>
</tr>
<tr>
<td><tt>['efs']['mounts'][mount point]['options']</tt></td>
<td>string</td>
<td>Override mount options string</td>
<td>generated from attributes of mount and global below</td>
</tr>
<tr>
<td><tt>['efs']['rsize']</tt></td>
<td>int</td>
<td>maximum read size in bytes</td>
<td><tt>1048576</tt></td>
</tr>
<tr>
<td><tt>['efs']['wsize']</tt></td>
<td>int</td>
<td>maximum write size in bytes</td>
<td><tt>1048576</tt></td>
</tr>
<tr>
<td><tt>['efs']['timeout']</tt></td>
<td>int</td>
<td>timeout between retries in deciseconds</td>
<td><tt>600</tt></td>
</tr>
<tr>
<td><tt>['efs']['retrans']</tt></td>
<td>int</td>
<td>number of retries before further action</td>
<td><tt>2</tt></td>
</tr>
<tr>
<td><tt>['efs']['behavior']</tt></td>
<td>string</td>
<td>determines timeout behavior (hard or soft)</td>
<td><tt>hard</tt></td>
</tr>
<tr>
<td><tt>['efs']['remove_unspecified_mounts']</tt></td>
<td>boolean</td>
<td>Unmount and remove any EFS mount in fstab that is not specified by <tt>['efs']['mounts']</tt></td>
<td><tt>false</tt></td>
</tr>
</table>
Usage
efs::default
Configure any desired mounts under node['efs']['mounts']
and include efs
in your node's run_list
:
{ "name":"my_node", "run_list": [ "recipe[efs]" ] }
Testing
Set the EFS_TEST_FSID
environment variable and run kitchen test
with correct attributes to setup EC2 instances with the kitchen-ec2
driver.
Contributing
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
License and Authors
Authors: Matt Kulka matt@lqx.net
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
efs CHANGELOG
0.1.3
- [mattlqx] - Add unit tests
- [mattlqx] - Relocate
ruby_block
logic to library function - [mattlqx] - Add Travis CI
0.1.2
- [mattlqx] - Metadata tweaks
0.1.0
- [mattlqx] - Initial release of efs
Check the Markdown Syntax Guide for help with Markdown.
The Github Flavored Markdown page describes the differences between markdown on github and standard markdown.
Collaborator Number Metric
0.1.3 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
0.1.3 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
0.1.3 passed this metric
License Metric
0.1.3 passed this metric
No Binaries Metric
0.1.3 passed this metric
Testing File Metric
0.1.3 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
0.1.3 passed this metric
0.1.3 failed this metric
0.1.3 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
0.1.3 passed this metric
License Metric
0.1.3 passed this metric
No Binaries Metric
0.1.3 passed this metric
Testing File Metric
0.1.3 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
0.1.3 passed this metric
0.1.3 passed this metric
0.1.3 passed this metric
No Binaries Metric
0.1.3 passed this metric
Testing File Metric
0.1.3 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
0.1.3 passed this metric
0.1.3 passed this metric
0.1.3 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
0.1.3 passed this metric
0.1.3 passed this metric