Subiquity installer fails on cleaning multipath device (timeout)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu on IBM z Systems |
Fix Released
|
Critical
|
Unassigned | ||
subiquity |
Fix Released
|
Undecided
|
Unassigned | ||
curtin (Ubuntu) |
Fix Released
|
Critical
|
Unassigned |
Bug Description
The issue described here has a relationship to LP 1857042 "curtin mishandles removing dm-multipath partition removal" - after testing a fix for 1857042, subiquity fails in one of the next steps at 'cleaning' / wiping the device.
A snippet from the logs show the following:
Checking if /dev/dm-0 is a swap device
Found swap magic: b'\x00\
Running command ['multipath', '-c', '/dev/dm-0'] with allowed return codes [0] (capture=True)
wiping superblock on /dev/dm-0
wiping /dev/dm-0 attempt 1/4
wiping 1M on /dev/dm-0 at offsets [0, -1048576]
Running command ['udevadm', 'info', '--query=property', '/dev/dm-0'] with allowed return codes [0] (capture=True)
Running command ['udevadm', 'info', '--query=property', '/dev/dm-0'] with allowed return codes [0] (capture=True)
Running command ['multipathd', 'show', 'maps', 'raw', 'format', "name=%n multipath='%w' sysfs='%d' paths='%N'"] with allowed return codes [0] (capture=True)
Extracted multipath maps fields: {'name': 'mpatha', 'multipath': '36005076306ffd
multipath: removing multipath map: mpatha
Running command ['multipath', '-f', 'mpatha'] with allowed return codes [0, 1] (capture=False)
Jan 23 14:16:55 | mpatha: map in use
Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
TIMED udevadm_settle(): 0.035
Running command ['multipath', '-f', 'mpatha'] with allowed return codes [0, 1] (capture=False)
Jan 23 14:16:55 | failed to remove multipath map mpatha
Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
TIMED udevadm_settle(): 0.077
Running command ['multipath', '-f', 'mpatha'] with allowed return codes [0, 1] (capture=False)
Jan 23 14:16:55 | failed to remove multipath map mpatha
Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
TIMED udevadm_settle(): 0.006
Running command ['multipath', '-f', 'mpatha'] with allowed return codes [0, 1] (capture=False)
Jan 23 14:16:55 | failed to remove multipath map mpatha
Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
TIMED udevadm_settle(): 0.024
Running command ['multipath', '-f', 'mpatha'] with allowed return codes [0, 1] (capture=False)
Jan 23 14:16:55 | failed to remove multipath map mpatha
Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
TIMED udevadm_settle(): 0.023
Running command ['multipath', '-f', 'mpatha'] with allowed return codes [0, 1] (capture=False)
Jan 23 14:16:55 | failed to remove multipath map mpatha
Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
TIMED udevadm_settle(): 0.023
Running command ['multipath', '-f', 'mpatha'] with allowed return codes [0, 1] (capture=False)
Jan 23 14:16:55 | failed to remove multipath map mpatha
Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
TIMED udevadm_settle(): 0.023
Running command ['multipath', '-f', 'mpatha'] with allowed return codes [0, 1] (capture=False)
Jan 23 14:16:56 | failed to remove multipath map mpatha
Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
TIMED udevadm_settle(): 0.016
Running command ['multipath', '-f', 'mpatha'] with allowed return codes [0, 1] (capture=False)
Jan 23 14:16:56 | failed to remove multipath map mpatha
Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
TIMED udevadm_settle(): 0.015
Running command ['multipath', '-f', 'mpatha'] with allowed return codes [0, 1] (capture=False)
Jan 23 14:16:56 | failed to remove multipath map mpatha
Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
TIMED udevadm_settle(): 0.013
waiting for /dev/mapper/mpatha to be removed
sleeping 1
sleeping 3
sleeping 5
sleeping 7
finish: cmd-install/
TIMED BLOCK_META: 19.016
finish: cmd-install/
Traceback (most recent call last):
File "/snap/
ret = args.func(args)
File "/snap/
return log_time("TIMED %s: " % msg, func, *args, **kwargs)
File "/snap/
return func(*args, **kwargs)
File "/snap/
File "/snap/
File "/snap/
File "/snap/
File "/snap/
File "/snap/
raise OSError('Timeout exceeded for removal of %s', path)
OSError: [Errno Timeout exceeded for removal of %s] /dev/mapper/mpatha
[Errno Timeout exceeded for removal of %s] /dev/mapper/mpatha
Also trying to wipe/clean the device manually from the shell does not (always) succeed, since the device is reported to be in use, but lsof does not show any candidates:
root@ubuntu-
DEVICE OFFSET TYPE UUID LABEL
mpatha 0x200 gpt
mpatha 0xffffffe00 gpt
mpatha 0x1fe PMBR
root@ubuntu-
wipefs: error: /dev/mapper/mpatha: probing initialization failed: Device or reso
urce busy
root@ubuntu-
root@ubuntu-
mpatha (36005076306ffd
size=64G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy=
|- 0:0:1:1073889318 sdb 8:16 active ready running
|- 0:0:0:1073889318 sda 8:0 active ready running
|- 1:0:0:1073889318 sdc 8:32 active ready running
`- 1:0:1:1073889318 sdd 8:48 active ready running
root@ubuntu-
root@ubuntu-
root@ubuntu-
root@ubuntu-
root@ubuntu-
DEVICE OFFSET TYPE UUID LABEL
mpatha 0x200 gpt
mpatha 0xffffffe00 gpt
mpatha 0x1fe PMBR
root@ubuntu-
wipefs: error: /dev/mapper/mpatha: probing initialization failed: Device or reso
urce busy
root@ubuntu-
Changed in ubuntu-z-systems: | |
status: | New → Fix Committed |
logs from another try