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

Reply via email to