[Cloud-init-dev] [Merge] ~smoser/cloud-init:feature/freebsd-variant into cloud-init:master
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
+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
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
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
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
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
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
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