On some systems (virtual machines so far) the device-by-path entry
from udevadm is not always in the same spot so instead actually
look for the right output instead of blindy assuming that its a
specific field in the output.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Reviewed-by: Gary Lowell <gary.lowell@inktank.com>
'--name={name}'.format(name=os.path.basename(journal)),
],
)
- journal_symlink = '/dev/{symlink}-part{num}'.format(symlink=str(symlinks).split()[2], num=num)
+ journal_symlink = None
+ for udev_line in symlinks.split():
+ if 'by-path' in udev_line:
+ journal_symlink = '/dev/{symlink}-part{num}'.format(symlink=str(udev_line), num=num)
+ break
+ if not journal_symlink:
+ raise Error('Unable to get device by path from udev')
journal_dmcrypt = None
if journal_dm_keypath: