[Bug 1619285] Re: cc_growpart fails on yakkety

Scott Moser smoser at ubuntu.com
Thu Sep 1 20:19:34 UTC 2016


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
Foundations Bugs, 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 at 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



More information about the foundations-bugs mailing list