summaryrefslogtreecommitdiff
path: root/cloudinit/sources
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit/sources')
-rw-r--r--cloudinit/sources/DataSourceConfigDrive.py8
-rw-r--r--cloudinit/sources/DataSourceNoCloud.py8
2 files changed, 12 insertions, 4 deletions
diff --git a/cloudinit/sources/DataSourceConfigDrive.py b/cloudinit/sources/DataSourceConfigDrive.py
index f77923c2..dee8cde4 100644
--- a/cloudinit/sources/DataSourceConfigDrive.py
+++ b/cloudinit/sources/DataSourceConfigDrive.py
@@ -71,11 +71,11 @@ class DataSourceConfigDrive(openstack.SourceMixin, sources.DataSource):
if not found:
dslist = self.sys_cfg.get('datasource_list')
for dev in find_candidate_devs(dslist=dslist):
- try:
- if util.is_FreeBSD() and dev.startswith("/dev/cd"):
+ mtype = None
+ if (util.is_FreeBSD() or util.is_NetBSD()):
+ if dev.startswith("/dev/cd"):
mtype = "cd9660"
- else:
- mtype = None
+ try:
results = util.mount_cb(dev, read_config_drive,
mtype=mtype)
found = dev
diff --git a/cloudinit/sources/DataSourceNoCloud.py b/cloudinit/sources/DataSourceNoCloud.py
index ee748b41..2a44128d 100644
--- a/cloudinit/sources/DataSourceNoCloud.py
+++ b/cloudinit/sources/DataSourceNoCloud.py
@@ -40,6 +40,14 @@ class DataSourceNoCloud(sources.DataSource):
devlist = [
p for p in ['/dev/msdosfs/' + label, '/dev/iso9660/' + label]
if os.path.exists(p)]
+ elif util.is_NetBSD():
+ out, _err = util.subp(['sysctl', '-n', 'hw.disknames'], rcs=[0])
+ devlist = []
+ for dev in out.split():
+ mscdlabel_out, _ = util.subp(['mscdlabel', dev], rcs=[0, 1])
+ if ('label "%s"' % label) in mscdlabel_out:
+ devlist.append('/dev/' + dev)
+ devlist.append('/dev/' + dev + 'a') # NetBSD 7
else:
# Query optical drive to get it in blkid cache for 2.6 kernels
util.find_devs_with(path="/dev/sr0")