One more question. How can I run hostmanager as a particular user? By default it runs it as user root.
Thanks Umair On Thu, Dec 16, 2010 at 4:12 PM, Umair Ghani <[email protected]> wrote: > YES ...that helped alot...I got it working now.. > Thank you very much > Umair > > > On Thu, Dec 16, 2010 at 3:03 PM, Stefan Schulte < > [email protected]> wrote: > >> On Thu, Dec 16, 2010 at 01:45:17PM -0600, Umair Ghani wrote: >> > Hello >> > >> [...] >> > >> > 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. >> > >> >> Puppet handles states not actions. So if you want to define that a service >> is >> running, puppet must have the ability to query if it's running already. >> >> my comments (your problem is #3 and #4) >> 1. you use one property for two things. What if you want to say >> that your service is installed and running? >> 2. restarted is not really a state. But you can define that your restart >> method should get called upon refresh (look in service.rb how such a >> refresh method can be defined) >> 3. you said ensurable. That's just a shortcut to say that you have an >> ensure property which handles absent and present. This means that your >> type (or preferable the provider) must have three functions: >> - exists? to retrieve the current state >> - create to create your type if it does not exist while it should >> - destroy to delete your type if it does exists while it should not >> If an ensure property doesnt make any sense for your type dont say >> ensurable >> 4. Your action property doesnt have any retrieve method so puppet cannot >> check if this property is in sync or not. Because I guess a >> servicemanager resource can be installed AND running, you should split >> that at least in two properties. Then you have to define a retrieve >> method. The default (defined in property.rb) is to just call >> provider.propertyname so just add a method called »action« in >> hostmanager.rb. That method must return a valid value >> (:stopped or :running). >> 5. If you define commands :hostmanager => '...' you get a hostmanager >> method for free so you can just say: >> hostmanager '-s', @resource[:name], '-r', @resource[:release], >> '--install' >> If you want to have the command as a string #{:hostmanager} just >> converts the symbol hostmanager to a string (which is "hostmanager"). I >> think what you wanted to say is #{command(:hostmanager)} which will give >> you "/usr/local/bin/hostmanager.py" >> >> Hope that helps. >> >> -Stefan > > -- You received this message because you are subscribed to the Google Groups "Puppet Users" 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-users?hl=en.
