diff options
| author | Adam Dobrawy <ad-m@users.noreply.github.com> | 2020-06-29 19:52:13 +0200 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-29 13:52:13 -0400 | 
| commit | baf11418c196ca72e6d570b64051d8ed35065abb (patch) | |
| tree | 6712b7ed758620dbfe8d9cb2e567f4cbe0ec92f2 /cloudinit/sources/DataSourceRbxCloud.py | |
| parent | b0eba6a4c3a25a13259c01ac4c9a35720fecfdd2 (diff) | |
| download | vyos-cloud-init-baf11418c196ca72e6d570b64051d8ed35065abb.tar.gz vyos-cloud-init-baf11418c196ca72e6d570b64051d8ed35065abb.zip | |
RbxCloud: Add support for FreeBSD (#464)
Changes are made that simplify code and aim to properly support FreeBSD:
- use `util.find_devs_with` instead call directly `blkid`, because on FreeBSD is not supported well and `util.find_devs_with` have solution for FreeBSD for that
- introduction of an additional name on FAT file system, which is used in FreeBSD
- drop shell to use default value, because FreeBSD – by default – does not have `/bin/bash`
Diffstat (limited to 'cloudinit/sources/DataSourceRbxCloud.py')
| -rw-r--r-- | cloudinit/sources/DataSourceRbxCloud.py | 14 | 
1 files changed, 6 insertions, 8 deletions
| diff --git a/cloudinit/sources/DataSourceRbxCloud.py b/cloudinit/sources/DataSourceRbxCloud.py index 38fb5421..e064c8d6 100644 --- a/cloudinit/sources/DataSourceRbxCloud.py +++ b/cloudinit/sources/DataSourceRbxCloud.py @@ -44,7 +44,7 @@ def int2ip(addr):  def _sub_arp(cmd):      """ -    Uses the prefered cloud-init subprocess def of subp.subp +    Uses the preferred cloud-init subprocess def of subp.subp      and runs arping.  Breaking this to a separate function      for later use in mocking and unittests      """ @@ -72,17 +72,16 @@ def gratuitous_arp(items, distro):  def get_md():      rbx_data = None -    devices = [ -        dev -        for dev, bdata in util.blkid().items() -        if bdata.get('LABEL', '').upper() == 'CLOUDMD' -    ] +    devices = set( +        util.find_devs_with('LABEL=CLOUDMD') + +        util.find_devs_with('LABEL=cloudmd') +    )      for device in devices:          try:              rbx_data = util.mount_cb(                  device=device,                  callback=read_user_data_callback, -                mtype=['vfat', 'fat'] +                mtype=['vfat', 'fat', 'msdosfs']              )              if rbx_data:                  break @@ -190,7 +189,6 @@ def read_user_data_callback(mount_dir):                      'passwd': hash,                      'lock_passwd': False,                      'ssh_authorized_keys': ssh_keys, -                    'shell': '/bin/bash'                  }              },              'network_config': network, | 
