Re: [Puppet Users] Solaris useradd uses /export/home and not /home
Hi John, I can see that it does use the provider user_role_add, but there seems to be a problem. Debug: /User[user1]: Provider user_role_add does not support features libuser; not managing attribute forcelocal I get the same message when I run it on RedHat 6. In the catalog file I find this {exported:false,line:18,title:user1,parameters:{uid:2012,password:$6$0vY.Ob.b$uOClxMYJohHBH46X/ESzliv.Jxt1XoWXjbLXtnf5JzqL5pP.caiF0JMxjptxEq9gj72KrU7CqB7ez0gCt6fAB1,shell:/bin/bash,gid:888,home: */export/home/user1* ,managehome:true,comment:user1,ensure:present},tags:[user,user1,useradd,class,admin_user::list,admin_user,list,node,base],type:User It is already wrong in the catalog file. Andreas -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Solaris useradd uses /export/home and not /home
I forgot: Yes the init.pp file is the one I use. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: run module although with time condition, but also possibilty execute even so not in that time frame
Hi, now I have used the schedule successfully. But I don't understand the method to override the schedule completely. Is it true that I have to change vom node.pp file from node 'vm6741.muc.baag' inherits base { $motd_function = Puppet Agent $motd_environment = Test $motd_description = RedHat 5 Test include motd *include copy_file* } to node 'vm6741.muc.baag' inherits base { $motd_function = Puppet Agent $motd_environment = Test $motd_description = RedHat 5 Test include motd *include copy_file::now* } That would not be nice because I need to change a file. There is no option to run the puppet agent like this: puppet agent --class copy_file::now or puppet agent --ignore_schedule Best regards Andreas -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: classes.txt missing
Hi Nitesh, I think the vardir variable is missing in your puppet.conf file. In Puppet.conf you have to specify the *vardir* variable path and after running the puppet manifests you can check the classes.txt file in /var/lib/puppet/ directory. vardir = /var/lib/puppet/ Thanks and Regards, Rahul Khengare, NTT DATA OSS Center, Pune, India. On Wednesday, March 9, 2011 4:49:55 AM UTC+5:30, Nitesh wrote: Hi It seems like classes.txt file is not being created when I run puppet on my servers. I am running puppet without a puppet master. I use subversion to pull the manifests on each of the boxes and run this command to run puppet. puppet apply --verbose /path/to/manifest My puppet version is puppet 2.6.4. My puppet.conf file looks like this: [main] # The Puppet log directory. # The default value is '$vardir/log'. logdir = /var/log/puppet # Where Puppet PID files are kept. # The default value is '$vardir/run'. rundir = /var/run/puppet # Where SSL certificates are kept. # The default value is '$confdir/ssl'. ssldir = $vardir/ssl # Where manifests are kept manifestdir = $vardir/manifests [agent] # The file in which puppetd stores a list of the classes # associated with the retrieved configuratiion. Can be loaded in # the separate ``puppet`` executable using the ``--loadclasses`` # option. # The default value is '$confdir/classes.txt'. classfile = $vardir/classes.txt # Where puppetd caches the local configuration. An # extension indicating the cache format is added automatically. # The default value is '$confdir/localconfig'. localconfig = $vardir/localconfig Any idea why that may be happening? Thanks. -- Nite -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: hostname appears in classes.txt
Hi Mark, The classes.txt file contains all the classes which is to be executed on agent. It also contains hostname. So the hostname in classes.txt file is not a problem. Check out the classes present in your manifests which is to be apply on agent are present in classes.txt. If not present then you can run puppet agent as, # puppet agent --test --loadclasses Can you explain your problem in details like which file is not pick by puppet. Also give your manifests code. Thanks and Regards, Rahul Khengare, NTT DATA OSS Center, Pune, India. On Friday, September 13, 2013 6:02:26 AM UTC+5:30, Mark wrote: Although I have a node defined (puppet agent --test runs without error) the agent does not pick up files that it should be accessing and I've noticed that the hostname appears in classes.txt. Does anyone have a notion of what's happening? Could it be that my node isn't being recognized as belonging to the class defined on the server? Mark -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: How to create a simple, custom type?
On Thursday, September 12, 2013 5:36:35 PM UTC-5, Jeremy Martini wrote: On my file system, I have a classpath.txt file, which contains a java classpath. The classpath contains wildcards, and I need to remove the wildcards, and have it expanded out to list out all the .jar files individually. So, instead of classpath.txt containing: C:/lib1/*;C:/lib2/* I Need: C:/lib1/file_one.jar;C:/lib1/file_two.jar;C:/lib2/file_three.jar So you want Puppet to modify the contents of classpath.txt, as opposed to using the result of the glob expansion somewhere else? I already have the Ruby code to do this, I just need to somehow get Puppet to run this Ruby code. I figured I would need to create a custom type, which I've called classpath_expander. I would include this type in my manifest like this: Do yourself a favor and choose a type name that is a noun. That better reflects the nature of the thing you are naming. Perhaps classpath_file would be appropriate. classpath_expander { 'expand classpath.txt': path = C:/temp/classpath.txt } Currently, my type is defined like this: Puppet::Type.newtype(:classpath_expander) do @doc = Reads the classpass in a file, and expands out any wildcards. newparam(:name, :namevar = true) do desc 'An arbitrary name used as the identity of the resource.' end newparam(:path) do desc 'The path to the classpath file.' end end But at this point, I'm not sure where to put my Ruby code. All the documentation gives examples on how to use the ensurable property; however, I'm not sure that makes sense in this case, does it? If so, what would I need for each of the create, destroy, and exist? methods? You are missing an essential piece of the puzzle: at least one provider for your custom type. That's the bit that does all the work; the type itself is mostly restricted to defining the supported parameters. Here are some docs that may help: http://docs.puppetlabs.com/guides/custom_types.html http://docs.puppetlabs.com/guides/provider_development.html http://docs.puppetlabs.com/guides/complete_resource_example.html John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] [windows server 2008 r2] puppet errors in 3.3.0 on exchange database servers
Hi, i recently updated our windows 2008 r2 servers to puppet 3.3.0 . Im getting the following error* (only on our exchange 2010 db servers)*ever since: LevelMessageSourceFileLineTimeerrCould not retrieve local facts: undefined method `gsub' for nil:NilClassPuppet13.09.2013 15:12 CESTerrFailed to apply catalog: Could not retrieve local facts: undefined method `gsub' for nil:NilClassPuppet13.09.2013 15:12 CEST All other windows hosts run perfectly fine. Any ideas? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Puppet ignores hiera completely
On Thursday, September 12, 2013 1:07:12 PM UTC-5, Guy Knights wrote: Actually, one thing I've noticed while trying to troubleshoot this issue is that I can't see any evidence that puppet agent is using the environment specified in its config file. If I run puppet agent with the --debug flag there is no mention of the environment whatsoever. Is there any way to get puppet agent to tell me what environment it's using when it requests the catalogue from the master? Yes, call the notice() function to emit that information into the master's log, or declare a Notify resource to emit it into the agent's log. Example: notify { 'My environment': message = my environment is ${::environment} } Put that at top level in your site.pp to ensure that it is declared for every node, no matter what. John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: hostname appears in classes.txt
Hi Rahul, Thanks for the reply! First of all, the problem is that the class that the node belongs to isn't being realized (that is, files that are installed on other nodes of that class aren't being installed on this problematic node). Also, I cannot find the --loadclasses option in http://docs.puppetlabs.com/man/agent.html and the binary also complains .. can you expand on this? Thanks, Mark On Fri, Sep 13, 2013 at 9:11 AM, Rahul Khengare rahulk1...@gmail.comwrote: Hi Mark, The classes.txt file contains all the classes which is to be executed on agent. It also contains hostname. So the hostname in classes.txt file is not a problem. Check out the classes present in your manifests which is to be apply on agent are present in classes.txt. If not present then you can run puppet agent as, # puppet agent --test --loadclasses Can you explain your problem in details like which file is not pick by puppet. Also give your manifests code. Thanks and Regards, Rahul Khengare, NTT DATA OSS Center, Pune, India. On Friday, September 13, 2013 6:02:26 AM UTC+5:30, Mark wrote: Although I have a node defined (puppet agent --test runs without error) the agent does not pick up files that it should be accessing and I've noticed that the hostname appears in classes.txt. Does anyone have a notion of what's happening? Could it be that my node isn't being recognized as belonging to the class defined on the server? Mark -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Puppet ignores hiera completely
Guy, On Thursday, September 12, 2013 12:02:36 PM UTC-5, I wrote: [...] Are you anywhere instructing Puppet to include the classes listed in your hiera data in the catalog? If the answer is yes, then you did not include that information with the configs you posted. The needed declaration would normally appear in your site manifest for the selected environment, or perhaps in a file imported by the site manifest. For example, node 'mynode' { include hiera('classes') } I have a growing suspicion that your problem is in that general area, as I don't immediately see anything wrong with the configs you posted. John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] error on puppet master after update to 3.3.0
Hi! After update puppet master to version 3.3.0 I see following errors every time the agent runs: puppet-master[2649]: Not Acceptable: No supported formats are acceptable (Accept: yaml, b64_zlib_yaml, raw) My clients run puppet 2.6.18 - the standard version for Scientific Linux 6x and 3.1.1 - the version for Fedora 19. I am running puppet and dashboard with apache. The only system I noticed that has no problems - agent running on the master itself, version 3.3.0 There were no problems before the update. Depreciated warning on the server suggests updating master first - exactly what I did. Anybody else see this? Thanks, Leon -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: run module although with time condition, but also possibilty execute even so not in that time frame
On Friday, September 13, 2013 5:16:06 AM UTC-5, Andreas Dvorak wrote: Hi, now I have used the schedule successfully. But I don't understand the method to override the schedule completely. Is it true that I have to change vom node.pp file from node 'vm6741.muc.baag' inherits base { $motd_function = Puppet Agent $motd_environment = Test $motd_description = RedHat 5 Test include motd *include copy_file* } to node 'vm6741.muc.baag' inherits base { $motd_function = Puppet Agent $motd_environment = Test $motd_description = RedHat 5 Test include motd *include copy_file::now* } That would not be nice because I need to change a file. There is a variety of ways to do what you ask. Some involve tags, some involve facts, and a few involve agent command-line options. For example, you could leverage Facter's environment-defined facts or stdlib's fact.d/ facts to communicate to the master via a fact that you want to override the schedule, then use a conditional statement based on the fact value to control whather class copy_file::now is included. Alternatively, you could flip the places of classes copy_file and copy_file::now to give you copy_file::scheduled and copy_file, so that the base class does not declare a schedule, but the subclass overrides it to do. Declare class copy_file::scheduled. I think then you can override the schedule from the command line like so: puppet agent --tags 'copy_file' That should select the copy_file class but NOT the copy_file::sheduled class that adds a schedule to it. There is no option to run the puppet agent like this: puppet agent --class copy_file::now or puppet agent --ignore_schedule Or there's that, provided you spell it correctly: puppet agent --ignoreschedules (http://docs.puppetlabs.com/references/latest/configuration.html#ignoreschedules). With that you should be able to forget about subclassing altogether, but do be aware that it will override ALL schedules. If that turns out to be an issue then you could narrow the parts of your configuration to apply to those bearing particular tags, maybe puppet agent --ignoreschedules --tags copy_file John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: error on puppet master after update to 3.3.0
It's not just you, I am working on the exact same problem. 2.7.20 agents running against a 3.3.0 master and getting the same errors. It looks like all of the agents are getting and applying the configurations properly, however the reports they are sending back are not acceptable to the master. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Solaris useradd uses /export/home and not /home
On Friday, September 13, 2013 3:10:10 AM UTC-5, Andreas Dvorak wrote: Hi John, I can see that it does use the provider user_role_add, but there seems to be a problem. Debug: /User[user1]: Provider user_role_add does not support features libuser; not managing attribute forcelocal That's not a problem unless you are trying to use the 'forcelocal' attribute for some of your users. Otherwise it's just informational. You are not declaring 'forcelocal' for your test user, so you can ignore it. I get the same message when I run it on RedHat 6. That's a bit strange, though, since RH 6 should be choosing the 'useradd' provider. But you said user management is working on RH6, so I'm going to ignore that. In the catalog file I find this {exported:false,line:18,title:user1,parameters:{uid:2012,password:$6$0vY.Ob.b$uOClxMYJohHBH46X/ESzliv.Jxt1XoWXjbLXtnf5JzqL5pP.caiF0JMxjptxEq9gj72KrU7CqB7ez0gCt6fAB1,shell:/bin/bash,gid:888,home: */export/home/user1* ,managehome:true,comment:user1,ensure:present},tags:[user,user1,useradd,class,admin_user::list,admin_user,list,node,base],type:User Do you also see that in the catalogs on your RH6 machines? If so, do new users' home directories in fact get created elsewhere than the catalog specifies? John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: error on puppet master after update to 3.3.0
Someone on IRC had this earlier. See: http://projects.puppetlabs.com/issues/22530 I've escalated it to the core dev team also. ken. On Fri, Sep 13, 2013 at 3:16 PM, Robert Rolfe robertrolfe...@gmail.com wrote: It's not just you, I am working on the exact same problem. 2.7.20 agents running against a 3.3.0 master and getting the same errors. It looks like all of the agents are getting and applying the configurations properly, however the reports they are sending back are not acceptable to the master. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] ParsedFile with Header Trailer - Stored Resources Configuration
Hello dear Community, I am now working for a while on a distributed DNS Module. The concept is that there are two Root-DNS servers in an enterprise environemnt and as much decentral Servers as you want. Puppet should automatically generate TSIG Secrets, push the secrets and their own hostname / ipadresses into several stored resources and the root-DNS Servers should dynamically get all those informations and generate the BIND 9 named.conf.* configuration files for me. This way i can automatically let the decentral servers be slaves of some zones and also let them host der decentral primary-zones for automatic DHCP -- DNS updates. Those zones are then pushed again back to the root-dns servers (they are slaves for those zones). Everything of that works with puppet EXCEPT one thing... creating a list of stored resources in a file with a header and a trailer. The following code demonstrates what I want to do: *Puppet Module for ACL:* module Puppet newtype(:decentralacl) do ensurable newparam(:name) do desc „Name of the server which should get into the decentral ACL“ isnamevar end newproperty(:ipaddress) do desc „IP-Address of the server“ end end end *Puppet Provider for ACL* require ‘puppet/provider/parsedfile‘ aclfile = “/var/named/named.conf.acls.decentrals“ Puppet::Type.type(:decentralacl).provide( :parsed, :parent = Puppet::Provider::ParsedFile, :default_target = aclfile, :filetype = :flat ) do text_line :comment, :match = /^\s*#/ text_line :blank, match = /^\s*/ text_line :acl, :match = /^\s*(acl alle_liegenscahften \{|\};)$/ record_line :parsed, :fields = %w{name}, :match = /^key (.+); # (.+)$/, :to_line = proc { | hash | if hash[:value] == :absent hash[:name] else “key #{hash:[name]};“ end } def self.header “acl decentral_srvs {“ end def self.to_file text = super text + “\n\};“ end end the basic functionality without def self.header and def self.to_file does actually work. But I can not include that into the bind9 configuration, I need to get the surrounding acl decentral_srvs {...}; I then use this ACL to allow the transfer of the zone in the named.conf.zones: zone enterprise.org IN { type master; file “enterprise.org.db“; allow-transfer { decentral_srvs; }; notify yes; } Configured as above - i get some error messages and the order of the key hostname statements and the brackets is wrong when I add some hosts. The key hostname statements are then out of the surrounding brackets at the bottom of the file. Did anyone ever add static content to a ParsedFile? or to I have to use a workarount - generate the file only with key hostname statements and then use some other class / exec to copy this file locally to another file and add the surrounding parameters? Faithfully, Felix -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Solaris useradd uses /export/home and not /home
Hi John, the catalog file in RH6 is fine with home:/home/user1 and the user is created in /home/user1 That problem seems to be complicate. Andreas -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Solaris useradd uses /export/home and not /home
On Friday, September 13, 2013 3:12:20 AM UTC-5, Andreas Dvorak wrote: I forgot: Yes the init.pp file is the one I use. And you can confirm that by changing that user declaration and seeing the corresponding change in the catalog delivered to the client? If the User declaration you are looking at is the one that is actually being used, but the parameters included in the catalog are not exactly as declared, then I see only two possibilities: 1. Your master's Puppet code has been hacked to inject the modification. 2. The parameters are being overridden somewhere. Since a hack seems rather unlikely, I would look for overrides. Those could appear in direct or indirect subclasses of class admin_user::add, or in User collection expressions. For example, the latter could look like this: User| title == 'user1' | { home = '/export/home/user1' } This is really getting quite speculative, though. Can you present a simple, complete example that demonstrates the problem? What you presented above lacks any declaration of instances of your admin_user::add::useradd definition, and any indication of what else may be declared on the target node. If you use a node declaration like the following for the test node then does it still behave as you observed? node testnode-certname { include 'admin_user::group' notify { 'node verification': message = 'confirmed using the test node block' } addmin_user::add::adduser { 'user1: # all needed parameters } } John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Solaris useradd uses /export/home and not /home
On Friday, September 6, 2013 6:43:27 AM UTC-5, Andreas Dvorak wrote: class admin_user::add { define useradd ( $name, $uid, $group, $gid, $password, $shell, $sshkeytype, $sshkey) { $homedir = /home $username = $title user { $username: ensure = present, comment = $name, uid = $uid, gid = $gid, shell = $shell, home = /home/$username, managehome = true, password = $password, require = Group[baaderadm], } ssh_authorized_key { $username: user = $username, type = $sshkeytype, key = $sshkey, require = user[$username], } } } Note also, by the way, that the version of class admin_user::add presented does nothing at all for you except provide a namespace for the definition inside. In fact, could the problem be that its definition is not the one that you're actually using? You should really put the definition in its own file. For example, modules/admin_user/manifests/useradd.pp: # Promoted to the module's namespace define admin_user::useradd ( $comment, $uid, $gid, $password, $shell, $sshkeytype, $sshkey) { # changed parameter $name to $comment to avoid # colliding with the automatic variable $name # parameter $group was unused in the original # variable $homedir was unused in the original # This definition breaks if class admin_user::group # isn't declared *somewhere*. It's not parameterized, # so it can safely be declared right here. include admin_user::group $username = $title user { $username: ensure = present, comment = $comment, uid = $uid, gid = $gid, shell = $shell, home = /home/$username, managehome = true, password = $password, require = Group[baaderadm], } ssh_authorized_key { $username: user = $username, type = $sshkeytype, key = $sshkey, # type 'User' not capitalized in the original: require = User[$username], } } Also, always declare instances using the defined type's full name: admin_user::useradd { 'user1': # ... } John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: run module although with time condition, but also possibilty execute even so not in that time frame
Great John, the command puppet agent --ignoreschedules --tags copy_file is working and exactly what I need. Thank you very much. Andreas -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Is it possible to install actual OS using puppet?
On Thursday, September 12, 2013 7:49:19 PM UTC-5, Rich Siegel wrote: So I have done a full os install using baremetal on a seemingly harder platform- windows. https://github.com/rismoney/puppet-baremetal-windows Now windows has a lot of nuances so it should be easier in theory to do something similar starting from *nix. In essence I use a linux pxe server to boot a live image of an os with puppet installed, and then all the config is deployed to get endpoint to make it as expected. Based on a facter fact I know my host is in build mode or not. Its awesome and a build takes 20 min with no razor, only pure puppet, as all build config is backed in hiera. Most of the repo is dedicated to reproducability of the entire solution whereas the execution a puppet code is relatively small to make the os how I want it. Is it not true, though, that the Puppet code by which you achieve the OS installation is totally different from what you would use to maintain any part of the installed system post installation, via a client running on it? Most built-in Puppet resource types are designed to manage resources belonging to the host OS, which during OS installation would be the PXE image. I'm glad that what you have works well for you, but I'm not seeing where Puppet is bringing a big advantage to the OS install part. I'm imagining that it must involve primarily a bunch of Execs, and if that's true then I wonder whether it would be as easy or easier to use ordinary scripts installed locally on the PXE image to do the work instead. Or any of the various provisioning tools that are specifically designed for this sort of work. Can you help me out here? John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] enablerepo option
Hi I would like to use enablerepo option for activate repo and verify package latest version my manifest : package { fusioninventory-agent: ensure = latest, enablerepo = [ epel, remi ]; } there this patch : http://projects.puppetlabs.com/issues/2247 but it does not work in my configuration Can you have the same problem or an other solution to activate multiple rpm repo with enablerepo command? regards -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] [windows server 2008 r2] puppet errors in 3.3.0 on exchange database servers
On Fri, Sep 13, 2013 at 6:23 AM, cko dert...@gmail.com wrote: Hi, i recently updated our windows 2008 r2 servers to puppet 3.3.0 . Im getting the following error* (only on our exchange 2010 db servers)*ever since: LevelMessageSourceFileLineTimeerrCould not retrieve local facts: undefined method `gsub' for nil:NilClassPuppet13.09.2013 15:12 CESTerrFailed to apply catalog: Could not retrieve local facts: undefined method `gsub' for nil:NilClassPuppet13.09.2013 15:12 CEST All other windows hosts run perfectly fine. Any ideas? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out. Can you run puppet agent --test --debug --trace, and post the resulting stacktrace? At first glance it sounds like https://projects.puppetlabs.com/issues/12116, which we fixed in facter 1.7.3 and was released with puppet 3.3.0... Josh -- Josh Cooper Developer, Puppet Labs -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: Puppet ignores hiera completely
Ahit all becomes clear. I was confused because as I understood it, if I defined the classes in hiera then puppet would just apply them. I went back through the docs and found this: http://docs.puppetlabs.com/hiera/1/puppet.html#assigning-classes-to-nodes-with-hiera-hierainclude. I changed my site.pp to use hiera_include('classes') and now it seems to be working. Thanks for your help, apologies for the confusion. Regards, Guy On Fri, Sep 13, 2013 at 6:44 AM, jcbollinger john.bollin...@stjude.orgwrote: Guy, On Thursday, September 12, 2013 12:02:36 PM UTC-5, I wrote: [...] Are you anywhere instructing Puppet to include the classes listed in your hiera data in the catalog? If the answer is yes, then you did not include that information with the configs you posted. The needed declaration would normally appear in your site manifest for the selected environment, or perhaps in a file imported by the site manifest. For example, node 'mynode' { include hiera('classes') } I have a growing suspicion that your problem is in that general area, as I don't immediately see anything wrong with the configs you posted. John -- You received this message because you are subscribed to a topic in the Google Groups Puppet Users group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/puppet-users/9kdUVvrsr18/unsubscribe. To unsubscribe from this group and all its topics, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out. -- Guy Knights Lead Systems Administrator http://eastsidegamestudio.com www.eastsidegamestudio.com g...@eastsidegamestudio.com g...@eastsidegamestudio.com -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Distributing files from varied sources to a common location on the clients
Very new to Puppet. Tried various ways to do this and I'm not particularly happy with any of them. Say I have a common scripts file on my clients: /opt/local/scripts. I want to store the master version of these files in a directory tree on my Puppet Master. Something like this under the module's directory: files/optLocalScripts files/optLocalScripts/CentOS files/optLocalScripts/Solaris/sparc files/optLocalScripts/Solaris/x86 files/optLocalScripts/Common The idea is that we just have to drop the file in the correct directory, and it will get copied out the the clients' /opt/local/scripts directory. Scripts or binaries that are only appropriate for Solaris sparc clients get put in files/optLocalScripts/Solaris/sparc, etc., etc., and the files/optLocalScripts/Common is for scripts that will run on any platform and thus should be copied to all the clients. So now if I could write a class that would make proper use of this organized directory structure on the Master, that'd be great. I try to use the file resource with recuse = true. Works great for one of the above sources. If I pass an array of all those source directories to the file resource, it only uses the first directory in the array: file { '/opt/local/scripts': ensure = present, #owner = root, #group = root, #mode = 0755, recurse = true, source = [puppet:///modules/commonScripts/optLocalScripts/Common, puppet:///modules/uts_scripts/optLocalScripts/${operatingsystem}, puppet:///modules/uts_scripts/optLocalScripts/${operatingsystem}/${hardwareisa}], } In the above example, only the files in my Common directory get copied to the clients. Another problem with using this approach is that I cannot specify owner or group or any other attributes, or all the other unmanaged files on the clients in /opt/local/scripts get changed. I just want to mange the files that I have in the directory structure on the master, not other files that may exist on the client. I can't have a separate File resource for each of my Source directories either. Why not? Because they would all be named the same: '/opt/local/scripts'. Okay so it seems that I must then list each file that I wish to manage in my class, in addition to keeping the copies on the Master updated. I was hoping to only have to do the latter. Looking for suggestions. (Hope I explained this clearly.) -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Re: hostname appears in classes.txt
Hello Rahul, I've found the problem -- error on my part :( Thanks for the suggestions anyway .. Mark On Fri, Sep 13, 2013 at 9:31 AM, mark bradley gopearl...@gmail.com wrote: Hi Rahul, Thanks for the reply! First of all, the problem is that the class that the node belongs to isn't being realized (that is, files that are installed on other nodes of that class aren't being installed on this problematic node). Also, I cannot find the --loadclasses option in http://docs.puppetlabs.com/man/agent.html and the binary also complains .. can you expand on this? Thanks, Mark On Fri, Sep 13, 2013 at 9:11 AM, Rahul Khengare rahulk1...@gmail.comwrote: Hi Mark, The classes.txt file contains all the classes which is to be executed on agent. It also contains hostname. So the hostname in classes.txt file is not a problem. Check out the classes present in your manifests which is to be apply on agent are present in classes.txt. If not present then you can run puppet agent as, # puppet agent --test --loadclasses Can you explain your problem in details like which file is not pick by puppet. Also give your manifests code. Thanks and Regards, Rahul Khengare, NTT DATA OSS Center, Pune, India. On Friday, September 13, 2013 6:02:26 AM UTC+5:30, Mark wrote: Although I have a node defined (puppet agent --test runs without error) the agent does not pick up files that it should be accessing and I've noticed that the hostname appears in classes.txt. Does anyone have a notion of what's happening? Could it be that my node isn't being recognized as belonging to the class defined on the server? Mark -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Re: Nagios Puppet Module - Multiple Service File Permissions Issues
Ah this is brilliant. Works like a charm. Once again John, you have enlightened me more about Puppet. On Thursday, September 12, 2013 1:51:40 PM UTC-4, jcbollinger wrote: On Wednesday, September 11, 2013 2:59:22 PM UTC-5, phundisk wrote: I am using the nagios puppet module to create and manage services via stored configurations. The original module, stored all service cheks in one file and this was causing my puppet run on my nagios server to take 30+ minutes. I have read here ( http://pieter.barrezeele.be/2009/05/11/puppet-and-nagios/) that if you split up the services files into multiple, puppet can run faster since it doesn't have to look through one huge file. I would like to split this up by host. (i.e. nagios_service_$::fqdn.cfg) One issue I am running into, is that the file that is created using the target method has the permissions of root:root 600, and thus nagios will crash when trying to read it since it does not have permissions. The original nagios_service file is controlled via the following... I could add each hostname below, but that does not scale well. Is there another way in which this can be more easily managed? You could do this: exec { 'make_nagios_config_readable': command = chmod 0644 ${nagios::defaults::vars::int_cfgdir}/conf.d/*.cfg, onlyif = find ${nagios::defaults::vars::int_cfgdir}/conf.d/* -maxdepth 0 -not -perm 0644 | grep -q '\.cfg', provider = 'sh', notify = Service['nagios'] } Nagios_command| | - Exec['make_nagios_config_readable'] Nagios_contact| | - Exec['make_nagios_config_readable'] Nagios_contactgroup| | - Exec['make_nagios_config_readable'] Nagios_host| | - Exec['make_nagios_config_readable'] Nagios_hostdependency| | - Exec['make_nagios_config_readable'] Nagios_hostescalation| | - Exec['make_nagios_config_readable'] Nagios_hostextinfo| | - Exec['make_nagios_config_readable'] Nagios_hostgroup| | - Exec['make_nagios_config_readable'] Nagios_service| | - Exec['make_nagios_config_readable'] Nagios_servicedependency| | - Exec['make_nagios_config_readable'] Nagios_serviceescalation| | - Exec['make_nagios_config_readable'] Nagios_serviceextinfo| | - Exec['make_nagios_config_readable'] Nagios_servicegroup| | - Exec['make_nagios_config_readable'] Nagios_timeperiod| | - Exec['make_nagios_config_readable'] John -- _ This email and any files transmitted with it are confidential and intended solely for the addressee. If you received this email in error, please do not disclose the contents to anyone; kindly notify the sender by return email and delete this email and any attachments from your system. © 2011 Currensee Inc. is a member of the National Futures Association (NFA) Member ID 0403251 | Over the counter retail foreign currency (Forex) trading may involve significant risk of loss. It is not suitable for all investors and you should make sure you understand the risks involved before trading and seek independent advice if necessary. Performance, strategies and charts shown are not necessarily predictive of any particular result and past performance is no indication of future results. Investor returns may vary from Trade Leader returns based on slippage, fees, broker spreads, volatility or other market conditions. Currensee Inc | 54 Canal St 4th Floor | Boston, MA 02114 | +1.617.624.3824 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Puppet Users] Distributing files from varied sources to a common location on the clients
The first question is why can't you manage everything in /opt/local/scripts with puppet? But assuming that you have to do it the way you describe, here is a terrible solution: manage subdirectories of /opt/local/scripts (e.g., /opt/local/scripts/Common, /opt/local/scripts/redhat). Then you can have a separate resource for each directory. Here is where it gets terrible. Create an exec resource that symlinks everything in those subdirectories into /opt/local/scripts (and maybe removes stale symlinks if you want to get fancy). I said it was terrible, didn't I? Seriously, I think the correct way to do this is to roll packages (rpm, deb, pkg, etc.) and distribute those with puppet, but that might be a lot of work in your environment. - Chad On Fri, Sep 13, 2013 at 3:35 PM, root clri.c0t...@gmail.com wrote: Very new to Puppet. Tried various ways to do this and I'm not particularly happy with any of them. Say I have a common scripts file on my clients: /opt/local/scripts. I want to store the master version of these files in a directory tree on my Puppet Master. Something like this under the module's directory: files/optLocalScripts files/optLocalScripts/CentOS files/optLocalScripts/Solaris/sparc files/optLocalScripts/Solaris/x86 files/optLocalScripts/Common The idea is that we just have to drop the file in the correct directory, and it will get copied out the the clients' /opt/local/scripts directory. Scripts or binaries that are only appropriate for Solaris sparc clients get put in files/optLocalScripts/Solaris/sparc, etc., etc., and the files/optLocalScripts/Common is for scripts that will run on any platform and thus should be copied to all the clients. So now if I could write a class that would make proper use of this organized directory structure on the Master, that'd be great. I try to use the file resource with recuse = true. Works great for one of the above sources. If I pass an array of all those source directories to the file resource, it only uses the first directory in the array: file { '/opt/local/scripts': ensure = present, #owner = root, #group = root, #mode = 0755, recurse = true, source = [puppet:///modules/commonScripts/optLocalScripts/Common, puppet:///modules/uts_scripts/optLocalScripts/${operatingsystem}, puppet:///modules/uts_scripts/optLocalScripts/${operatingsystem}/${hardwareisa}], } In the above example, only the files in my Common directory get copied to the clients. Another problem with using this approach is that I cannot specify owner or group or any other attributes, or all the other unmanaged files on the clients in /opt/local/scripts get changed. I just want to mange the files that I have in the directory structure on the master, not other files that may exist on the client. I can't have a separate File resource for each of my Source directories either. Why not? Because they would all be named the same: '/opt/local/scripts'. Okay so it seems that I must then list each file that I wish to manage in my class, in addition to keeping the copies on the Master updated. I was hoping to only have to do the latter. Looking for suggestions. (Hope I explained this clearly.) -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out. -- Chad M. Huneycutt -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Failed to apply catalog: Netowork is unreachable - connect(2)
I tried my best to follow the instruction given at the following page however the result is ZERO for the last two months. I am spending much of my time hitting the wrong corner and it looks like no one know the right answer to the puppet problems. Installing and configuring puppet is a tough jobs Ok enough of my story. tried to follow the instructions given in puppet prove of concept but failed: http://docs.puppetlabs.com/pe/latest/quick_start.html PuppetMaster My Error Error: Failed to apply catalog: Netowork is unreachable - connect(2) Error: Could not send report: Network is unrechable - connect (2) logged in as roop Test telnet localhost 8041 (61613 and 443) connected telnet learn.localdomain 8041 (61613 and 443) network is unreachable puppet agent -t Failed to apply catalog: Network is Unreachable Could not send report: Network is Unreachable Hosts file puppet agent and host have same information in /etc/hosts 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.0.105 lear.localdomain learn puppet.localdomain puppet Certs cd.pem learnlocaldomain.pem pe-internal-mcillective-servers.pem pe-internal-broker.pem pe-internal-puppet-console-mcillecitve-client.pem -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.
[Puppet Users] Connectivity issues puppet hosted in ec2 instance to another Appserver on ec2 after restart
Existing configuration - Puppet is running on AWS EC2 machine A and its deploying package on AWS EC2 Appserver machine B its working fine before restart. - After restart of Appserver machine B its name changed to machine C after this reboot machine stopped working Is there any way to fix this can any one help me on this how to fix this issue. Thanks for your help CSR. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users. For more options, visit https://groups.google.com/groups/opt_out.