Bug#868875: cloud-init growpart fails to grow root volumes larger than 256GiB
Package: cloud-init
Version: 0.7.7~bzr1156-1~bpo8+1
Severity: normal
Dear Maintainer,
On launching a Debian 8.7 Marketplace AMI on AWS with a root volume larger 256GiB
growpart will fail to resize the root partition.
-- System Information:
Debian Release: 8.7
APT prefers oldstable-updates
APT policy: (500, 'oldstable-updates'), (500, 'oldstable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages cloud-init depends on:
ii debconf [debconf-2.0] 1.5.56
ii ifupdown 0.7.53.1
ii init-system-helpers 1.22
ii lsb-release 4.1+Debian13+nmu1
ii procps 2:3.3.9-9
ii python3 3.4.2-2
ii python3-configobj 5.0.6-1
ii python3-jinja2 2.7.3-1
ii python3-jsonpatch 1.3-5
ii python3-oauthlib 0.6.3-1
ii python3-prettytable 0.7.2-3
ii python3-requests 2.4.3-6
ii python3-serial 2.6-1.1
ii python3-six 1.8.0-1
ii python3-yaml 3.11-2
pn python3:any <none>
cloud-init recommends no packages.
cloud-init suggests no packages.
-- Configuration Files:
/etc/cloud/cloud.cfg changed:
users:
- default
disable_root: true
preserve_hostname: false
cloud_init_modules:
- migrator
- seed_random
- growpart
- bootcmd
- write-files
- growpart
- resizefs
- set_hostname
- update_hostname
- update_etc_hosts
- ca-certs
- rsyslog
- users-groups
- ssh
cloud_config_modules:
- emit_upstart
- disk_setup
- mounts
- ssh-import-id
- locale
- set-passwords
- grub-dpkg
- apt-pipelining
- apt-configure
- package-update-upgrade-install
- fan
- landscape
- timezone
- puppet
- chef
- salt-minion
- mcollective
- disable-ec2-metadata
- runcmd
- byobu
cloud_final_modules:
- rightscale_userdata
- scripts-vendor
- scripts-per-once
- scripts-per-boot
- scripts-per-instance
- scripts-user
- ssh-authkey-fingerprints
- keys-to-console
- phone-home
- final-message
- power-state-change
system_info:
# This will affect which distro class gets used
distro: debian
# Default user name + that default users groups (if added/used)
default_user:
name: admin
sudo: ALL=(ALL) NOPASSWD:ALL
shell: /bin/bash
lock_passwd: True
gecos: Debian
groups: [adm, audio, cdrom, dialout, dip, floppy, netdev, plugdev, sudo, video]
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
shell: /bin/bash
# Other config here will be given to the distro class and/or path classes
paths:
cloud_dir: /var/lib/cloud/
templates_dir: /etc/cloud/templates/
upstart_dir: /etc/init/
package_mirrors:
- arches: [default]
failsafe:
primary: http://httpredir.debian.org/debian
security: http://security.debian.org/
-- debconf information:
* cloud-init/datasources: Ec2
Jul 19 11:51:42 ip-10-118-1-106 [CLOUDINIT] stages.py[DEBUG]: Running module growpart (<module 'cloudinit.config.cc_growpart' from '/usr/lib/python3/dist-packages/cloudinit/config/cc_growpart.py'>) with frequency always
Jul 19 11:51:42 ip-10-118-1-106 [CLOUDINIT] handlers.py[DEBUG]: start: init-network/config-growpart: running config-growpart with frequency always
Jul 19 11:51:42 ip-10-118-1-106 [CLOUDINIT] helpers.py[DEBUG]: Running config-growpart using lock (<cloudinit.helpers.DummyLock object at 0x7f0e1c65c630>)
Jul 19 11:51:42 ip-10-118-1-106 [CLOUDINIT] cc_growpart.py[DEBUG]: No 'growpart' entry in cfg. Using default: {'mode': 'auto', 'ignore_growroot_disabled': False, 'devices': ['/']}
Jul 19 11:51:42 ip-10-118-1-106 [CLOUDINIT] util.py[DEBUG]: Running command ['growpart', '--help'] with allowed return codes [0] (shell=False, capture=True)
Jul 19 11:51:42 ip-10-118-1-106 [CLOUDINIT] util.py[DEBUG]: Running command ['growpart', '--dry-run', '/dev/xvda', '2'] with allowed return codes [0] (shell=False, capture=True)
Jul 19 11:51:42 ip-10-118-1-106 [CLOUDINIT] util.py[DEBUG]: Running command ['growpart', '/dev/xvda', '2'] with allowed return codes [0] (shell=False, capture=True)
Jul 19 11:51:44 ip-10-118-1-106 [CLOUDINIT] util.py[WARNING]: Failed: growpart /dev/xvda 2
Jul 19 11:51:44 ip-10-118-1-106 [CLOUDINIT] util.py[DEBUG]: Failed: growpart /dev/xvda 2#012Traceback (most recent call last):#012 File "/usr/lib/python3/dist-packages/cloudinit/config/cc_growpart.py", line 109, in resize#012 util.subp(["growpart", diskdev, partnum])#012 File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 1684, in subp#012 cmd=args)#012cloudinit.util.ProcessExecutionError: Unexpected error while running command.#012Command: ['growpart', '/dev/xvda', '2']#012Exit code: 2#012Reason: -#012Stdout: "FAILED: disk=/dev/xvda partition=2: failed to repartition\nWarning! Current disk size doesn't match that of the backup!\nAdjusting sizes to match, but subsequent problems are possible!\nWarning: The kernel is still using the old partition table.\nThe new table will be used at the next reboot.\nThe operation has completed successfully.\n"#012Stderr: 'failed [pt_update:1] pt_update /dev/xvda 2\npartx: /dev/xvda: error updating partition 2\n***** WARNING: Resize
failed, attempting to revert ******\n***** Appears to have gone OK ****\n'
Jul 19 11:51:44 ip-10-118-1-106 [CLOUDINIT] cc_growpart.py[DEBUG]: '/' FAILED: failed to resize: disk=/dev/xvda, ptnum=2: Unexpected error while running command.#012Command: ['growpart', '/dev/xvda', '2']#012Exit code: 2#012Reason: -#012Stdout: "FAILED: disk=/dev/xvda partition=2: failed to repartition\nWarning! Current disk size doesn't match that of the backup!\nAdjusting sizes to match, but subsequent problems are possible!\nWarning: The kernel is still using the old partition table.\nThe new table will be used at the next reboot.\nThe operation has completed successfully.\n"#012Stderr: 'failed [pt_update:1] pt_update /dev/xvda 2\npartx: /dev/xvda: error updating partition 2\n***** WARNING: Resize failed, attempting to revert ******\n***** Appears to have gone OK ****\n'
Jul 19 11:51:44 ip-10-118-1-106 [CLOUDINIT] handlers.py[DEBUG]: finish: init-network/config-growpart: SUCCESS: config-growpart ran successfully
Jul 19 11:51:44 ip-10-118-1-106 [CLOUDINIT] stages.py[DEBUG]: Running module growpart (<module 'cloudinit.config.cc_growpart' from '/usr/lib/python3/dist-packages/cloudinit/config/cc_growpart.py'>) with frequency always
Jul 19 11:51:44 ip-10-118-1-106 [CLOUDINIT] handlers.py[DEBUG]: start: init-network/config-growpart: running config-growpart with frequency always
Jul 19 11:51:44 ip-10-118-1-106 [CLOUDINIT] helpers.py[DEBUG]: Running config-growpart using lock (<cloudinit.helpers.DummyLock object at 0x7f0e1c65cb38>)
Jul 19 11:51:44 ip-10-118-1-106 [CLOUDINIT] cc_growpart.py[DEBUG]: No 'growpart' entry in cfg. Using default: {'mode': 'auto', 'ignore_growroot_disabled': False, 'devices': ['/']}
Jul 19 11:51:44 ip-10-118-1-106 [CLOUDINIT] util.py[DEBUG]: Running command ['growpart', '--help'] with allowed return codes [0] (shell=False, capture=True)
Jul 19 11:51:44 ip-10-118-1-106 [CLOUDINIT] util.py[DEBUG]: Running command ['growpart', '--dry-run', '/dev/xvda', '2'] with allowed return codes [0] (shell=False, capture=True)
Jul 19 11:51:44 ip-10-118-1-106 [CLOUDINIT] util.py[DEBUG]: Running command ['growpart', '/dev/xvda', '2'] with allowed return codes [0] (shell=False, capture=True)
Jul 19 11:51:46 ip-10-118-1-106 [CLOUDINIT] util.py[WARNING]: Failed: growpart /dev/xvda 2
Jul 19 11:51:46 ip-10-118-1-106 [CLOUDINIT] util.py[DEBUG]: Failed: growpart /dev/xvda 2#012Traceback (most recent call last):#012 File "/usr/lib/python3/dist-packages/cloudinit/config/cc_growpart.py", line 109, in resize#012 util.subp(["growpart", diskdev, partnum])#012 File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 1684, in subp#012 cmd=args)#012cloudinit.util.ProcessExecutionError: Unexpected error while running command.#012Command: ['growpart', '/dev/xvda', '2']#012Exit code: 2#012Reason: -#012Stdout: 'FAILED: disk=/dev/xvda partition=2: failed to repartition\nWarning: The kernel is still using the old partition table.\nThe new table will be used at the next reboot.\nThe operation has completed successfully.\n'#012Stderr: 'failed [pt_update:1] pt_update /dev/xvda 2\npartx: /dev/xvda: error updating partition 2\n***** WARNING: Resize failed, attempting to revert ******\n***** Appears to have gone OK ****\n'
Jul 19 11:51:46 ip-10-118-1-106 [CLOUDINIT] cc_growpart.py[DEBUG]: '/' FAILED: failed to resize: disk=/dev/xvda, ptnum=2: Unexpected error while running command.#012Command: ['growpart', '/dev/xvda', '2']#012Exit code: 2#012Reason: -#012Stdout: 'FAILED: disk=/dev/xvda partition=2: failed to repartition\nWarning: The kernel is still using the old partition table.\nThe new table will be used at the next reboot.\nThe operation has completed successfully.\n'#012Stderr: 'failed [pt_update:1] pt_update /dev/xvda 2\npartx: /dev/xvda: error updating partition 2\n***** WARNING: Resize failed, attempting to revert ******\n***** Appears to have gone OK ****\n'
Jul 19 11:51:46 ip-10-118-1-106 [CLOUDINIT] handlers.py[DEBUG]: finish: init-network/config-growpart: SUCCESS: config-growpart ran successfully
Reply to: