<p dir="ltr">Don't forget DragonFly, which does not end with "BSD".  (And is rcconf)</p>
<div class="gmail_quote">On Aug 30, 2015 12:33 PM, "Brian Coca" <<a href="mailto:briancoca%2Bnycbug@gmail.com">briancoca+nycbug@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
As part of my work on Ansible I wanted to revamp init system detection<br>
and break the current monolithic service plugin into smaller more<br>
targeted ones (systemd, upstart, sysv, etc). Since the BSD support is<br>
important to me (and hopefully others) I wanted to ask the community<br>
how I should break this down.<br>
<br>
What makes more sense? A unified bsdinit plugin that accounts for the<br>
differences on each system or independent plugins? Are There are<br>
enough differences in options that the user interface might become too<br>
complicated?<br>
<br>
99% of my BSD usage has been FreeBSD with some OpenBSD, so I'm not<br>
sure on how much the daemon control systems differ across these and<br>
other BSD distributions.<br>
<br>
The following is my detection code (python).<br>
<br>
Currently I'm using this (which can also just be the fallback):<br>
<br>
        elif  self.facts['system'].endswith('BSD'):<br>
                self.facts['service_mgr'] = 'bsdinit'<br>
<br>
But I was thinking in the lines of this:<br>
<br>
        elif self.facts['system'] == 'FreeBSD':<br>
                self.facts['service_mgr'] = 'rcconf'<br>
        elif self.facts['system'] == 'NetBSD':<br>
                self.facts['service_mgr'] = 'rcd'<br>
        elif self.facts['system'] == 'OpenBSD':<br>
                self.facts['service_mgr'] = 'rcctl'<br>
        elif  self.facts['system'].endswith('BSD'):<br>
                self.facts['service_mgr'] = 'bsdinit'<br>
<br>
<br>
This will also impact on how I break down the current service plugin.<br>
<br>
You can look at the current BSD support starting here:<br>
<a href="https://github.com/ansible/ansible-modules-core/blob/devel/system/service.py#L942" rel="noreferrer" target="_blank">https://github.com/ansible/ansible-modules-core/blob/devel/system/service.py#L942</a><br>
<br>
Any info about other BSD init systems is also welcome.<br>
<br>
<br>
Thanks in advance,<br>
<br>
------------<br>
Brian Coca<br>
<br>
_______________________________________________<br>
talk mailing list<br>
<a href="mailto:talk@lists.nycbug.org">talk@lists.nycbug.org</a><br>
<a href="http://lists.nycbug.org/mailman/listinfo/talk" rel="noreferrer" target="_blank">http://lists.nycbug.org/mailman/listinfo/talk</a><br>
</blockquote></div>