summaryrefslogtreecommitdiff
path: root/cloudinit/sources
diff options
context:
space:
mode:
authorScott Moser <smoser@brickies.net>2017-06-15 16:39:50 -0400
committerScott Moser <smoser@brickies.net>2017-06-15 17:02:01 -0400
commit9ccb8f5e2ab262ee04bb9c103c1302479f7c81d3 (patch)
tree9f3f74137c89ed4a652322bdaf1b71192b57632a /cloudinit/sources
parentea0a534d93544837e44d03e3394233d28c247f7d (diff)
downloadvyos-cloud-init-9ccb8f5e2ab262ee04bb9c103c1302479f7c81d3.tar.gz
vyos-cloud-init-9ccb8f5e2ab262ee04bb9c103c1302479f7c81d3.zip
FreeBSD: fix test failure
The previous commit caused test failure. This separates out _check_freebsd_cdrom and mocks it in a test rather than patching open.
Diffstat (limited to 'cloudinit/sources')
-rw-r--r--cloudinit/sources/DataSourceAzure.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/cloudinit/sources/DataSourceAzure.py b/cloudinit/sources/DataSourceAzure.py
index ebb53d0a..71e7c55c 100644
--- a/cloudinit/sources/DataSourceAzure.py
+++ b/cloudinit/sources/DataSourceAzure.py
@@ -803,18 +803,23 @@ def encrypt_pass(password, salt_id="$6$"):
return crypt.crypt(password, salt_id + util.rand_str(strlen=16))
+def _check_freebsd_cdrom(cdrom_dev):
+ """Return boolean indicating path to cdrom device has content."""
+ try:
+ with open(cdrom_dev) as fp:
+ fp.read(1024)
+ return True
+ except IOError:
+ LOG.debug("cdrom (%s) is not configured", cdrom_dev)
+ return False
+
+
def list_possible_azure_ds_devs():
devlist = []
if util.is_FreeBSD():
- # add '/dev/cd0' to devlist if it is configured
- # here wants to test whether '/dev/cd0' is available
cdrom_dev = "/dev/cd0"
- try:
- with open(cdrom_dev) as fp:
- fp.read(1024)
- devlist.append(cdrom_dev)
- except IOError:
- LOG.debug("cdrom (%s) is not configured", cdrom_dev)
+ if _check_freebsd_cdrom(cdrom_dev):
+ return [cdrom_dev]
else:
for fstype in ("iso9660", "udf"):
devlist.extend(util.find_devs_with("TYPE=%s" % fstype))