If systemd is in use, OpenRC may be picked because the OpenRC provider was underconstrained. https://groups.google.com/g/puppet-users/c/t6vyTO0057g --- a/lib/puppet/provider/service/openrc.rb +++ b/lib/puppet/provider/service/openrc.rb @@ -9,6 +9,8 @@ Puppet::Type.type(:service).provide :openrc, :parent => :base do EOT + confine :true => Puppet::FileSystem.exist?('/proc/1/comm') && Puppet::FileSystem.read('/proc/1/comm').include?('init') + defaultfor 'os.name' => :gentoo defaultfor 'os.name' => :funtoo