Hello

I need some help with a problem I cant figure out. I tried to look for
the same problem in the puppet forums but I couldn't find anything.
I have created a custom Type and a custom Provider but I keep getting
the same error no matter what I do. So any help will very appreciated.

My Type is called 'servicemanager'
My Provider is called 'hostmanager'

Please see below for these files. And my manifest file looks like:

servicemanager{
    "some_name":
        artifact        =>      "some_name",
        action          =>      stopped,
        release         =>      $releases_file,
        provider        =>      hostmanager;
  }


But I keep getting the following error message:
err: /Stage[main]/some_name/Servicemanager[some_name]: Could not
evaluate: No ability to determine if servicemanager exists

OR
err: Could not run Puppet configuration client: No ability to
determine if servicemanager exists

I even tried adding a def exists? function in hostmanager.rb and that
didnt help.

BTW.. I have "pluginsync = true" on both client and the master in
puppet.conf. Also
my Type "servicemanager.rb"  is in "/etc/puppet/modules/custom/lib/
puppet/type",
and my Provider "hostmanager.rb" is in "/etc/puppet/modules/custom/lib/
puppet/provider/servicemanager"
and im running puppet 2.6.3

Thanks


############# servicemanager.rb #####################

Puppet::Type.newtype(:servicemanager) do
        @doc = "Manage hosts through hostmanager"

        ensurable

        # Handle whether the service should actually be running right
now.
        newproperty(:action) do
                desc "Whether a service should be running."

                newvalue(:stopped, :event => :service_stopped) do
                        provider.stop
                end

                newvalue(:running, :event => :service_started) do
                        provider.start
                end

                newvalue(:installed, :event => :service_installed) do
                        provider.install
                end

                newvalue(:latest, :event => :service_latest) do
                        provider.update
                end

                newvalue(:restarted, :event => :service_restarted) do
                        provider.restart
                end
        end

        newparam(:artifact) do
                desc "Artifact name"
                isnamevar
        end

        newparam(:release) do
                desc "Releases file for the artifact"
        end
end



###########   hostmanager.rb  ###############

require 'puppet'
require 'puppet/util/package'
require 'puppet/provider/package'

Puppet::Type.type(:servicemanager).provide :hostmanager do

        @doc = "Manage hosts through hostmanager"
        desc   "Manage hosts through hostmanager"

        commands :hostmanager => "/usr/local/bin/hostmanager.py"

        def install
                `echo #{:hostmanager} "-s", #...@resource[:name]}, "-r",
#...@resource[:release]}, "--install" >> /tmp/test`
        end

        def status
                `echo #{:hostmanager} "-s", #...@resource[:name]}, "-r",
#...@resource[:release]}, "--status" >> /tmp/test`
        end

        def start
                `echo #{:hostmanager} "-s", #...@resource[:name]}, "-r",
#...@resource[:release]}, "--start" >> /tmp/test`
        end

        def stop
                `echo #{:hostmanager} "-s", #...@resource[:name]}, "-r",
#...@resource[:release]}, "--stop" >> /tmp/test`
        end

        def update
                `echo #{:hostmanager} "-s", #...@resource[:name]}, "-r",
#...@resource[:release]}, "--promote" >> /tmp/test`
        end

        def restart
                `echo #{:hostmanager} "-s", #...@resource[:name]}, "-r",
#...@resource[:release]}, "--restart" >> /tmp/test`
        end
end

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to