This Chef cookbook resizes the file system automatically when the underlying partition or disk increases its size.
It is mainly oriented to work with cloud or virtual servers where it is common to change the disk size.
This cookbook has been tested on the following platforms:
- Amazon (>= 2012.03)
- CentOS (>= 6.0)
- Debian (>= 7.0)
- Fedora
- RedHat
- Ubuntu (>= 12.04)
Please, let us know if you use it successfully on any other platform.
- Ruby 1.9.3 or higher.
The other required applications usually come with the operating system:
lsblk
,findmnt
andlosetup
: included inside util-linux (≥ 2.19) package.pgrep
: included inside procps-ng package.e2fsck
,dumpe2fs
andresize2fs
for ext3 and ext4: included inside e2fsprogs package.xfs_info
andxfs_growfs
for XFS: included inside xfsprogs package.
Parameter | Default | Description |
---|---|---|
node['filesystem_resize']['compiletime'] |
false |
Resize the file systems at compile time. |
Resizes all mounted file systems.
Resizes a partition.
run
(default)
Parameter | Default | Description |
---|---|---|
device | resource name | Device full path. |
Resizes all mounted file systems.
run
(default)
You can simply include it in a recipe:
# in your recipe
include_recipe 'filesystem_resize'
Don't forget to include the filesystem_resize
cookbook as a dependency in the metadata:
# metadata.rb
depends 'filesystem_resize'
Another alternative is to include it in your Run List:
{
"name": "app001.example.com",
[...]
"run_list": [
[...]
"recipe[filesystem_resize]"
]
}
See TESTING.md.
Helper method for locating a filesystem_resize
resource in the collection.
resource = chef_run.filesystem_resize('/dev/sda1')
expect(resource).to notify('service[apache2]').to(:restart)
Assert that the Chef Run runs filesystem_resize
.
expect(chef_run).to run_filesystem_resize('/dev/sda1')
Helper method for locating a filesystem_resize_all
resource in the collection.
resource = chef_run.filesystem_resize_all('default')
expect(resource).to notify('service[apache2]').to(:restart)
Assert that the Chef Run runs filesystem_resize
.
expect(chef_run).to run_filesystem_resize_all('default')
Please do not hesitate to open an issue with any questions or problems.
See CONTRIBUTING.md.
See TODO.md.
Author: | Xabier de Zuazo ([email protected]) |
Copyright: | Copyright (c) 2015, Xabier de Zuazo |
Copyright: | Copyright (c) 2014-2015, Onddo Labs, SL. |
License: | Apache License, Version 2.0 |
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.