summaryrefslogtreecommitdiff
path: root/cloudinit/config/cc_growpart.py
diff options
context:
space:
mode:
authorScott Moser <smoser@ubuntu.com>2013-10-02 14:35:14 -0400
committerScott Moser <smoser@ubuntu.com>2013-10-02 14:35:14 -0400
commit26d2c9a3b4b9fdcdd0d26b62df2aad68ee480f62 (patch)
tree297e348477aa7b638caa3620b87eaee8a4599cf8 /cloudinit/config/cc_growpart.py
parented8cb662f72e4e3e03ee0489593b7d114e5618cf (diff)
downloadvyos-cloud-init-26d2c9a3b4b9fdcdd0d26b62df2aad68ee480f62.tar.gz
vyos-cloud-init-26d2c9a3b4b9fdcdd0d26b62df2aad68ee480f62.zip
cc_growpart: respect /etc/growroot-disabled
cloud-initramfs-growroot is an initramfs module in cloud-initramfs-tools that resizes the root partition before the root is pivoted over. growroot was used in Ubuntu up to and including 12.10. The file /etc/growroot-disabled on the root filesystem was the only way of disabling the growing of the root partition. In cloud-init 0.7.2 cloud-init began resizing the root partition as growpart gained the ability to utilize 'ptupdate' in kernels > 3.8. This was a big improvement as now the user could disable or enable the growing of the root partition via user-data. In order to let users disable growing of / very simplistically cloud-init will now respect the presense of /etc/growroot-disabled unless config specifically tells it to ignore that file. LP: #1234331
Diffstat (limited to 'cloudinit/config/cc_growpart.py')
-rw-r--r--cloudinit/config/cc_growpart.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/cloudinit/config/cc_growpart.py b/cloudinit/config/cc_growpart.py
index 2d54aabf..0dd92a46 100644
--- a/cloudinit/config/cc_growpart.py
+++ b/cloudinit/config/cc_growpart.py
@@ -32,6 +32,7 @@ frequency = PER_ALWAYS
DEFAULT_CONFIG = {
'mode': 'auto',
'devices': ['/'],
+ 'ignore_growroot_disabled': False,
}
@@ -251,6 +252,12 @@ def handle(_name, cfg, _cloud, log, _args):
log.debug("growpart disabled: mode=%s" % mode)
return
+ if util.is_false(mycfg.get('ignore_growroot_disabled', False)):
+ if os.path.isfile("/etc/growroot-disabled"):
+ log.debug("growpart disabled: /etc/growroot-disabled exists")
+ log.debug("use ignore_growroot_disabled to ignore")
+ return
+
devices = util.get_cfg_option_list(cfg, "devices", ["/"])
if not len(devices):
log.debug("growpart: empty device list")