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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to