diff options
author | Gonéri Le Bouder <goneri@lebouder.net> | 2021-12-13 12:31:39 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-13 11:31:39 -0600 |
commit | f4692c5d96323dc635fca26b742199d4c41f88d3 (patch) | |
tree | 374e3ee1032738f11413a57af79644fbd3eb8d40 /cloudinit | |
parent | e9634266ea52bf184727fb0782d5dc35f9ed1468 (diff) | |
download | vyos-cloud-init-f4692c5d96323dc635fca26b742199d4c41f88d3.tar.gz vyos-cloud-init-f4692c5d96323dc635fca26b742199d4c41f88d3.zip |
find_devs_with_openbsd: ensure we return the last entry (#1149)
`sysctl -n hw.disknames` returns a trailing `\n`. We need to clean
this up. In addition, the criteria matching system is a source of
problem because:
- we don't have a way to look up the label of the partition
- we've got situation where an ISO image can be exposed through a virtio
block device.
So we just totally ignore the value of `criteria`. We end-up with a
slightly longer loop of mount-retry. But this way we're sure we don't
miss a configuration disk.
Tested on Kubvirt with the help of Brady Pratt @jbpratt.
Diffstat (limited to 'cloudinit')
-rw-r--r-- | cloudinit/util.py | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/cloudinit/util.py b/cloudinit/util.py index b9c584d1..27821de5 100644 --- a/cloudinit/util.py +++ b/cloudinit/util.py @@ -1211,7 +1211,7 @@ def find_devs_with_openbsd(criteria=None, oformat='device', tag=None, no_cache=False, path=None): out, _err = subp.subp(['sysctl', '-n', 'hw.disknames'], rcs=[0]) devlist = [] - for entry in out.split(','): + for entry in out.rstrip().split(','): if not entry.endswith(':'): # ffs partition with a serial, not a config-drive continue @@ -1220,12 +1220,6 @@ def find_devs_with_openbsd(criteria=None, oformat='device', devlist.append(entry[:-1] + 'a') if not entry.startswith('cd'): devlist.append(entry[:-1] + 'i') - if criteria == "TYPE=iso9660": - devlist = [i for i in devlist if i.startswith('cd')] - elif criteria in ["LABEL=CONFIG-2", "TYPE=vfat"]: - devlist = [i for i in devlist if not i.startswith('cd')] - elif criteria: - LOG.debug("Unexpected criteria: %s", criteria) return ['/dev/' + i for i in devlist] |