Martin, I uploaded just the workaround. As shown in that commit message, the exit values are not reliable. Long ago I'd added the workaround, so the change here was really just to extend the list of possible output messages to scrape for.
Not great, but will work. I also added a autopackage test, so something like this will hopefully be caught next time. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to util-linux in Ubuntu. https://bugs.launchpad.net/bugs/1619285 Title: cc_growpart fails on yakkety Status in cloud-utils: Fix Committed Status in cloud-init package in Ubuntu: Confirmed Status in cloud-utils package in Ubuntu: Confirmed Status in util-linux package in Ubuntu: Confirmed Bug description: Hi, cc_growpart fails on ppc64el, with the following messages : Sep 1 12:06:58 ubuntu [CLOUDINIT] util.py[DEBUG]: Running command ['growpart', '--dry-run', '/dev/vda', '1'] with allowed return codes [0] (shell=False, capture=True) Sep 1 12:06:58 ubuntu [CLOUDINIT] util.py[DEBUG]: Running command ['growpart', '/dev/vda', '1'] with allowed return codes [0] (shell=False, capture=True) Sep 1 12:06:58 ubuntu [CLOUDINIT] util.py[WARNING]: Failed: growpart /dev/vda 1 Sep 1 12:06:58 ubuntu [CLOUDINIT] util.py[DEBUG]: Failed: growpart /dev/vda 1#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 1832, in subp#012 cmd=args)#012cloudinit.util.ProcessExecutionError: Unexpected error while running command.#012Command: ['growpart', '/dev/vda', '1']#012Exit code: 2#012Reason: -#012Stdout: 'FAILED: failed to resize\n'#012Stderr: "attempt to resize /dev/vda failed. sfdisk output below:\n| GPT PMBR size mismatch (4612095 != 41943039) will be corrected by w(rite).\n| Backup files:\n| PMBR (offset 0, size 512): /tmp/growpart.wr7bvu/orig.save-vda-0x00000000.bak\n| GPT Header (offset 512, size 512): /tmp/growpart.wr7bvu/orig.save-vda-0x00000200.bak\n| GPT Entries (offset 1024, size 16384): /tmp/growpart.wr7bvu/orig.save-vda-0x00000400.bak \n| \n| Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors\n| Units: sectors of 1 * 512 = 512 bytes\n| Sector size (logical/physical): 512 bytes / 512 bytes\n| I/O size (minimum/optimal): 512 bytes / 512 bytes\n| Disklabel type: gpt\n| Disk identifier: 5AF0CCE2-DDF5-4419-B991-213EE1F1B873\n| \n| Old situation:\n| \n| Device Start End Sectors Size Type\n| /dev/vda1 18432 4612062 4593631 2.2G Linux filesystem\n| /dev/vda2 2048 18431 16384 8M PowerPC PReP boot\n| \n| Partition table entries are not in disk order.\n| \n| >>> Script header accepted.\n| >>> Script header accepted.\n| >>> Script header accepted.\n| >>> Script header accepted.\n| >>> Script header accepted.\n| >>> Created a new GPT disklabel (GUID: 5AF0CCE2-DDF5-4419-B991-213EE1F1B873).\n| Created a new partition 1 of type 'Linux filesystem' and of size 20 GiB.\n| /dev/vda2: Created a new partition 2 of type 'PowerPC PReP boot' and of size 8 MiB.\n| /dev/vda3: \n| New situation:\n| \n| Device Start End Sectors Size Type\n| /dev/vda1 18432 41943006 41924575 20G Linux filesystem\n| /dev/vda2 2048 18431 16384 8M PowerPC PReP boot\n| \n| Partition table entries are not in disk order.\n| \n| The partition table has been altered.\n| Calling ioctl() to re-read partition table.\n| Re-reading the partition table failed.: Device or resource busy\n| The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).\n***** WARNING: Resize failed, attempting to revert ******\n512+0 records in\n512+0 records out\n512 bytes copied, 0.000671621 s, 762 kB/s\n512+0 records in\n512+0 records out\n512 bytes copied, 0.00148717 s, 344 kB/s\n16384+0 records in\n16384+0 records out\n16384 bytes (16 kB, 16 KiB) copied, 0.0370011 s, 443 kB/s\n***** Appears to have gone OK ****\n" Sep 1 12:06:58 ubuntu [CLOUDINIT] util.py[DEBUG]: resize_devices took 0.729 seconds Running this command once the system is booted up appears to give the same output : ubuntu@axino-test:~$ sudo growpart /dev/vda 1 attempt to resize /dev/vda failed. sfdisk output below: | GPT PMBR size mismatch (4612095 != 41943039) will be corrected by w(rite). | Backup files: | PMBR (offset 0, size 512): /tmp/growpart.Je0SXE/orig.save-vda-0x00000000.bak | GPT Header (offset 512, size 512): /tmp/growpart.Je0SXE/orig.save-vda-0x00000200.bak | GPT Entries (offset 1024, size 16384): /tmp/growpart.Je0SXE/orig.save-vda-0x00000400.bak | | Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors | Units: sectors of 1 * 512 = 512 bytes | Sector size (logical/physical): 512 bytes / 512 bytes | I/O size (minimum/optimal): 512 bytes / 512 bytes | Disklabel type: gpt | Disk identifier: 5AF0CCE2-DDF5-4419-B991-213EE1F1B873 | | Old situation: | | Device Start End Sectors Size Type | /dev/vda1 18432 4612062 4593631 2.2G Linux filesystem | /dev/vda2 2048 18431 16384 8M PowerPC PReP boot | | Partition table entries are not in disk order. | | >>> Script header accepted. | >>> Script header accepted. | >>> Script header accepted. | >>> Script header accepted. | >>> Script header accepted. | >>> Created a new GPT disklabel (GUID: 5AF0CCE2-DDF5-4419-B991-213EE1F1B873). | Created a new partition 1 of type 'Linux filesystem' and of size 20 GiB. | /dev/vda2: Created a new partition 2 of type 'PowerPC PReP boot' and of size 8 MiB. | /dev/vda3: | New situation: | | Device Start End Sectors Size Type | /dev/vda1 18432 41943006 41924575 20G Linux filesystem | /dev/vda2 2048 18431 16384 8M PowerPC PReP boot | | Partition table entries are not in disk order. | | The partition table has been altered. | Calling ioctl() to re-read partition table. | Re-reading the partition table failed.: Device or resource busy | The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8). FAILED: failed to resize ***** WARNING: Resize failed, attempting to revert ****** 512+0 records in 512+0 records out 512 bytes copied, 0.00204201 s, 251 kB/s 512+0 records in 512+0 records out 512 bytes copied, 0.00512669 s, 99.9 kB/s 16384+0 records in 16384+0 records out 16384 bytes (16 kB, 16 KiB) copied, 0.0369471 s, 443 kB/s ***** Appears to have gone OK **** Apparently this only affects yakkety. ii cloud-guest-utils 0.29-0ubuntu2 all cloud guest utilities ii cloud-init 0.7.7-22-g763f403-0ubun all Init scripts for cloud instances ii util-linux 2.28.1-1ubuntu1 ppc64el miscellaneous system utilities Thank you Related bugs: * bug 1618525: Failure to remove kernel partition mappings in yakkety (2.28.1-1ubuntu1) To manage notifications about this bug go to: https://bugs.launchpad.net/cloud-utils/+bug/1619285/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp