[Cloud-init-dev] [Merge] ~smoser/cloud-init:feature/freebsd-variant into cloud-init:master

2017-06-15 Thread Chad Smith
The proposal to merge ~smoser/cloud-init:feature/freebsd-variant into 
cloud-init:master has been updated.

Status: Needs review => Approved

For more details, see:
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325760
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:feature/freebsd-variant into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~smoser/cloud-init:feature/freebsd-variant into cloud-init:master

2017-06-15 Thread Chad Smith
+1 on that suggestion

-- 
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325760
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:feature/freebsd-variant into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~smoser/cloud-init:feature/freebsd-variant into cloud-init:master

2017-06-15 Thread Scott Moser
actually, on further thought, lets leve suse out right now.
there is a 'sles' distro (cloudinit/distros/sles.py) but per 
 https://github.com/hpcugent/easybuild/wiki/OS_flavor_name_version
we would see 'suse' as the dist.

not sure what the right change is.

i didn't *change* any behavior here i dont think.
so i'd rather leave it is and just enable the freebsd.

and we can/should fix suse/sles later.

-- 
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325760
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:feature/freebsd-variant into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~smoser/cloud-init:feature/freebsd-variant into cloud-init:master

2017-06-15 Thread Server Team CI bot
Review: Approve continuous-integration

PASSED: Continuous integration, rev:c6af5b9a1648c208c82b3a2704668391abadd8ab
https://jenkins.ubuntu.com/server/job/cloud-init-ci/539/
Executed test runs:
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-amd64/539
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-arm64/539
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-ppc64el/539
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-s390x/539
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=vm-i386/539

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/cloud-init-ci/539/rebuild

-- 
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325760
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:feature/freebsd-variant into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~smoser/cloud-init:feature/freebsd-variant into cloud-init:master

2017-06-15 Thread Scott Moser
The proposal to merge ~smoser/cloud-init:feature/freebsd-variant into 
cloud-init:master has been updated.

Commit Message changed to:

freebsd: Make freebsd a variant, fix unittests and tools/build-on-freebsd.

 - Simplify the logic of 'variant' in util.system_info
   much of the data from
   https://github.com/hpcugent/easybuild/wiki/OS_flavor_name_version
 - fix get_resource_disk_on_freebsd when running on a system without
   an Azure resource disk.
 - fix tools/build-on-freebsd to replace oauth with oauthlib and add
   bash which is a dependency for tests.
 - update a fiew places that were checking for freebsd but not using
   the util.is_FreeBSD()

For more details, see:
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325760
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:feature/freebsd-variant into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~smoser/cloud-init:feature/freebsd-variant into cloud-init:master

2017-06-15 Thread Server Team CI bot
Review: Needs Fixing continuous-integration

FAILED: Continuous integration, rev:2151902fa7a5cba7e420a14f51c851ee06d83d30
https://jenkins.ubuntu.com/server/job/cloud-init-ci/538/
Executed test runs:
FAILURE: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-amd64/538/console
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-arm64/538
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-ppc64el/538
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=metal-s390x/538
SUCCESS: 
https://jenkins.ubuntu.com/server/job/cloud-init-ci/nodes=vm-i386/538

Click here to trigger a rebuild:
https://jenkins.ubuntu.com/server/job/cloud-init-ci/538/rebuild

-- 
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325760
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:feature/freebsd-variant into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


Re: [Cloud-init-dev] [Merge] ~smoser/cloud-init:feature/freebsd-variant into cloud-init:master

2017-06-15 Thread Scott Moser
this replaces some of the changes from
 https://code.launchpad.net/~redriver/cloud-init/+git/cloud-init/+merge/325718

-- 
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325760
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:feature/freebsd-variant into cloud-init:master.

___
Mailing list: https://launchpad.net/~cloud-init-dev
Post to : cloud-init-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~cloud-init-dev
More help   : https://help.launchpad.net/ListHelp


[Cloud-init-dev] [Merge] ~smoser/cloud-init:feature/freebsd-variant into cloud-init:master

2017-06-15 Thread Scott Moser
Scott Moser has proposed merging ~smoser/cloud-init:feature/freebsd-variant 
into cloud-init:master.

Commit message:
fixes for freebsd

Requested reviews:
  cloud-init commiters (cloud-init-dev)

For more details, see:
https://code.launchpad.net/~smoser/cloud-init/+git/cloud-init/+merge/325760
-- 
Your team cloud-init commiters is requested to review the proposed merge of 
~smoser/cloud-init:feature/freebsd-variant into cloud-init:master.
diff --git a/cloudinit/config/cc_growpart.py b/cloudinit/config/cc_growpart.py
index d2bc6e6..bafca9d 100644
--- a/cloudinit/config/cc_growpart.py
+++ b/cloudinit/config/cc_growpart.py
@@ -214,7 +214,7 @@ def device_part_info(devpath):
 
 # FreeBSD doesn't know of sysfs so just get everything we need from
 # the device, like /dev/vtbd0p2.
-if util.system_info()["platform"].startswith('FreeBSD'):
+if util.is_FreeBSD():
 m = re.search('^(/dev/.+)p([0-9])$', devpath)
 return (m.group(1), m.group(2))
 
diff --git a/cloudinit/config/cc_power_state_change.py b/cloudinit/config/cc_power_state_change.py
index c1c6fe7..eba58b0 100644
--- a/cloudinit/config/cc_power_state_change.py
+++ b/cloudinit/config/cc_power_state_change.py
@@ -71,7 +71,7 @@ def givecmdline(pid):
 # Example output from procstat -c 1
 #   PID COMM ARGS
 # 1 init /bin/init --
-if util.system_info()["platform"].startswith('FreeBSD'):
+if util.is_FreeBSD():
 (output, _err) = util.subp(['procstat', '-c', str(pid)])
 line = output.splitlines()[1]
 m = re.search('\d+ (\w|\.|-)+\s+(/\w.+)', line)
diff --git a/cloudinit/sources/DataSourceAzure.py b/cloudinit/sources/DataSourceAzure.py
index a0b9eae..9c5ce59 100644
--- a/cloudinit/sources/DataSourceAzure.py
+++ b/cloudinit/sources/DataSourceAzure.py
@@ -101,7 +101,7 @@ def get_dev_storvsc_sysctl():
 sysctl_out, err = util.subp(['sysctl', 'dev.storvsc'])
 except util.ProcessExecutionError:
 LOG.debug("Fail to execute sysctl dev.storvsc")
-return None
+sysctl_out = ""
 return sysctl_out
 
 
diff --git a/cloudinit/util.py b/cloudinit/util.py
index 415ca37..6f2b38c 100644
--- a/cloudinit/util.py
+++ b/cloudinit/util.py
@@ -573,7 +573,7 @@ def is_ipv4(instr):
 
 
 def is_FreeBSD():
-return system_info()['platform'].startswith('FreeBSD')
+return system_info()['variant'] == "freebsd"
 
 
 def get_cfg_option_bool(yobj, key, default=False):
@@ -598,37 +598,29 @@ def get_cfg_option_int(yobj, key, default=0):
 def system_info():
 info = {
 'platform': platform.platform(),
+'system': platform.system(),
 'release': platform.release(),
 'python': platform.python_version(),
 'uname': platform.uname(),
-'dist': platform.linux_distribution(),  # pylint: disable=W1505
+'dist': platform.dist(),
 }
-plat = info['platform'].lower()
-# Try to get more info about what it actually is, in a format
-# that we can easily use across linux and variants...
-if plat.startswith('darwin'):
-info['variant'] = 'darwin'
-elif plat.endswith("bsd"):
-info['variant'] = 'bsd'
-elif plat.startswith('win'):
-info['variant'] = 'windows'
-elif 'linux' in plat:
-# Try to get a single string out of these...
-linux_dist, _version, _id = info['dist']
-linux_dist = linux_dist.lower()
-if linux_dist in ('ubuntu', 'linuxmint', 'mint'):
-info['variant'] = 'ubuntu'
+system = info['system'].lower()
+var = 'unknown'
+if system == "linux":
+linux_dist = info['dist'][0].lower()
+if linux_dist in ('centos', 'fedora', 'debian'):
+var = linux_dist
+elif linux_dist in ('ubuntu', 'linuxmint', 'mint'):
+var = 'ubuntu'
+elif linux_dist == 'redhat':
+var = 'rhel'
 else:
-for prefix, variant in [('redhat', 'rhel'),
-('centos', 'centos'),
-('fedora', 'fedora'),
-('debian', 'debian')]:
-if linux_dist.startswith(prefix):
-info['variant'] = variant
-if 'variant' not in info:
-info['variant'] = 'linux'
-if 'variant' not in info:
-info['variant'] = 'unknown'
+var = 'linux'
+elif system in ('windows', 'darwin', "freebsd"):
+var = system
+
+info['variant'] = var
+
 return info
 
 
diff --git a/config/cloud.cfg.tmpl b/config/cloud.cfg.tmpl
index 5af2a88..f4b9069 100644
--- a/config/cloud.cfg.tmpl
+++ b/config/cloud.cfg.tmpl
@@ -2,7 +2,7 @@
 # The top level settings are used as module
 # and system configuration.
 
-{% if variant in ["bsd"] %}
+{% if variant in ["freebsd"] %}
 syslog_fix_perms: root:wheel
 {% endif %}
 # A set of users which may be applied and/or used by various modules
@@ -13,7 +13,7