Added cloud-init growpart element
Added growpart element. It allows for growing specific partitions during the deployment, which will result in less post deploy actions needed for the server to be ready for use. Change-Id: I6519fba3e8f1d078b99d3c03f2ac85f7b6e37d8a
This commit is contained in:
parent
d321b08f4d
commit
b73048f98d
17
diskimage_builder/elements/cloud-init-growpart/README.rst
Normal file
17
diskimage_builder/elements/cloud-init-growpart/README.rst
Normal file
@ -0,0 +1,17 @@
|
||||
===================
|
||||
cloud-init-growpart
|
||||
===================
|
||||
|
||||
This element enables growpart for OS images. It allows to grow
|
||||
Specific partitions during the deployment process.
|
||||
To enable this element simply include it in the elements list.
|
||||
|
||||
**Disclaimer:** This element might not work with some device names supplied, for example when server is deployed and the image is written to a fibre channel device, or a SAS/SATA SSD controller.
|
||||
|
||||
* ``DIB_CLOUD_INIT_GROWPART_DEVICES``: List of partition names that needs to be populated in order to be grown by cloud-init. **Populating this variable is mandatory.**
|
||||
Cloud-init growpart module documentation - https://cloudinit.readthedocs.io/en/latest/topics/modules.html?highlight=growpart#growpart
|
||||
|
||||
Dependencies:
|
||||
|
||||
* ``/usr/bin/growpart``: **is needed on the system in order to grow the partition**,
|
||||
however it is part of different packages depending on linux family. That is already taken care of by package-installs.
|
@ -0,0 +1,2 @@
|
||||
package-installs
|
||||
pkg-map
|
@ -0,0 +1 @@
|
||||
growpart_package:
|
10
diskimage_builder/elements/cloud-init-growpart/pkg-map
Normal file
10
diskimage_builder/elements/cloud-init-growpart/pkg-map
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"family": {
|
||||
"redhat": {
|
||||
"growpart_package": "cloud-utils-growpart"
|
||||
},
|
||||
"debian": {
|
||||
"growpart_package": "cloud-guest-utils"
|
||||
}
|
||||
}
|
||||
}
|
25
diskimage_builder/elements/cloud-init-growpart/post-install.d/55-growpart
Executable file
25
diskimage_builder/elements/cloud-init-growpart/post-install.d/55-growpart
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then
|
||||
set -x
|
||||
fi
|
||||
set -eu
|
||||
set -o pipefail
|
||||
|
||||
if [[ -n ${DIB_CLOUD_INIT_GROWPART_DEVICES} ]]; then
|
||||
if [ -d /etc/cloud/cloud.cfg.d ]; then
|
||||
cat > /etc/cloud/cloud.cfg.d/55-growpart.cfg <<EOF
|
||||
#cloud-config
|
||||
growpart:
|
||||
mode: auto
|
||||
devices: $DIB_CLOUD_INIT_GROWPART_DEVICES
|
||||
ignore_growroot_disabled: false
|
||||
EOF
|
||||
else
|
||||
echo "The /etc/cloud/cloud.cfg.d directory must exist."
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "Set the device list in DIB_CLOUD_INIT_GROWPART_DEVICES."
|
||||
exit 1
|
||||
fi
|
@ -0,0 +1,7 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Added growpart element. It allows for growing specific partitions
|
||||
during the deployment, which will result in less post deploy actions
|
||||
needed for the server to be ready for use.
|
||||
|
Loading…
Reference in New Issue
Block a user