summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Keiser <john@johnkeiser.com>2015-05-06 16:28:18 -0700
committerJohn Keiser <john@johnkeiser.com>2015-05-07 17:42:50 -0700
commit486f2d1a56b2ff73f9f60ed37ce032e19ef804d6 (patch)
tree6fe337f6a28e8830e2320ffe3213c86d0b95c357
parentc74c430cb6f96cbd5f191224ffb4f262c3c04e63 (diff)
downloadchef-486f2d1a56b2ff73f9f60ed37ce032e19ef804d6.tar.gz
DRY the service priorities a bit
-rw-r--r--lib/chef/provider/service.rb126
1 files changed, 52 insertions, 74 deletions
diff --git a/lib/chef/provider/service.rb b/lib/chef/provider/service.rb
index 4cd7f335dd..8af04ec39f 100644
--- a/lib/chef/provider/service.rb
+++ b/lib/chef/provider/service.rb
@@ -168,80 +168,58 @@ class Chef
@new_resource.respond_to?(method_name) &&
!!@new_resource.send(method_name)
end
+
+ #
+ # Platform-specific versions
+ #
+
+ #
+ # Linux
+ #
+
+ require 'chef/chef_class'
+ require 'chef/provider/service/systemd'
+ require 'chef/provider/service/insserv'
+ require 'chef/provider/service/redhat'
+ require 'chef/provider/service/arch'
+ require 'chef/provider/service/gentoo'
+ require 'chef/provider/service/upstart'
+ require 'chef/provider/service/debian'
+ require 'chef/provider/service/invokercd'
+ require 'chef/provider/service/freebsd'
+ require 'chef/provider/service/openbsd'
+ require 'chef/provider/service/solaris'
+ require 'chef/provider/service/macosx'
+
+ # default block for linux O/Sen must come before platform_family exceptions
+ # so that they take precedence
+ Chef.set_provider_priority_array :service, [ Systemd, Insserv, Redhat ],
+ os: "linux"
+
+ Chef.set_provider_priority_array :service, [ Systemd, Arch ],
+ platform_family: "arch"
+ Chef.set_provider_priority_array :service, [ Systemd, Gentoo ],
+ platform_family: "gentoo"
+ # we can determine what systemd supports accurately
+ # on debian-ish system if an upstart script exists that must win over sysv types
+ Chef.set_provider_priority_array :service, [ Systemd, Upstart, Insserv, Debian, Invokercd ],
+ platform_family: "debian"
+ Chef.set_provider_priority_array :service, [ Systemd, Insserv, Redhat ],
+ platform_family: %w(rhel fedora suse)
+
+ # BSDen
+ Chef.set_provider_priority_array :service, Freebsd,
+ os: %w(freebsd netbsd)
+ Chef.set_provider_priority_array :service, Openbsd,
+ os: "openbsd"
+
+ # Solaris-en
+ Chef.set_provider_priority_array :service, Solaris,
+ os: "solaris2"
+
+ # Mac
+ Chef.set_provider_priority_array :service, Macosx,
+ os: "darwin"
end
end
end
-
-#
-# Platform-specific versions
-#
-
-#
-# Linux
-#
-
-require 'chef/chef_class'
-require 'chef/provider/service/systemd'
-require 'chef/provider/service/insserv'
-require 'chef/provider/service/redhat'
-require 'chef/provider/service/arch'
-require 'chef/provider/service/gentoo'
-require 'chef/provider/service/upstart'
-require 'chef/provider/service/debian'
-require 'chef/provider/service/invokercd'
-require 'chef/provider/service/freebsd'
-require 'chef/provider/service/openbsd'
-require 'chef/provider/service/solaris'
-require 'chef/provider/service/macosx'
-
-# default block for linux O/Sen must come before platform_family exceptions
-Chef.set_provider_priority_array :service, [
- Chef::Provider::Service::Systemd,
- Chef::Provider::Service::Insserv,
- Chef::Provider::Service::Redhat,
-], os: "linux"
-
-Chef.set_provider_priority_array :service, [
- Chef::Provider::Service::Systemd,
- Chef::Provider::Service::Arch,
-], platform_family: "arch"
-
-Chef.set_provider_priority_array :service, [
- Chef::Provider::Service::Systemd,
- Chef::Provider::Service::Gentoo,
-], platform_family: "gentoo"
-
-Chef.set_provider_priority_array :service, [
- # we can determine what systemd supports accurately
- Chef::Provider::Service::Systemd,
- # on debian-ish system if an upstart script exists that must win over sysv types
- Chef::Provider::Service::Upstart,
- Chef::Provider::Service::Insserv,
- Chef::Provider::Service::Debian,
- Chef::Provider::Service::Invokercd,
-], platform_family: "debian"
-
-Chef.set_provider_priority_array :service, [
- Chef::Provider::Service::Systemd,
- Chef::Provider::Service::Insserv,
- Chef::Provider::Service::Redhat,
-], platform_family: [ "rhel", "fedora", "suse" ]
-
-#
-# BSDen
-#
-
-Chef.set_provider_priority_array :service, Chef::Provider::Service::Freebsd, os: [ "freebsd", "netbsd" ]
-Chef.set_provider_priority_array :service, Chef::Provider::Service::Openbsd, os: [ "openbsd" ]
-
-#
-# Solaris-en
-#
-
-Chef.set_provider_priority_array :service, Chef::Provider::Service::Solaris, os: "solaris2"
-
-#
-# Mac
-#
-
-Chef.set_provider_priority_array :service, Chef::Provider::Service::Macosx, os: "darwin"