← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1524031] Re: attempting to preserve disk curtin expects PTTYPE in blkid output

 

** Changed in: curtin (Ubuntu)
       Status: New => Fix Released

** Changed in: curtin (Ubuntu Xenial)
       Status: New => Fix Committed

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1524031

Title:
  attempting to preserve disk curtin expects PTTYPE in blkid output

Status in curtin:
  Fix Committed
Status in curtin package in Ubuntu:
  Fix Released
Status in curtin source package in Xenial:
  Fix Committed

Bug description:
  [Impact]

   * On a Trusty host, if users enable storage disk preserve feature,
     the use of blkid expects PTTYPE value in the output, however, this is
     not present in Trusty blkid output.  This prevents Trusty hosts from
     preserving existing partitions.

     Curtin has been updated to fallback to using parted to determine how to
     preserve existing partitions on disks when directed.
     
  [Test Case]

   * Install proposed curtin package and deploy in a Trusty ephemeral
     environment with the following storage configuration:

     storage:
      version: 1
      config:
        - id: vdg
          model: Unknown Model
          preserve: true
          ptable: gpt
          serial: 64bddb21-61f3-4869-8
          type: disk
          wipe: superblock

    PASS: Successfully deploy image while preserving the original partition
          table.

    FAIL: Deployment fails with the following error:

  	line 530, in disk_handler
  		out.splitlines()))[0].split("=")[-1]
  	IndexError: list index out of range
  	list index out of range

  
  [Regression Potential]

   * No known other failures when using parted as replacement for blkid
     partition data.


  [Original Description]
  On a trusty host, this storage configuration breaks:

  storage:
    version: 1
    config:
      - id: vdg
        model: Unknown Model
        preserve: true
        ptable: gpt
        serial: 64bddb21-61f3-4869-8
        type: disk
        wipe: superblock

  like this:

  Running command ['partprobe', '/dev/vdg'] with allowed return codes [0, 1] (shell=False, capture=False)
  Running command ['udevadm', 'settle'] with allowed return codes [0] (shell=False, capture=False)
  Running command ['blkid', '-o', 'export', '/dev/vdg'] with allowed return codes [0] (shell=False, capture=True)
  An error occured handling 'vdg': IndexError - list index out of range
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/curtin/commands/main.py", line 208, in main
      ret = args.func(args)
    File "/usr/lib/python3/dist-packages/curtin/commands/block_meta.py", line 63, in block_meta
      meta_custom(args)
    File "/usr/lib/python3/dist-packages/curtin/commands/block_meta.py", line 1208, in meta_custom
      handler(command, storage_config_dict)
    File "/usr/lib/python3/dist-packages/curtin/commands/block_meta.py", line 530, in disk_handler
      out.splitlines()))[0].split("=")[-1]
  IndexError: list index out of range
  list index out of range

  From this code here:

          # Check state of current ptable
          try:
              (out, _err) = util.subp(["blkid", "-o", "export", disk],
                                      capture=True)
          except util.ProcessExecutionError:
              raise ValueError("disk '%s' has no readable partition table or \
                  cannot be accessed, but preserve is set to true, so cannot \
                  continue")
          current_ptable = list(filter(lambda x: "PTTYPE" in x,
                                       out.splitlines()))[0].split("=")[-1]

  And the output of blkid -o export /dev/vdg on trusty instance is:

  # blkid -o export /dev/vdg
  UUID=ef30955b-8aa0-453f-a37d-d631a09a6f7c
  UUID_SUB=9a21ae23-6f14-405d-9e9a-8955855132d5
  TYPE=btrfs

To manage notifications about this bug go to:
https://bugs.launchpad.net/curtin/+bug/1524031/+subscriptions