opscode/chef — pull request #1552 by jordane (2014-06-25 18:42:47+00:00)
Title: use systemd for recent fedora and rhel 7

Although Redhat has largely made chkconfig compatible with systemd, the status function of Chef::Provider::Service::Redhat does not work with newer services, because the only output produced by chkconfig --list is:

```
$ chkconfig --list

Note: This output shows SysV services only and does not include native
systemd services. SysV configuration data might be overridden by native
systemd configuration.

If you want to list systemd services use 'systemctl list-unit-files'.
To see services enabled on particular target use
'systemctl list-dependencies [target]'.

netconsole	0:off	1:off	2:off	3:off	4:off	5:off	6:off
network	0:off	1:off	2:off	3:off	4:off	5:off	6:off
```

This means that either:

* Redhat needs to make chkconfig --list fully compatible (not likely)
* Chef::Provider::Service::Redhat needs to switch to just use chkconfig $service
* RHEL based platforms that use systemd should switch to using Chef::Provider::Service::Systemd

I'm in favor of the latter, because it will simplify usage of systemd on these platforms, and is not dependent on a backwards-compatibility feature that could some day be dropped. According to [Fedora](https://fedoraproject.org/wiki/Systemd#Does_chkconfig_command_work_with_systemd.3F), their version of systemctl also provides backwards compatibility with chkconfig