[Expired for cloud-init because there has been no activity for 60 days.]
** Changed in: cloud-init
Status: Incomplete => Expired
--
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/1801790
Title:
Crash running custom command on fs_setup
Status in cloud-init:
Expired
Bug description:
Given this cloud-init config:
fs_setup:
- cmd:['/bin/btrfs-manage-raid', 'volumedata', '/media/root-data',
'/dev/sda', '--subvol', 'data:/data']
label: volumedata
filesystem: 'btrfs'
device: '/dev/sda'
Error log:
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT] util.py[DEBUG]:
Writing to /var/lib/cloud/instances/raspberrypi/sem/config_disk_setup - wb:
[420] 24 bytes
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT] helpers.py[DEBUG]:
Running config-disk_setup using lock (<FileLock using file
'/var/lib/cloud/instances/raspberrypi/sem/config_disk_setup'>)
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT]
cc_disk_setup.py[DEBUG]: setting up filesystems: [{'label': 'volumedata',
'filesystem': 'btrfs', 'cmd': ['/bin/btrfs-manage-raid', 'volumedata',
'/media/root-data', '/dev/sda', '--subvol', 'data:/data'], 'device':
'/dev/sda'}, {'label': 'volumedata', 'filesystem': 'btrfs', 'cmd':
['/bin/btrfs-manage-raid', 'volumedata', '/media/root-data', '/dev/sdb'],
'device': '/dev/sdb'}]
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT]
cc_disk_setup.py[DEBUG]: Creating new filesystem.
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT]
cc_disk_setup.py[DEBUG]: Checking /dev/sda against default devices
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT]
cc_disk_setup.py[DEBUG]: Using the raw device to place filesystem volumedata on
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT]
cc_disk_setup.py[DEBUG]: File system type 'btrfs' with label 'volumedata' will
be created on /dev/sda
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT] util.py[DEBUG]:
Creating fs for /dev/sda took 0.003 seconds
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT] util.py[WARNING]:
Failed during filesystem operation
unsupported operand type(s) for %:
'list' and 'dict'
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT] util.py[DEBUG]: Failed
during filesystem operation
unsupported operand type(s) for %:
'list' and 'dict'
Traceback (most recent call last):
File
"/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 155,
in handle
func=mkfs, args=(definition,))
File
"/usr/lib/python3/dist-packages/cloudinit/util.py", line 2181, in log_time
ret = func(*args, **kwargs)
File
"/usr/lib/python3/dist-packages/cloudinit/config/cc_disk_setup.py", line 917,
in mkfs
'device': device,
TypeError: unsupported operand
type(s) for %: 'list' and 'dict'
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT]
cc_disk_setup.py[DEBUG]: Creating new filesystem.
Nov 05 21:12:33 raspi cloud-init[374]: [CLOUDINIT]
cc_disk_setup.py[DEBUG]: Checking /dev/sdb against default devices
Link to the bug in the code:
https://git.launchpad.net/cloud-init/tree/cloudinit/config/cc_disk_setup.py#n952
The problem is because `fs_cmd` is a list, not a string, which is
related to: https://bugs.launchpad.net/cloud-init/+bug/1755965
Also the documentation is not accurate, because the example shows a
string, and actually the type of `cmd` in the code is a list: See
here: https://cloudinit.readthedocs.io/en/latest/topics/examples.html
#disk-setup
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1801790/+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