← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1907080] [NEW] fs_setup doesn't work with additional disk on Ubuntu 20

 

Public bug reported:

This bug happens on Ubuntu 20 but not on Ubuntu 18.
It looks like the additional device is created later in the process and that's why cloud-init is unable to perform his tasks.

1.
AWS

2.
fs_setup:
  - label: var_lib_prometheus
    filesystem: ext4
    device: /dev/nvme1n1
    partition: auto
mounts:
- [ /dev/nvme1n1, /var/lib/prometheus ]

3.
2020-12-07 09:26:03,469 - cc_disk_setup.py[DEBUG]: setting up filesystems: [{​'device': '/dev/nvme1n1', 'filesystem': 'ext4', 'label': 'var_lib_prometheus', 'partition': 'auto'}​]
2020-12-07 09:26:03,469 - DataSourceEc2.py[DEBUG]: Unable to convert /dev/nvme1n1 to a device
2020-12-07 09:26:03,469 - cc_disk_setup.py[DEBUG]: Creating new filesystem.
2020-12-07 09:26:03,469 - subp.py[DEBUG]: Running command ['udevadm', 'settle'] with allowed return codes [0] (shell=False, capture=True)
2020-12-07 09:26:03,481 - util.py[DEBUG]: Creating fs for /dev/nvme1n1 took 0.012 seconds
2020-12-07 09:26:03,482 - util.py[WARNING]: Failed during filesystem operation
Device /dev/nvme1n1 did not exist and was not created with a udevadm settle.
2020-12-07 09:26:03,482 - util.py[DEBUG]: Failed during filesystem operation
Device /dev/nvme1n1 did not exist and was not created with a udevadm settle.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 157, in handle
    util.log_time(logfunc=LOG.debug,
  File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 2292, in log_time
    ret = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 883, in mkfs
    assert_and_settle_device(device)
  File "/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 756, in assert_and_settle_device
    raise RuntimeError("Device %s did not exist and was not created "
RuntimeError: Device /dev/nvme1n1 did not exist and was not created with a udevadm settle.

** Affects: cloud-init
     Importance: Undecided
         Status: New

** Summary changed:

- fs_setup doesn't work with additional on Ubuntu 20 
+ fs_setup doesn't work with additional disk on Ubuntu 20

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1907080

Title:
  fs_setup doesn't work with additional disk on Ubuntu 20

Status in cloud-init:
  New

Bug description:
  This bug happens on Ubuntu 20 but not on Ubuntu 18.
  It looks like the additional device is created later in the process and that's why cloud-init is unable to perform his tasks.

  1.
  AWS

  2.
  fs_setup:
    - label: var_lib_prometheus
      filesystem: ext4
      device: /dev/nvme1n1
      partition: auto
  mounts:
  - [ /dev/nvme1n1, /var/lib/prometheus ]

  3.
  2020-12-07 09:26:03,469 - cc_disk_setup.py[DEBUG]: setting up filesystems: [{​'device': '/dev/nvme1n1', 'filesystem': 'ext4', 'label': 'var_lib_prometheus', 'partition': 'auto'}​]
  2020-12-07 09:26:03,469 - DataSourceEc2.py[DEBUG]: Unable to convert /dev/nvme1n1 to a device
  2020-12-07 09:26:03,469 - cc_disk_setup.py[DEBUG]: Creating new filesystem.
  2020-12-07 09:26:03,469 - subp.py[DEBUG]: Running command ['udevadm', 'settle'] with allowed return codes [0] (shell=False, capture=True)
  2020-12-07 09:26:03,481 - util.py[DEBUG]: Creating fs for /dev/nvme1n1 took 0.012 seconds
  2020-12-07 09:26:03,482 - util.py[WARNING]: Failed during filesystem operation
  Device /dev/nvme1n1 did not exist and was not created with a udevadm settle.
  2020-12-07 09:26:03,482 - util.py[DEBUG]: Failed during filesystem operation
  Device /dev/nvme1n1 did not exist and was not created with a udevadm settle.
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 157, in handle
      util.log_time(logfunc=LOG.debug,
    File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 2292, in log_time
      ret = func(*args, **kwargs)
    File "/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 883, in mkfs
      assert_and_settle_device(device)
    File "/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 756, in assert_and_settle_device
      raise RuntimeError("Device %s did not exist and was not created "
  RuntimeError: Device /dev/nvme1n1 did not exist and was not created with a udevadm settle.

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