I launched an instance that had an older util-linux (2.28-5ubuntu2).
cp /sbin/sfdisk /sbin/sfdisk.old
mkdir /tmp/bin
ln -s /sbin/sfdisk.old /tmp/bin
sudo apt-get install util-linux

Then, i can see failure with the 'test-growpart' script at [1]
 sudo ./test-growpart
but this works as expected
 sudo PATH=/tmp/bin:$PATH ./test-growpart

So something in util-linux definitely changed behavior and broke this.
I suspect this is common code to the kpartx failure in bug 1618525.

[1] http://bazaar.launchpad.net/~cloud-utils-dev/cloud-
utils/trunk/view/head:/test/test-growpart

** Also affects: util-linux (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: util-linux (Ubuntu)
       Status: New => Confirmed

** Changed in: util-linux (Ubuntu)
   Importance: Undecided => Critical

** Description changed:

  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
  
- Thank you
+ Related bugs:
+  * bug 1618525:  Failure to remove kernel partition mappings in yakkety 
(2.28.1-1ubuntu1)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1619285

Title:
  cc_growpart fails on yakkety

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1619285/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to