Re: [Puppet Users] Re: Checking for free disk space on mountpoint?
On 07/12/2011 01:05 AM, Patrick wrote: Keep in mind that, this being unix, there's no drives so if you will probably be checking the amount of space on root if you don't think about it. There most certainly are drives in unix. Not drive letters, though. The drives are normally denoted either by their device special file, such as /dev/md127, or by their mount points, such as /u0. Here is a list of everything mounted on one particular system. vagn@nika:~$ df -h FilesystemSize Used Avail Use% Mounted on /dev/sda1 28G 9.3G 17G 36% / tmpfs 7.9G 0 7.9G 0% /lib/init/rw udev 7.9G 324K 7.9G 1% /dev tmpfs 7.9G 0 7.9G 0% /dev/shm /dev/md1272.7T 846G 1.8T 33% /u0 /dev/mapper/udisks-luks-uuid-3bb2bdd5-1b84-49b4-abe8-4a107f174702-uid1000 15G 7.9G 6.2G 56% /u0/home/vagn/s5 /dev/mapper/udisks-luks-uuid-d5ff5dbd-053b-48a7-b3ee-4f71a2e5c2fb-uid1000 2.7T 855G 1.8T 33% /bu02 /dev/sr0 6.8G 6.8G 0 100% /media/cdrom0 And here is the listing of one drive by device: vagn@nika:~$ df -h /dev/md127 FilesystemSize Used Avail Use% Mounted on /dev/md1272.7T 846G 1.8T 33% /u0 vagn@nika:~$ And the same by mount point: vagn@nika:~$ df -h /u0 FilesystemSize Used Avail Use% Mounted on /dev/md1272.7T 846G 1.8T 33% /u0 See man pages for stat, statvfs or statfs for details. Also, the stat command is interesting: vagn@nika:~$ stat -f -c freeblocks on /u0 = %a /u0 freeblocks on /u0 = 462905880 vagn@nika:~$ bc . 462905880 * 4 . 1851623520 vagn@nika:~$ df /u0 Filesystem 1K-blocks Used Available Use% Mounted on /dev/md127 2884294872 886157536 1851623520 33% /u0 -- vagn -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Re: Checking for free disk space on mountpoint?
On Jul 11, 2011, at 11:10 PM, vagn scott wrote: On 07/12/2011 01:05 AM, Patrick wrote: Keep in mind that, this being unix, there's no drives so if you will probably be checking the amount of space on root if you don't think about it. There most certainly are drives in unix. Not drive letters, though. Ah. I misspoke. I meant that the path to where you put a file on the filesystem doesn't explicitly mention a drive name. For instance, you can't tell looking at the path if / and /var are on the same drive, where as you (usually) can tell with Windows. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Possible leaking records in dashboard db
I'm using puppet-dashboard 1.1.0-1 on Ubuntu. I remove old reports using this command: nice -n +1 rake RAILS_ENV=production reports:prune upto=1 unit=mon This seems to work fine, and the amount of reports returnd by this mysql query seems to drop by the proper amount: select count(*) from reports; Right now it returns a value of 12591. So far so good. The problem is the resource_statuses statuses table. Right now I have 63695 distinct values for report_id as returned by: select count(*) from (select distinct report_id from resource_statuses)as count; Am I missing something? It seems to me this can be fixed by just making the table cascade on delete, though I'll freely admit I have only enough ruby experience to get a little ways past Hello World. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Running puppet client on OS X
On Jul 11, 2011, at 7:51 PM, treydock wrote: What is the preferred method for running the puppet client in OS X? So far all methods I've tried seem to default to running the client as the root user. Should this be changed to run as a puppet user? Should I explicitly define puppet as the user in puppet.conf? As a test I ran puppetd --test --debug -v and successfully had it check my puppetmaster while the OS X directories (/etc/puppet, /var/ lib/puppet/*) were owned by root, and it still worked. Usually the puppet client is run as root because this allows it to change things in the system. For instance, you can't install packages or change most files in /etc if you are not root. You can run the puppet client as a non-root user. It's just not as common. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Selecting repos
Hi Den, at least I can tell you that you're not the only one encountering this issue: http://projects.puppetlabs.com/issues/2247 -Stefan On Tue, Jul 12, 2011 at 01:13:10AM +, tu2bg...@gmail.com wrote: Hi all, Got an issue which is starting to annoy me. How do people currently select repos from which to install particular packages? Currently we have a base centos, (enabled by default), and several others that I want to enable and disable for particular packages, like being able to use the --disablerepo=* --enablerepo=somerepo. Anyone solved this issue or have a good work around. Basically there are some packages in the different repos that break some installs so I don't want them to be constantly enabled. We could manage the exclusions via the yumrepo type but that might be fiddly to manage. What have other people done? Cheers, Den -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Selecting repos
Hi, tu2bg...@gmail.com writes: How do people currently select repos from which to install particular packages? Currently we have a base centos, (enabled by default), and several others that I want to enable and disable for particular packages, like being able to use the --disablerepo=* --enablerepo=somerepo. We don't. We have a local yum repo (several of them actually) where we pull a copy of the packages we need. -- Arnaud -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: Running puppet client on OS X
That's what I was thinking would be the case, but since the puppetmaster files are also installed in OS X, that must by why a puppet user is required. So is there a way to do a client only install of Puppet in OS X? On Jul 12, 1:47 am, Patrick kc7...@gmail.com wrote: On Jul 11, 2011, at 7:51 PM, treydock wrote: What is the preferred method for running the puppet client in OS X? So far all methods I've tried seem to default to running the client as the root user. Should this be changed to run as a puppet user? Should I explicitly define puppet as the user in puppet.conf? As a test I ran puppetd --test --debug -v and successfully had it check my puppetmaster while the OS X directories (/etc/puppet, /var/ lib/puppet/*) were owned by root, and it still worked. Usually the puppet client is run as root because this allows it to change things in the system. For instance, you can't install packages or change most files in /etc if you are not root. You can run the puppet client as a non-root user. It's just not as common. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] how to write classes to install package from source
Hi, I want to write the class to install the packages from source . Please suggest me how to achieve the following things . 1. download the source file and extract it . 2. to the make make install and verify the installation Regards CHEBRIAN -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: how to write classes to install package from source
You might find this define useful ( https://github.com/example42/puppet-modules/blob/master/common/manifests/defines/netinstall.pp ): define netinstall ( $url, $extracted_dir, $destination_dir, $owner = root, $group = root, $work_dir = /var/tmp, $extract_command = tar -zxvf, $preextract_command = , $postextract_command = # $postextract_command = ./configure ; make ; make install ) { $source_filename = urlfilename($url) if $preextract_command { exec { PreExtract $source_filename: command = $preextract_command, before = Exec[Extract $source_filename], refreshonly = true, } } exec { Retrieve $url: cwd = $work_dir, command = wget $url, creates = $work_dir/$source_filename, timeout = 3600, } exec { Extract $source_filename: command = mkdir -p $destination_dir ; cd $destination_dir ; $extract_command $work_dir/$source_filename, unless = find $destination_dir | grep $extracted_dir, require = Exec[Retrieve $url], } if $postextract_command { exec { PostExtract $source_filename: command = $postextract_command, cwd = $destination_dir/$extracted_dir, subscribe = Exec[Extract $source_filename], refreshonly = true, timeout = 3600, require = Exec[Retrieve $url], } } } -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/cWUfes0R9OkJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Seemingly random failures after 2.7.1 upgrade
I recently upgraded my Puppetmaster to 2.7.1, and am now having what seem to be random puppet run failures on almost all my nodes. All nodes except the actual puppetmaster are running 2.6.8. Right now I will get alerted about a failure, then log into that system and do a manual run, which will succeed. Then maybe a few hours later another run will fail, and nothing has changed on the puppetmaster. So far two modules seem to be the most frequent failures. Here's the error from puppet-dashboard on a 2.6.8 client err Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class zabbix::agent for puppetclient0.domain at /etc/puppet/manifests/nodes.pp:177 on node puppetclient0.domain Puppet 2011-07-12 05:04 CDT err Could not retrieve catalog; skipping runPuppet 2011-07-12 05:04 CDT notice Using cached catalog That module is a bit large to paste in here, but it can be viewed at https://github.com/treydock/puppet-zabbix. The other failures are on similarly designed modules and I've also noticed that one very basic modules seem to be failing randomly on two clients, both are 2.6.8 err Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class kvm::host for puppetclient1.domain at / etc/puppet/manifests/roles.pp:35 on node puppetclient1.domain Puppet 2011-07-12 05:08 CDT err Could not retrieve catalog; skipping runPuppet 2011-07-12 05:08 CDT notice Using cached catalog -- Here's the module... # manifests/init.pp import classes/*.pp class kvm { } # manifests/classes/host.pp class kvm::host { package {'libvirt': ensure = installed, } service { 'libvirtd': enable = true, ensure = running, require = Package['libvirt']; } logrotate::file { 'libvirtd': log = '/var/log/libvirt/qemu/*.log', interval= 'weekly', rotation= '52', archive = 'true', minsize = '100k', options = [ 'missingok', 'notifempty', 'sharedscripts', 'dateext', 'copytruncate' ], } } Is using an empty class in init.pp problematic ? All of these modules worked just fine before going from 2.6.8 to 2.7.1. Thanks - Trey -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] How to avoid the use of defined
Arnaud Gomes-do-Vale arnaud.go...@ircam.fr writes: class wordpress { # apache::lamp includes apache::php include apache::lamp if $::os == 'rhel5' { include apache::php53 } # .../... } Including apache::php53 before apache::lamp fixes the issue. I wouldn't trust this is rock-solid though; including other classes in the wrong order would probably break this. -- Arnaud -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: all classes applied to every node
On Jul 11, 10:52 am, Zach zachary.g.armstr...@gmail.com wrote: Hi all, I'm noticing that all classes I have created are being applied to every node, even ones that don't specifically include them. There is no inheritance occurring that would allow this to happen. I've been reading docs and couldn't find anything about this... Am I missing something obvious? Let me know if you need more info The problem is far more likely to be in your manifests than to be in Puppet, but without seeing the manifests we can only speculate. My best guess is that you have top-level include statements in one or more of your manifests, perhaps where you meant import instead. It may also be that some of your classes are including others, with the result that all classes get pulled in even though some are not explicitly included at node level. John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: A Question about mixing Puppet with other things
On Jul 7, 2:47 pm, Dan White y...@comcast.net wrote: In Pro Linux System Administration Mr. Turnbull discusses Cobbler and Puppet In Pro Puppet he discusses Foreman and Puppet. Would anyone out there be willing and able to talk about the differences between Cobbler and Foreman as they relate to Puppet and what factors I should consider in choosing one of them ? Red Hat is using Foreman in CloudForms System Engine, their successor to Satellite. I'd take this as a strong vote of confidence in Foreman. https://www.redhat.com/archives/spacewalk-list/2011-July/msg00019.html All the best, Brian -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: all classes applied to every node
You guys got me on the right track... Turns out I was running into this: One of THE MOST DIFFICULT concepts to understand for puppet newbies is that these two things are identical: include foo class { 'foo': } In my case, I was declaring things like: class { nagios::webserver:stage = post } at the very top of the site.pp Is there a better way to declare what stage a class belongs to within the class declaration itself? Right now, I am doing something like this: node webserver01...12 inherits default { class { nagios::webserver:stage = post } include apache::apache_security include apache::php_security include apache::apache_conf_webserver } It's pretty ugly to have to keep declaring the stage in every node group (I have webservers, app servers, etc) On Jul 12, 9:21 am, jcbollinger john.bollin...@stjude.org wrote: On Jul 11, 10:52 am, Zach zachary.g.armstr...@gmail.com wrote: Hi all, I'm noticing that all classes I have created are being applied to every node, even ones that don't specifically include them. There is no inheritance occurring that would allow this to happen. I've been reading docs and couldn't find anything about this... Am I missing something obvious? Let me know if you need more info The problem is far more likely to be in your manifests than to be in Puppet, but without seeing the manifests we can only speculate. My best guess is that you have top-level include statements in one or more of your manifests, perhaps where you meant import instead. It may also be that some of your classes are including others, with the result that all classes get pulled in even though some are not explicitly included at node level. John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: Possible leaking records in dashboard db
There is already a bug open on this issue: http://projects.puppetlabs.com/issues/6717 So far, I've been manually cleaning out tables periodically, but that's not going to work long term. On Jul 12, 1:17 am, Patrick kc7...@gmail.com wrote: I'm using puppet-dashboard 1.1.0-1 on Ubuntu. I remove old reports using this command: nice -n +1 rake RAILS_ENV=production reports:prune upto=1 unit=mon This seems to work fine, and the amount of reports returnd by this mysql query seems to drop by the proper amount: select count(*) from reports; Right now it returns a value of 12591. So far so good. The problem is the resource_statuses statuses table. Right now I have 63695 distinct values for report_id as returned by: select count(*) from (select distinct report_id from resource_statuses)as count; Am I missing something? It seems to me this can be fixed by just making the table cascade on delete, though I'll freely admit I have only enough ruby experience to get a little ways past Hello World. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Re: Running puppet client on OS X
On Tue, Jul 12, 2011 at 2:21 AM, treydock treyd...@gmail.com wrote: That's what I was thinking would be the case, but since the puppetmaster files are also installed in OS X, that must by why a puppet user is required. So is there a way to do a client only install of Puppet in OS X? Puppet 2.6+ is a single executable puppet command. The difference between master and client is just some configuration files and whether the master service is enabled. Client only is really just install puppet, configure and enable agent only. You can see an example from ubuntu natty puppetmaster package: http://packages.ubuntu.com/natty/all/puppetmaster/filelist Thanks, Nan -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: How to avoid the use of defined
On Jul 11, 11:31 am, Arnaud Gomes-do-Vale arnaud.go...@ircam.fr wrote: Hi folks, This is a best practices question as much as a technical one. I am trying to redefine variables when I include a specific class. The use case is installing php 5.3 on a few select centos 5 boxes while keeping the default php 5.1 install on others. I think it would be more precise to say I am trying to redefine variables when a specific class *has been* included. The distinction is significant, because it narrows the possible approaches to only a few bad ones. Here's a good rule of thumb: never use Puppet's defined() function in your manifests. Ever. It is brittle, and it will cause you grief, increasing exponentially with the number of uses. Here is the relevant part of my apache module: - class apache::php inherits apache::base { include apache::params package { 'php': name = $apache::params::php_package, ensure = installed, require = Package['httpd'], notify = Service['httpd']; 'php-gd': name = $apache::params::php_gd_package, ensure = installed, require = Package['php'], notify = Service['httpd']; 'php-imap': name = $apache::params::php_imap_package, ensure = installed, require = Package['php'], notify = Service['httpd']; 'php-ldap': name = $apache::params::php_ldap_package, ensure = installed, require = Package['php'], notify = Service['httpd']; } } class apache::php53 inherits apache::php { # $os is defined in site.pp. if $::os == 'rhel5' { # Dirty hack. Yuck. exec { '/usr/bin/yum -y replace php --replace-with php53u': onlyif = '/bin/rpm -q php', # Class common::redhat::el::el5 installs yum-plugin-replace. require = Class['common::redhat::el::el5'], notify = Service['httpd'], } } else { warning 'Class apache::php53 should only ever be defined for RHEL5 and its clones.' } } class apache::params { case $::os { # .../... 'rhel5': { $httpd_package = 'httpd' $httpd_service = 'httpd' $rootdir = '/var/www/html' if defined(Class['apache::php53']) { $php_package = 'php53u' $php_gd_package = 'php53u-gd' $php_imap_package = 'php53u-imap' $php_ldap_package = 'php53u-ldap' } else { $php_package = 'php' $php_gd_package = 'php-gd' $php_imap_package = 'php-imap' $php_ldap_package = 'php-ldap' } } }} - When I add the apache::php53 to my host (I use LDAP as a node classifier if that matters), php and its extensions get upgraded to 5.3. However, when I add a class that depends on apache::php53, the defined function evaluates as false. class wordpress { # apache::lamp includes apache::php include apache::lamp if $::os == 'rhel5' { include apache::php53 } # .../... } I understand defined is quite unreliable. So I am wondering if there is a better option (read a working one)? Hardcoding the packages names in class apache::php53 is not enough as I have a bunch of other classes installing additional PHP modules. I suppose I could subclass them as well but things would probably get quite messy quite fast. There is no need for subclassing or defined() here. I would approach the problem something like this: - class apache::php { # Nothing from 'apache::base' is overridden, so it # should be included (if even that is needed) instead of # inherited from. include 'apache::base' include 'apache::params' # Resource defaults for Packages in this class Package { ensure = installed, require = Package['php'], notify = Service['httpd'] } package { 'php': name = $apache::params::php_package, require = Package['httpd']; 'php-gd': name = $apache::params::php_gd_package; 'php-imap': name = $apache::params::php_imap_package; 'php-ldap': name = $apache::params::php_ldap_package; } if $apache::params::php_package != 'php' { # Make sure the vanilla 'php' package is absent # before the alternative (e.g. 'php53') is installed package { 'php-alt': name = 'php', ensure = absent, require = undef, before = Package['php'] } } } # # ** No class apache::php53 ** # # # class apache::params unchanged, not shown # - Everybody that needs PHP just includes apache::php. If Puppet gets confused about having one package titled 'php' and a different one named 'php', then just change the titles so there is no clash. As my manifest shows, I'm not sure yum replace is really needed. If it is needed after all, then it shouldn't be too
Re: [Puppet Users] Re: all classes applied to every node
Zach zachary.g.armstr...@gmail.com wrote: You guys got me on the right track... Turns out I was running into this: One of THE MOST DIFFICULT concepts to understand for puppet newbies is that these two things are identical: include foo class { 'foo': } In my case, I was declaring things like: class { nagios::webserver:stage = post } at the very top of the site.pp Is there a better way to declare what stage a class belongs to within the class declaration itself? Right now, I am doing something like this: node webserver01...12 inherits default { class { nagios::webserver:stage = post } include apache::apache_security include apache::php_security include apache::apache_conf_webserver } It's pretty ugly to have to keep declaring the stage in every node group (I have webservers, app servers, etc) On Jul 12, 9:21 am, jcbollinger john.bollin...@stjude.org wrote: On Jul 11, 10:52 am, Zach zachary.g.armstr...@gmail.com wrote: Hi all, I'm noticing that all classes I have created are being applied to every node, even ones that don't specifically include them. There is no inheritance occurring that would allow this to happen. I've been reading docs and couldn't find anything about this... Am I missing something obvious? Let me know if you need more info The problem is far more likely to be in your manifests than to be in Puppet, but without seeing the manifests we can only speculate. My best guess is that you have top-level include statements in one or more of your manifests, perhaps where you meant import instead. It may also be that some of your classes are including others, with the result that all classes get pulled in even though some are not explicitly included at node level. John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. You should be able to set the default stage just like any other parameter. Jesse and I fixed that a while back. Forget which version it's fixed in though. -- Sent from my phone. Please excuse my brevity. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Re: A Question about mixing Puppet with other things
This tells me RedHat picked Foreman over Cobbler. It does not tell me WHY. Their reasons may not apply to my situation. I am not trying to be difficult, but I find that I cannot accept an opinion on a technical issue without technical information to back it up. Also, this is for my job, so I need to be able to justify my decision with more than The folks on the puppet mailing list told me to do it this way. “Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.” Bill Waterson (Calvin Hobbes) - Brian b...@uga.edu wrote: On Jul 7, 2:47 pm, Dan White y...@comcast.net wrote: In Pro Linux System Administration Mr. Turnbull discusses Cobbler and Puppet In Pro Puppet he discusses Foreman and Puppet. Would anyone out there be willing and able to talk about the differences between Cobbler and Foreman as they relate to Puppet and what factors I should consider in choosing one of them ? Red Hat is using Foreman in CloudForms System Engine, their successor to Satellite. I'd take this as a strong vote of confidence in Foreman. https://www.redhat.com/archives/spacewalk-list/2011-July/msg00019.html All the best, Brian -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Possible bug? Can't remove and then put back a file?
This happens to Puppet 2.7.1 (both master and client). I have a file resource that I set to ensure = absent, Puppet removed it correctly with info line that it has a duplicate entry in the filebucket. I then changed the ensure = present, the agent run gave me following error: /usr/bin/puppet:19 err: /Stage[main]/Emb/File[/opt/jetty-distribution-7.4.2.v20110526.tar.gz]/ensure: change from absent to file failed: Could not rename temporary file /opt/jetty-distribution-7.4.2.v20110526.tar.gz.puppettmp_7809 to /opt/jetty-distribution-7.4.2.v20110526.tar.gz: File written to disk did not match checksum; discarding changes ({md5lite}3dc95fb231fdabbe161d8773e2a10457 vs {md5lite}a3f7372d40abae273d2680b650ca4715) at /etc/puppet/modules/emb/manifests/init.pp:38 at /etc/puppet/modules/emb/manifests/init.pp:38 I have file { /opt/jetty-distribution-7.4.2.v20110526.tar.gz: ensure = present, checksum = md5lite, source = puppet:///emb/jetty-distribution-7.4.2.v20110526.tar.gz, } Is this a bug? Thanks Haitao -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Selecting repos
- Original Message - | Hi all, | | Got an issue which is starting to annoy me. | | How do people currently select repos from which to install particular | packages? Currently we have a base centos, (enabled by default), and | several others that I want to enable and disable for particular | packages, | like being able to use the --disablerepo=* --enablerepo=somerepo. | | Anyone solved this issue or have a good work around. Basically there | are | some packages in the different repos that break some installs so I | don't | want them to be constantly enabled. We could manage the exclusions via | the | yumrepo type but that might be fiddly to manage. | | What have other people done? | | Cheers, | Den It sucks but this is what I do currently. As already mentioned there are a couple of bug reports/feature requests to add this kind of support. class alpine { exec {install_alpine: command = '/usr/bin/yum -y install alpine --enablerepo=rpmforge', } } -- James A. Peltier IT Services - Research Computing Group Simon Fraser University - Burnaby Campus Phone : 778-782-6573 Fax : 778-782-3045 E-Mail : jpelt...@sfu.ca Website : http://www.sfu.ca/itservices http://blogs.sfu.ca/people/jpeltier -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Possible bug? Can't remove and then put back a file?
On Tue, 12 Jul 2011 08:41:24 -0700, Haitao Jiang wrote: This happens to Puppet 2.7.1 (both master and client). I have a file resource that I set to ensure = absent, Puppet removed it correctly with info line that it has a duplicate entry in the filebucket. I then changed the ensure = present, the agent run gave me following error: /usr/bin/puppet:19 err: /Stage[main]/Emb/File[/opt/jetty-distribution-7.4.2.v20110526.tar.gz]/ensure: change from absent to file failed: Could not rename temporary file /opt/jetty-distribution-7.4.2.v20110526.tar.gz.puppettmp_7809 to /opt/jetty-distribution-7.4.2.v20110526.tar.gz: File written to disk did not match checksum; discarding changes ({md5lite}3dc95fb231fdabbe161d8773e2a10457 vs {md5lite}a3f7372d40abae273d2680b650ca4715) at /etc/puppet/modules/emb/manifests/init.pp:38 at /etc/puppet/modules/emb/manifests/init.pp:38 I have file { /opt/jetty-distribution-7.4.2.v20110526.tar.gz: ensure = present, checksum = md5lite, source = puppet:///emb/jetty-distribution-7.4.2.v20110526.tar.gz, } Is this a bug? Thanks Haitao There certainly shouldn't be any problem with going from ensuring absent to ensuring present. Not sure if it's a bug though, since that kind of behavior could also be caused by problems with the filesystem on the agent. If you have direct access to the jetty-distribution-7.4.2.v20110526.tar.gz from your emb module, could you run the following ruby script to get what its md5lite checksum is? #!/usr/bin/env ruby require 'digest/md5' path_to_jetty_distribution = 'jetty-distribution-7.4.2.v20110526.tar.gz' puts Digest::MD5.hexdigest(File.read(path_to_jetty_distribution)[0..511]) -- Jacob Helwig signature.asc Description: Digital signature
[Puppet Users] Re: Issue with puppet file serving api not parsing yaml content correctly
Unfortunately, it does not work. That was the first thing I had tried to try and reproduce the problem in ruby outside a puppet run. Also, here are the ruby util modules for puppet in 0.25.4: /opt/ruby-1.8.6-p287/lib/ruby/site_ruby/1.8/puppet/util autoload autoload.rb backups.rb cacher.rb checksums.rb classgen.rb config_store.rb constant_inflector.rb diff.rb docs.rb errors.rb execution.rb feature.rb file_locking.rb fileparsing.rb filetype.rb graph.rb inifile.rb instance_loader.rb ldap ldap.rb loadedfile.rb logging.rb log_paths.rb log.rb metaid.rb methodhelper.rb metric.rb monkey_patches.rb nagios_maker.rb package.rb pidlock.rb posix.rb provider_features.rb pson.rb queue queue.rb rails rdoc rdoc.rb reference.rb resource_template.rb selinux.rb settings settings.rb storage.rb subclass_loader.rb suidmanager.rb tagging.rb user_attr.rb warnings.rb Also, I did not see anything in the monkey_patches.rb file pertaining to a yaml like patch only rdoc.: module RDoc def self.caller(skip=nil) in_gem_wrapper = false Kernel.caller.reject { |call| in_gem_wrapper ||= call =~ /#{Regexp.escape $0}:\d+:in `load'/ } end end I think at this point we will probably upgrade puppet anyways so I will just add require puppet/util/yaml once we have upgraded. -- Derek On Jul 11, 4:51 pm, Nigel Kersten ni...@puppetlabs.com wrote: On Mon, Jul 11, 2011 at 4:17 PM, Derek Tamsen dtam...@gmail.com wrote: Thanks. Unfortunately, it seems I will need to wait until we upgrade puppet as version 0.25.4 does not seem to have 'puppet/util/zaml'. Then I'm more confused :) does require 'puppet' require 'yaml' just do the right thing? If not, I'd post to the puppet-dev list and see if the more developer-focused crowd can give you a better answer for 0.25.4. -- Derek On Jul 11, 2:56 pm, Nigel Kersten ni...@puppetlabs.com wrote: On Mon, Jul 11, 2011 at 11:36 AM, Derek dtam...@gmail.com wrote: Thanks for everyone's help. I figured out what the issue was over the weekend. It appears that when the ruby script is run in a puppet run, puppet loads the yaml dictionaries specific to puppet. However, when I was testing the script in ruby I was not loading the yaml dictionaries for puppet. This was causing my script to get a generic loaded yaml of #YAML::Object:0x2ada01f7cf00 instead of the correctly loaded yaml #Puppet::FileServing::Metadata:0x2ac7987b9c08. When the dictionaries are loaded for puppet it no longer has an ivars hash with content or metadata. I just needed to do YAML.load(apitruthtag(content)).content instead of YAML.load(apitruthtag(content)).ivars[content]. However, because I am still not loading the dictionary outside of the puppet run my script will not function correctly if just executed in ruby. Does anybody know how to properly load the puppet yaml dictionary outside of a puppet run? You should be able to load it as require 'puppet/util/zaml' and use ZAML instead of YAML. That's the version of YAML we're vendoring to fix a whole list of bugs we ran into. There's more complication going on in: lib/puppet/util/monkey_patches.rb showing how we monkey patch the various yaml methods on objects to actually talk ZAML instead. FYI: The raw yaml data from puppet is: --- !ruby/object:Puppet::FileServing::Content content: | --- role: - base env: - dev expiration: 2011-07-11 18:57:08.413941 +00:00 links: :manage path: /etc/puppet/modules/truth/files/private/domain.inter/server01/ truth_tags.yml stat_method: :lstat -- Derek On Jul 9, 3:03 pm, Ken Barber k...@puppetlabs.com wrote: So ... servermd5 = YAML.load(apitruthtag(metadata)).ivars[checksum] # When executed from a puppet run I tells me that ivars is undefined. What does the output of apitruthtag(metadata) show you between each run in facter, irb and puppet? Can you output each to a file and analyze the difference? irb, ruby, or facter: yaml parsed http response = #YAML::Object:0x2ada01f7cf00 puppet run: yaml parsed http response = #Puppet::FileServing::Metadata: 0x2ac7987b9c08 with error: undefined method `ivars' for #Puppet::FileServing::Metadata: 0x2ac7987152c0 #NoMethodError: undefined method `ivars' for #Puppet::FileServing::Metadata:0x2ac7987152c0 So when you run it with all the Puppet libraries the YAML object is being serialized back into a Ruby object Puppet::FileServing::Metadata ... I'm really curious what the raw YAML output looks like. This should only happen I think if the YAML output has meta information that matches that class type for example: --- !ruby/object:Puppet::FileServing::Metadata {} I get the feeling the YAML you are getting back isn't what you were expecting and
Re: [Puppet Users] Moving config to an ENC
I have just gotten to playing with this and am doing something wrong, probably very basic. On the puppetmaster (which for my testing is also the client) I have create_resources.rb in /var/lib/puppet/lib/puppet/parser/functions. I wrote a new ENC that will just output a very basic YAML to test this, the output is: classes: yumreposerver: yumreposerver::locations: centos5: distro: centos version: 5.6 In my modules directory I have yumreposerver/manifests/locations.pp: class yumreposerver::locations ( $instances = {} ) { create_resources('yumreposerver::location', $instances) } yumreposerver/manifests/location.pp: define yumreposerver::location( $distro, $version ) { . } puppet agent -t --noop returns: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter yumreposerver::locations on node name Puppet version 2.6.9 on SL6. Any insight as to where I have gone wrong? Thanks, jl On Wed, Jul 6, 2011 at 7:22 AM, Justin Lambert jlamb...@localmatters.comwrote: This looks exactly like what I was looking for, thank you. This might be worth mentioning on the ENC page so people like myself can find it easier. On Tue, Jul 5, 2011 at 10:42 PM, Dan Bode d...@puppetlabs.com wrote: Hi J, The create resources function was created to serve this exact use case (the README actually mentions your exact use case :) ) https://github.com/puppetlabs/puppetlabs-create_resources This will require 2.6.5 or higher to work (That is the first version where ENC's support param classes) The function was also merged into core in 2.7.0 -Dan On Tue, Jul 5, 2011 at 1:40 PM, Justin Lambert jlamb...@localmatters.com wrote: I have recently started moving the config of our puppet hosts out of the nodes files and into an ENC so they can be managed through a web UI by someone with less technical experience without the fear of a typo causing a failure of all catalogs to compile. As a result, I have been looking at which modules need to be rewritten to support this. The problem I have run into is, how do you do something such as add multiple virtual hosts using the YAML output of an ENC? I currently have something like: node 'web01.company.com' { apache::virtualhost { 'site1': location = '/hosted/site1', url = ' http://site1.com' } apache::virtualhost { 'site2': location = '/hosted/site2', url = ' http://site2.com' } } This uses 'define apache::virtualhost' in order to create multiple sites, works fine. The YAML from an ENC (referencing http://docs.puppetlabs.com/guides/external_nodes.html) doesn't look to support this kind of definition so I need to find an alternative. My next thought was that I can pass parameters to a parameterized class. No love there as you can't instantiate a class multiple times with different parameters. How are others solving this issue? Thanks, jl -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Possible bug? Can't remove and then put back a file?
Jacob Thanks. I did that, the checksum is a3f7372d40abae273d2680b650ca4715. This is the second checksum in the error, what did 1st checksum came from? The file itself never changed during my tests. What is the next step? Thanks Haitao On Tue, Jul 12, 2011 at 9:53 AM, Jacob Helwig ja...@puppetlabs.com wrote: On Tue, 12 Jul 2011 08:41:24 -0700, Haitao Jiang wrote: This happens to Puppet 2.7.1 (both master and client). I have a file resource that I set to ensure = absent, Puppet removed it correctly with info line that it has a duplicate entry in the filebucket. I then changed the ensure = present, the agent run gave me following error: /usr/bin/puppet:19 err: /Stage[main]/Emb/File[/opt/jetty-distribution-7.4.2.v20110526.tar.gz]/ensure: change from absent to file failed: Could not rename temporary file /opt/jetty-distribution-7.4.2.v20110526.tar.gz.puppettmp_7809 to /opt/jetty-distribution-7.4.2.v20110526.tar.gz: File written to disk did not match checksum; discarding changes ({md5lite}3dc95fb231fdabbe161d8773e2a10457 vs {md5lite}a3f7372d40abae273d2680b650ca4715) at /etc/puppet/modules/emb/manifests/init.pp:38 at /etc/puppet/modules/emb/manifests/init.pp:38 I have file { /opt/jetty-distribution-7.4.2.v20110526.tar.gz: ensure = present, checksum = md5lite, source = puppet:///emb/jetty-distribution-7.4.2.v20110526.tar.gz, } Is this a bug? Thanks Haitao There certainly shouldn't be any problem with going from ensuring absent to ensuring present. Not sure if it's a bug though, since that kind of behavior could also be caused by problems with the filesystem on the agent. If you have direct access to the jetty-distribution-7.4.2.v20110526.tar.gz from your emb module, could you run the following ruby script to get what its md5lite checksum is? #!/usr/bin/env ruby require 'digest/md5' path_to_jetty_distribution = 'jetty-distribution-7.4.2.v20110526.tar.gz' puts Digest::MD5.hexdigest(File.read(path_to_jetty_distribution)[0..511]) -- Jacob Helwig -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) iQGcBAEBAgAGBQJOHHwlAAoJEHJabXWGiqEBZqAMALH6/sBAGSJ5zOThN4fvDMKB pbpHbb3sfA9796DKp+WndQxbM9oLi9RlB0fA3cOEmL4G7g+7W1QY+2q47fw19cTo cfS3TbibB6PsVlLFSjLJz5nxkq/Rw1TUosPKZdgEr+E0A5Z65Y+vIy3TeJTd2bl9 tFXaNLQtgd5CrAdphwrA9VzGY86rthvUqhK8O7SaKoH81JiZL5ooJ7mXh96Ih52n u6k6vue2g2s72PRtLxLMWQB0hC1I/j/JWr1TLzBQ+noJ5V+OG4P0BSRv+Azk43GI pnlA0UjteMH80KVfQTcehdjrWutty9/uvvuFLEeP1o/7scE2llovwvGj55aAZSAr d91N8U3mpguv3sWoH3QDdW52NE630zygU2mRgzjt20JA2qteDvKyvmvgt4rtA1TD VGmesHOd8fo2Tfan8vzrQwd44KSdzw1797Snb9yxZ+Z5aGm7YeW5n884oF3s7Z7/ Aie5mPf8Qk0/vubfoSIoT9D9s8g9165CxnON+pE/dQ== =Fp0N -END PGP SIGNATURE- -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Possible bug? Can't remove and then put back a file?
Well, it turns out that it's definitely a puppet bug. The streaming checksumming that's used doesn't actually only look at the first 512 characters like the static checksumming that's used for verifying the file on disk does. http://projects.puppetlabs.com/issues/8385 -- Jacob Helwig On Tue, 12 Jul 2011 11:04:09 -0700, Haitao Jiang wrote: Jacob Thanks. I did that, the checksum is a3f7372d40abae273d2680b650ca4715. This is the second checksum in the error, what did 1st checksum came from? The file itself never changed during my tests. What is the next step? Thanks Haitao On Tue, Jul 12, 2011 at 9:53 AM, Jacob Helwig ja...@puppetlabs.com wrote: On Tue, 12 Jul 2011 08:41:24 -0700, Haitao Jiang wrote: This happens to Puppet 2.7.1 (both master and client). I have a file resource that I set to ensure = absent, Puppet removed it correctly with info line that it has a duplicate entry in the filebucket. I then changed the ensure = present, the agent run gave me following error: /usr/bin/puppet:19 err: /Stage[main]/Emb/File[/opt/jetty-distribution-7.4.2.v20110526.tar.gz]/ensure: change from absent to file failed: Could not rename temporary file /opt/jetty-distribution-7.4.2.v20110526.tar.gz.puppettmp_7809 to /opt/jetty-distribution-7.4.2.v20110526.tar.gz: File written to disk did not match checksum; discarding changes ({md5lite}3dc95fb231fdabbe161d8773e2a10457 vs {md5lite}a3f7372d40abae273d2680b650ca4715) at /etc/puppet/modules/emb/manifests/init.pp:38 at /etc/puppet/modules/emb/manifests/init.pp:38 I have file { /opt/jetty-distribution-7.4.2.v20110526.tar.gz: ensure = present, checksum = md5lite, source = puppet:///emb/jetty-distribution-7.4.2.v20110526.tar.gz, } Is this a bug? Thanks Haitao There certainly shouldn't be any problem with going from ensuring absent to ensuring present. Not sure if it's a bug though, since that kind of behavior could also be caused by problems with the filesystem on the agent. If you have direct access to the jetty-distribution-7.4.2.v20110526.tar.gz from your emb module, could you run the following ruby script to get what its md5lite checksum is? #!/usr/bin/env ruby require 'digest/md5' path_to_jetty_distribution = 'jetty-distribution-7.4.2.v20110526.tar.gz' puts Digest::MD5.hexdigest(File.read(path_to_jetty_distribution)[0..511]) -- Jacob Helwig -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) iQGcBAEBAgAGBQJOHHwlAAoJEHJabXWGiqEBZqAMALH6/sBAGSJ5zOThN4fvDMKB pbpHbb3sfA9796DKp+WndQxbM9oLi9RlB0fA3cOEmL4G7g+7W1QY+2q47fw19cTo cfS3TbibB6PsVlLFSjLJz5nxkq/Rw1TUosPKZdgEr+E0A5Z65Y+vIy3TeJTd2bl9 tFXaNLQtgd5CrAdphwrA9VzGY86rthvUqhK8O7SaKoH81JiZL5ooJ7mXh96Ih52n u6k6vue2g2s72PRtLxLMWQB0hC1I/j/JWr1TLzBQ+noJ5V+OG4P0BSRv+Azk43GI pnlA0UjteMH80KVfQTcehdjrWutty9/uvvuFLEeP1o/7scE2llovwvGj55aAZSAr d91N8U3mpguv3sWoH3QDdW52NE630zygU2mRgzjt20JA2qteDvKyvmvgt4rtA1TD VGmesHOd8fo2Tfan8vzrQwd44KSdzw1797Snb9yxZ+Z5aGm7YeW5n884oF3s7Z7/ Aie5mPf8Qk0/vubfoSIoT9D9s8g9165CxnON+pE/dQ== =Fp0N -END PGP SIGNATURE- signature.asc Description: Digital signature
Re: [Puppet Users] Possible bug? Can't remove and then put back a file?
Jacob Thanks for confirming that. There might be another related bug: when I changed the ensure = mtime, it still failed: /usr/bin/puppet:19:in `load' /usr/bin/puppet:19 err: /Stage[main]/Emb/File[/opt/jetty-distribution-7.4.2.v20110526.tar.gz]/ensure: change from absent to file failed: Could not rename temporary file /opt/jetty-distribution-7.4.2.v20110526.tar.gz.puppettmp_5512 to /opt/jetty-distribution-7.4.2.v20110526.tar.gz: File written to disk did not match checksum; discarding changes ({mtime} vs {mtime}Tue Jul 12 12:00:32 -0700 2011) at /etc/puppet/modules/emb/manifests/init.pp:38 at /etc/puppet/modules/emb/manifests/init.pp:38 notice: /Stage[main]/Emb/Exec[tar xzf jetty-distribution-7.4.2.v20110526.tar.gz]: Dependency File[/opt/jetty-distribution-7.4.2.v20110526.tar.gz] has failures: true Seems that there is a problem with mtime too. Thanks Haitao On Tue, Jul 12, 2011 at 11:55 AM, Jacob Helwig ja...@puppetlabs.com wrote: Well, it turns out that it's definitely a puppet bug. The streaming checksumming that's used doesn't actually only look at the first 512 characters like the static checksumming that's used for verifying the file on disk does. http://projects.puppetlabs.com/issues/8385 -- Jacob Helwig On Tue, 12 Jul 2011 11:04:09 -0700, Haitao Jiang wrote: Jacob Thanks. I did that, the checksum is a3f7372d40abae273d2680b650ca4715. This is the second checksum in the error, what did 1st checksum came from? The file itself never changed during my tests. What is the next step? Thanks Haitao On Tue, Jul 12, 2011 at 9:53 AM, Jacob Helwig ja...@puppetlabs.com wrote: On Tue, 12 Jul 2011 08:41:24 -0700, Haitao Jiang wrote: This happens to Puppet 2.7.1 (both master and client). I have a file resource that I set to ensure = absent, Puppet removed it correctly with info line that it has a duplicate entry in the filebucket. I then changed the ensure = present, the agent run gave me following error: /usr/bin/puppet:19 err: /Stage[main]/Emb/File[/opt/jetty-distribution-7.4.2.v20110526.tar.gz]/ensure: change from absent to file failed: Could not rename temporary file /opt/jetty-distribution-7.4.2.v20110526.tar.gz.puppettmp_7809 to /opt/jetty-distribution-7.4.2.v20110526.tar.gz: File written to disk did not match checksum; discarding changes ({md5lite}3dc95fb231fdabbe161d8773e2a10457 vs {md5lite}a3f7372d40abae273d2680b650ca4715) at /etc/puppet/modules/emb/manifests/init.pp:38 at /etc/puppet/modules/emb/manifests/init.pp:38 I have file { /opt/jetty-distribution-7.4.2.v20110526.tar.gz: ensure = present, checksum = md5lite, source = puppet:///emb/jetty-distribution-7.4.2.v20110526.tar.gz, } Is this a bug? Thanks Haitao There certainly shouldn't be any problem with going from ensuring absent to ensuring present. Not sure if it's a bug though, since that kind of behavior could also be caused by problems with the filesystem on the agent. If you have direct access to the jetty-distribution-7.4.2.v20110526.tar.gz from your emb module, could you run the following ruby script to get what its md5lite checksum is? #!/usr/bin/env ruby require 'digest/md5' path_to_jetty_distribution = 'jetty-distribution-7.4.2.v20110526.tar.gz' puts Digest::MD5.hexdigest(File.read(path_to_jetty_distribution)[0..511]) -- Jacob Helwig -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) iQGcBAEBAgAGBQJOHHwlAAoJEHJabXWGiqEBZqAMALH6/sBAGSJ5zOThN4fvDMKB pbpHbb3sfA9796DKp+WndQxbM9oLi9RlB0fA3cOEmL4G7g+7W1QY+2q47fw19cTo cfS3TbibB6PsVlLFSjLJz5nxkq/Rw1TUosPKZdgEr+E0A5Z65Y+vIy3TeJTd2bl9 tFXaNLQtgd5CrAdphwrA9VzGY86rthvUqhK8O7SaKoH81JiZL5ooJ7mXh96Ih52n u6k6vue2g2s72PRtLxLMWQB0hC1I/j/JWr1TLzBQ+noJ5V+OG4P0BSRv+Azk43GI pnlA0UjteMH80KVfQTcehdjrWutty9/uvvuFLEeP1o/7scE2llovwvGj55aAZSAr d91N8U3mpguv3sWoH3QDdW52NE630zygU2mRgzjt20JA2qteDvKyvmvgt4rtA1TD VGmesHOd8fo2Tfan8vzrQwd44KSdzw1797Snb9yxZ+Z5aGm7YeW5n884oF3s7Z7/ Aie5mPf8Qk0/vubfoSIoT9D9s8g9165CxnON+pE/dQ== =Fp0N -END PGP SIGNATURE- -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) iQGcBAEBAgAGBQJOHJiZAAoJEHJabXWGiqEB5dsL/0seZf7J7JTGBlHIkE5yoM2Z TXpYaGThBS41EiujrBPZZbzmJfLhN/HX1lSN+ccyZYt673VudxX+HU6z4bdNDcaI un81M2kZJSvoPZfsywwSIBQo0fwcdTQZcmMdphYnA+sO8qDbxQYUipati6h6AE3N X8nJYh0WPXItAt5TPeuUtn9X01XjYGLhhP00By7zYVYSZjabWkc+YDR0IJpyJN6B cMM/o72nahmVbziFcwv6D0987YtzIXav+t79/fjBKdyKMFBeCMU9ANzbFdCZrLHo qoSI5CYmbMe4SJAXV/IprGptpuP0rte4AKr9Uw9XrBGwxPc+n+pWX91AqepSiHJ3 kYCzVhVdhGQQ2bRQebiAli6wvMsYsHw2Ozg1AkFpZzBLPb1h+ASV45szRoAXRn2P uM7WM6uboOjqH8mav7rvuyz0Pa8sksldBFJKx0r+XVDT5PkMkvhNNyPogvQlI9+S x935ipRerM8cuPhFbosuAhT5K1mENkmf46EkFvjLug== =NICV -END PGP SIGNATURE- -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from
Re: [Puppet Users] Re: A Question about mixing Puppet with other things
Doesn't the Foreman use Cobbler for managing PXE and Kickstart? -scott On Tue, Jul 12, 2011 at 8:26 AM, Dan White y...@comcast.net wrote: This tells me RedHat picked Foreman over Cobbler. It does not tell me WHY. Their reasons may not apply to my situation. I am not trying to be difficult, but I find that I cannot accept an opinion on a technical issue without technical information to back it up. Also, this is for my job, so I need to be able to justify my decision with more than The folks on the puppet mailing list told me to do it this way. “Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.” Bill Waterson (Calvin Hobbes) - Brian b...@uga.edu wrote: On Jul 7, 2:47 pm, Dan White y...@comcast.net wrote: In Pro Linux System Administration Mr. Turnbull discusses Cobbler and Puppet In Pro Puppet he discusses Foreman and Puppet. Would anyone out there be willing and able to talk about the differences between Cobbler and Foreman as they relate to Puppet and what factors I should consider in choosing one of them ? Red Hat is using Foreman in CloudForms System Engine, their successor to Satellite. I'd take this as a strong vote of confidence in Foreman. https://www.redhat.com/archives/spacewalk-list/2011-July/msg00019.html All the best, Brian -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Freezes at debug: file_metadata supports formats:
Hi. I have a client and server running Puppet 2.7.1 from GEMS (though the same problem occurs using the Ubuntu Lucid standard packages). I try to update the client against the server, and it freezes at this line: debug: file_metadata supports formats: b64_zlib_yaml marshal pson raw yaml; using pson Any idea what would cause that? I'm afraid I didn't recognize any usable debugging info in its output, but I'm attaching the whole thing below. Thanks for any help. - Mat --- ~# puppetd --debug --trace --test --verbose --no-daemonize --server my.server.org debug: Failed to load library 'selinux' for feature 'selinux' debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not exist debug: Failed to load library 'ldap' for feature 'ldap' debug: Puppet::Type::User::ProviderLdap: feature ldap is missing debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/ dscl does not exist debug: Puppet::Type::User::ProviderPw: file pw does not exist debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows is missing debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring File[/ var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/public_keys/ myclient.myrealdomain.pem]: Autorequiring File[/var/lib/puppet/ssl/ public_keys] debug: /File[/var/lib/puppet/state/last_run_summary.yaml]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/ssl/crl.pem]: Autorequiring File[/var/lib/ puppet/ssl] debug: /File[/var/lib/puppet/state/state.yaml]: Autorequiring File[/ var/lib/puppet/state] debug: /File[/var/lib/puppet/ssl/certs/myclient.myrealdomain.pem]: Autorequiring File[/var/lib/puppet/ssl/certs] debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/ lib/puppet] debug: /File[/var/lib/puppet/state/classes.txt]: Autorequiring File[/ var/lib/puppet/state] debug: /File[/var/lib/puppet/ssl/private]: Autorequiring File[/var/lib/ puppet/ssl] debug: /File[/var/lib/puppet/state/graphs]: Autorequiring File[/var/ lib/puppet/state] debug: /File[/var/lib/puppet/ssl/certs/ca.pem]: Autorequiring File[/ var/lib/puppet/ssl/certs] debug: /File[/var/lib/puppet/ssl]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/client_data]: Autorequiring File[/var/lib/ puppet] debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/etc/puppet/puppet.conf]: Autorequiring File[/etc/puppet] debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring File[/var/lib/ puppet/ssl] debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/ puppet] debug: /File[/var/lib/puppet/ssl/private_keys/ myclient.myrealdomain.pem]: Autorequiring File[/var/lib/puppet/ssl/ private_keys] debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/ puppet] debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/ puppet] debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring File[/var/ lib/puppet/ssl] debug: Finishing transaction 70213040681480 debug: /File[/var/lib/puppet/ssl/private]: Autorequiring File[/var/lib/ puppet/ssl] debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/ puppet] debug: /File[/var/lib/puppet/ssl/crl.pem]: Autorequiring File[/var/lib/ puppet/ssl] debug: /File[/var/lib/puppet/ssl/certs/myclient.myrealdomain.pem]: Autorequiring File[/var/lib/puppet/ssl/certs] debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring File[/var/ lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring File[/var/lib/ puppet/ssl] debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/certs/ca.pem]: Autorequiring File[/ var/lib/puppet/ssl/certs] debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/ puppet] debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring File[/ var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/public_keys/ myclient.myrealdomain.pem]: Autorequiring File[/var/lib/puppet/ssl/ public_keys] debug: /File[/var/lib/puppet/ssl/private_keys/ myclient.myrealdomain.pem]: Autorequiring File[/var/lib/puppet/ssl/ private_keys] debug: Finishing transaction 70213038981560 debug: Using cached certificate for ca debug: Using cached certificate for myclient.myrealdomain debug: Finishing transaction 70213041512000 debug: Loaded state in 0.01 seconds info: Retrieving plugin debug: Using cached certificate for ca debug: Using cached certificate for myclient.myrealdomain debug: Using cached certificate_revocation_list for ca debug: file_metadata supports formats: b64_zlib_yaml marshal pson raw yaml; using pson -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to
Re: [Puppet Users] Re: A Question about mixing Puppet with other things
On Tue, Jul 12, 2011 at 10:53 PM, Scott Smith sc...@ohlol.net wrote: Doesn't the Foreman use Cobbler for managing PXE and Kickstart? not at all. Ohad -scott On Tue, Jul 12, 2011 at 8:26 AM, Dan White y...@comcast.net wrote: This tells me RedHat picked Foreman over Cobbler. It does not tell me WHY. Their reasons may not apply to my situation. I am not trying to be difficult, but I find that I cannot accept an opinion on a technical issue without technical information to back it up. Also, this is for my job, so I need to be able to justify my decision with more than The folks on the puppet mailing list told me to do it this way. “Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.” Bill Waterson (Calvin Hobbes) - Brian b...@uga.edu wrote: On Jul 7, 2:47 pm, Dan White y...@comcast.net wrote: In Pro Linux System Administration Mr. Turnbull discusses Cobbler and Puppet In Pro Puppet he discusses Foreman and Puppet. Would anyone out there be willing and able to talk about the differences between Cobbler and Foreman as they relate to Puppet and what factors I should consider in choosing one of them ? Red Hat is using Foreman in CloudForms System Engine, their successor to Satellite. I'd take this as a strong vote of confidence in Foreman. https://www.redhat.com/archives/spacewalk-list/2011-July/msg00019.html All the best, Brian -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Re: A Question about mixing Puppet with other things
Okay I'll have a stab at some differences for you and some similarities. Cobbler is written in python and foreman in ruby like puppet. They each do a similar kind of thing with a similar tool set; dns, pxe, dhcp. Each have a gui. Cobbler only recently included debian support in their main line and has only been good for RH hosts whereas foreman has had it released for awhile and can build RH deb and solaris nodes. Each use preseed,or kickstart templates. Cobbler has a good set of features and has func and koan as sister apps which are good. Foreman has had a tighter integration with puppet. I use cobbler but will most likely replacing that with foreman once I get time to migrate all my python snippets (which use the cheetah templating engine). That's all I can think of right now. Cheers, Den On 13/07/2011, at 1:26, Dan White y...@comcast.net wrote: This tells me RedHat picked Foreman over Cobbler. It does not tell me WHY. Their reasons may not apply to my situation. I am not trying to be difficult, but I find that I cannot accept an opinion on a technical issue without technical information to back it up. Also, this is for my job, so I need to be able to justify my decision with more than The folks on the puppet mailing list told me to do it this way. “Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.” Bill Waterson (Calvin Hobbes) - Brian b...@uga.edu wrote: On Jul 7, 2:47 pm, Dan White y...@comcast.net wrote: In Pro Linux System Administration Mr. Turnbull discusses Cobbler and Puppet In Pro Puppet he discusses Foreman and Puppet. Would anyone out there be willing and able to talk about the differences between Cobbler and Foreman as they relate to Puppet and what factors I should consider in choosing one of them ? Red Hat is using Foreman in CloudForms System Engine, their successor to Satellite. I'd take this as a strong vote of confidence in Foreman. https://www.redhat.com/archives/spacewalk-list/2011-July/msg00019.html All the best, Brian -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] I: Cloud hosting made easy with OpenStack and Puppet
Perhaps someone of this list is interested. Regards Messaggio originale Da: SearchEnterpriseLinux.com Inviato: 12/07/2011, 21:02 A: pinto.e...@gmail.com Oggetto: Cloud hosting made easy with OpenStack and Puppet SearchEnterpriseLinux.com: Enterprise Linux Advisor Linux in Production July 12, 2011 HOW TO INSTALL AN OPENSTACK NOVA COMPUTE CLOUD WITH PUPPET http://go.techtarget.com/r/14424454/5394733 James Turnbull, Contributor The open source cloud project, OpenStack, can be used to host private or public clouds. Learn how to install it using the Puppet configuration management tool on your Linux server. READ THE FULL TIP http://go.techtarget.com/r/14424455/5394733 :: ADVERTISEMENT ::: SearchEnterpriseLinux.com Sponsored by: SearchEnterpriseLinux.com A collection of the top Linux command tips http://go.techtarget.com/r/14424456/5394733 Guide to the Linux security toolbox http://go.techtarget.com/r/14424457/5394733 Linux troubleshooting fast guide http://go.techtarget.com/r/14424458/5394733 Sharing Windows files with the Linux CIFS client http://go.techtarget.com/r/14424459/5394733 Utilize SearchEnterpriseLinux's comprehensive learning guide library http://go.techtarget.com/r/14424460/5394733 :: Open Virtualization Alliance unlikely to unseat VMware http://go.techtarget.com/r/14424461/5394733 Users aren't sold that the Open Virtualization Alliance can promote KVM over VMware, the safe virtualization choice. READ THE FULL STORY http://go.techtarget.com/r/14424462/5394733 :: Managing Red Hat from a graphical environment over SSH with PuTTY http://go.techtarget.com/r/14424463/5394733 Red Hat Enterprise Linux administration can be conducted through a GNOME graphical interface. Learn how to remotely use these tools over an SSH connection using PuTTY. READ THE FULL TIP http://go.techtarget.com/r/14424464/5394733 :: Choosing the right virtualization management tools http://go.techtarget.com/r/14424465/5394733 Virtualization management tools that can distinguish between physical and virtual servers give IT administrators the ability to better monitor virtual machines and allocate resources. LISTEN TO THE PODCAST http://go.techtarget.com/r/14424466/5394733 -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Run this only once!!
Hi, I am trying run a package once and when it completes I want my manifest to create a touch file and from that file being placed there it will not run again. I have this so far, but have been running into syntax problems/invalid parameters. #Package to install package { 'Bindscript20100601.dmg': provider= pkgdmg, ensure = installed, source = 'temp/location/rightnow/Bindscript20100601.dmg', notify = [Exec['blahblah']], onlyif = test -e /var/db/.bindscript, } exec {'blahblah': command ='touch /var/db/.bindscript', path=['/usr/bin'] } If you need more information please ask. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Moving config to an ENC
Hi, is 'something::other' valid in yaml? Cheers Den On 13/07/2011, at 3:43, Justin Lambert jlamb...@localmatters.com wrote: I have just gotten to playing with this and am doing something wrong, probably very basic. On the puppetmaster (which for my testing is also the client) I have create_resources.rb in /var/lib/puppet/lib/puppet/parser/functions. I wrote a new ENC that will just output a very basic YAML to test this, the output is: classes: yumreposerver: yumreposerver::locations: centos5: distro: centos version: 5.6 In my modules directory I have yumreposerver/manifests/locations.pp: class yumreposerver::locations ( $instances = {} ) { create_resources('yumreposerver::location', $instances) } yumreposerver/manifests/location.pp: define yumreposerver::location( $distro, $version ) { . } puppet agent -t --noop returns: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter yumreposerver::locations on node name Puppet version 2.6.9 on SL6. Any insight as to where I have gone wrong? Thanks, jl On Wed, Jul 6, 2011 at 7:22 AM, Justin Lambert jlamb...@localmatters.com wrote: This looks exactly like what I was looking for, thank you. This might be worth mentioning on the ENC page so people like myself can find it easier. On Tue, Jul 5, 2011 at 10:42 PM, Dan Bode d...@puppetlabs.com wrote: Hi J, The create resources function was created to serve this exact use case (the README actually mentions your exact use case :) ) https://github.com/puppetlabs/puppetlabs-create_resources This will require 2.6.5 or higher to work (That is the first version where ENC's support param classes) The function was also merged into core in 2.7.0 -Dan On Tue, Jul 5, 2011 at 1:40 PM, Justin Lambert jlamb...@localmatters.com wrote: I have recently started moving the config of our puppet hosts out of the nodes files and into an ENC so they can be managed through a web UI by someone with less technical experience without the fear of a typo causing a failure of all catalogs to compile. As a result, I have been looking at which modules need to be rewritten to support this. The problem I have run into is, how do you do something such as add multiple virtual hosts using the YAML output of an ENC? I currently have something like: node 'web01.company.com' { apache::virtualhost { 'site1': location = '/hosted/site1', url = 'http://site1.com' } apache::virtualhost { 'site2': location = '/hosted/site2', url = 'http://site2.com' } } This uses 'define apache::virtualhost' in order to create multiple sites, works fine. The YAML from an ENC (referencing http://docs.puppetlabs.com/guides/external_nodes.html) doesn't look to support this kind of definition so I need to find an alternative. My next thought was that I can pass parameters to a parameterized class. No love there as you can't instantiate a class multiple times with different parameters. How are others solving this issue? Thanks, jl -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Run this only once!!
On Tue, 12 Jul 2011 13:19:34 -0700, vella1tj wrote: Hi, I am trying run a package once and when it completes I want my manifest to create a touch file and from that file being placed there it will not run again. I have this so far, but have been running into syntax problems/invalid parameters. #Package to install package { 'Bindscript20100601.dmg': provider= pkgdmg, ensure = installed, source = 'temp/location/rightnow/Bindscript20100601.dmg', notify = [Exec['blahblah']], onlyif = test -e /var/db/.bindscript, } exec {'blahblah': command ='touch /var/db/.bindscript', path=['/usr/bin'] } If you need more information please ask. Couple of things. onlyif is only valid on exec resources. This shouldn't actually be necessary. The pkgdmg provider should keep track of which things it's installed, so it won't keep trying to install the .dmg on every run. Is the following resource definition not working for you? package { 'Bindscript20100601.dmg': provider = pkgdmg, ensure = installed, source = 'temp/location/rightnow/Bindscript20100601.dmg', } -- Jacob Helwig , | Join us for PuppetConf, September 22nd and 23rd in Portland, OR | http://bit.ly/puppetconfsig ` signature.asc Description: Digital signature
Re: [Puppet Users] Run this only once!!
package { 'Bindscript20100601.dmg': provider = pkgdmg, ensure = installed, source = 'temp/location/rightnow/Bindscript20100601.dmg', } Seems to work fine I return this once it runs notice: //Package[Bindscript20100601.pkg.dmg]/ensure: created So it will only run once on the machine? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/QTeXJzyTz8YJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Run this only once!!
On Tue, Jul 12, 2011 at 1:37 PM, Jacob Helwig ja...@puppetlabs.com wrote: This shouldn't actually be necessary. The pkgdmg provider should keep track of which things it's installed, so it won't keep trying to install the .dmg on every run. and for further detail, due to OS X not having a real package management system, the way Puppet works out if a package was installed is by dropping a .puppet_pkgdmg_ file in /var/db -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Run this only once!!
On Tue, 12 Jul 2011 13:43:45 -0700, vella1tj wrote: package { 'Bindscript20100601.dmg': provider = pkgdmg, ensure = installed, source = 'temp/location/rightnow/Bindscript20100601.dmg', } Seems to work fine I return this once it runs notice: //Package[Bindscript20100601.pkg.dmg]/ensure: created So it will only run once on the machine? Correct. As long as the file that Nigel pointed out remains there, it won't try to install the .dmg again. -- Jacob Helwig , | Join us for PuppetConf, September 22nd and 23rd in Portland, OR | http://bit.ly/puppetconfsig ` signature.asc Description: Digital signature
Re: [Puppet Users] Moving config to an ENC
I am using the create_resource module backported from 2.7 to 2.6 to make this possible. The module I am using was recommeded by Dan Bode and can be found at https://github.com/puppetlabs/puppetlabs-create_resources. I'm sure it is just something in the way I am implementing it. On Tue, Jul 12, 2011 at 2:33 PM, Denmat tu2bg...@gmail.com wrote: Hi, is 'something::other' valid in yaml? Cheers Den On 13/07/2011, at 3:43, Justin Lambert jlamb...@localmatters.com wrote: I have just gotten to playing with this and am doing something wrong, probably very basic. On the puppetmaster (which for my testing is also the client) I have create_resources.rb in /var/lib/puppet/lib/puppet/parser/functions. I wrote a new ENC that will just output a very basic YAML to test this, the output is: classes: yumreposerver: yumreposerver::locations: centos5: distro: centos version: 5.6 In my modules directory I have yumreposerver/manifests/locations.pp: class yumreposerver::locations ( $instances = {} ) { create_resources('yumreposerver::location', $instances) } yumreposerver/manifests/location.pp: define yumreposerver::location( $distro, $version ) { . } puppet agent -t --noop returns: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter yumreposerver::locations on node name Puppet version 2.6.9 on SL6. Any insight as to where I have gone wrong? Thanks, jl On Wed, Jul 6, 2011 at 7:22 AM, Justin Lambert jlamb...@localmatters.com jlamb...@localmatters.com wrote: This looks exactly like what I was looking for, thank you. This might be worth mentioning on the ENC page so people like myself can find it easier. On Tue, Jul 5, 2011 at 10:42 PM, Dan Bode d...@puppetlabs.com d...@puppetlabs.com wrote: Hi J, The create resources function was created to serve this exact use case (the README actually mentions your exact use case :) ) https://github.com/puppetlabs/puppetlabs-create_resources https://github.com/puppetlabs/puppetlabs-create_resources This will require 2.6.5 or higher to work (That is the first version where ENC's support param classes) The function was also merged into core in 2.7.0 -Dan On Tue, Jul 5, 2011 at 1:40 PM, Justin Lambert jlamb...@localmatters.com jlamb...@localmatters.com wrote: I have recently started moving the config of our puppet hosts out of the nodes files and into an ENC so they can be managed through a web UI by someone with less technical experience without the fear of a typo causing a failure of all catalogs to compile. As a result, I have been looking at which modules need to be rewritten to support this. The problem I have run into is, how do you do something such as add multiple virtual hosts using the YAML output of an ENC? I currently have something like: node ' http://web01.company.comweb01.company.com' { apache::virtualhost { 'site1': location = '/hosted/site1', url = 'http://site1.com http://site1.com' } apache::virtualhost { 'site2': location = '/hosted/site2', url = 'http://site2.com http://site2.com' } } This uses 'define apache::virtualhost' in order to create multiple sites, works fine. The YAML from an ENC (referencing http://docs.puppetlabs.com/guides/external_nodes.html http://docs.puppetlabs.com/guides/external_nodes.html) doesn't look to support this kind of definition so I need to find an alternative. My next thought was that I can pass parameters to a parameterized class. No love there as you can't instantiate a class multiple times with different parameters. How are others solving this issue? Thanks, jl -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users%2bunsubscr...@googlegroups.com puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users%2bunsubscr...@googlegroups.com puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You
[Puppet Users] puppetrun/puppet kick
Can't seem to make it work puppet 2.6.8 (client/server) # puppet kick -f ubuntu4.ttinet Triggering ubuntu4.ttinet Host ubuntu4.ttinet failed: Error 400 on SERVER: 'save ' is not an allowed value for method directive ubuntu4.ttinet finished with exit code 2 Failed: ubuntu4.ttinet root@ubuntu4:~# cat /etc/puppet/auth.conf path /run method save allow * root@ubuntu4:~# cat /etc/puppet/namespaceauth.conf [puppetrunner] allow * root@ubuntu4:~# grep listen /etc/puppet/* /etc/puppet/puppet.conf: listen = true -- Craig White ~~ craig.wh...@ttiltd.com 1.800.869.6908 ~~~ www.ttiassessments.com Need help communicating between generations at work to achieve your desired success? Let us help! -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] A Question about mixing Puppet with other things
We use Cobbler to provision and Puppet to manage. Once our server is provisioned it'll never speak to the Cobbler server again. Lay down the most basic config you need with Cobbler to allow it to pull the Puppet agent and config from a repo, and then let Puppet take over. I have little experience with Foreman, but Cobbler is easy to setup and get going. You can perform everything you need to do via the command line which makes scripting easy for me. There is a web front end, but I don't use it much. On Thu, Jul 7, 2011 at 1:47 PM, Dan White y...@comcast.net wrote: In Pro Linux System Administration Mr. Turnbull discusses Cobbler and Puppet In Pro Puppet he discusses Foreman and Puppet. Would anyone out there be willing and able to talk about the differences between Cobbler and Foreman as they relate to Puppet and what factors I should consider in choosing one of them ? I want to use Puppet with Something-Else to manage a group of servers and desktops and other machines in a centralized, automated, configurable and repeatable fashion. I want to be able to do operating system installations, patches and/or updates, and maintenance activity. Thanks. “Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.” Bill Waterson (Calvin Hobbes) -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- I've seen things you people wouldn't believe. Attack ships on fire off the shoulder of Orion. I watched C-beams glitter in the dark near the Tannhauser gate. All those moments will be lost in time... like tears in rain... Time to die. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Perform puppetrun on a subset of the included classes
Does puppet have/support the use case where I only want to include certain classes if the puppet daemon is running, and another set if classes if puppet is run manually with the runonce option? I think a good example would be: * I want to include nagios and nrpe when run via the daemon * I want to include mysql (to manage the mysql service, package, users, grants, etc.) when when manually with the runonce option The idea is I may have some set of applications that can be updated at anytime, but there will other applications that are under strict change control. -Andrew -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Perform puppetrun on a subset of the included classes
Have you looked at tags? http://docs.puppetlabs.com/references/stable/metaparameter.html#tag http://docs.puppetlabs.com/references/stable/function.html#tag It allows you to tag parts of your content, and selectively run it with --tags tag_name on the command line. Classes are already tagged implicitly with their own name - so this will already work for you most probably. ken. On Wed, Jul 13, 2011 at 1:32 AM, Andrew Thompson netengr2...@gmail.com wrote: Does puppet have/support the use case where I only want to include certain classes if the puppet daemon is running, and another set if classes if puppet is run manually with the runonce option? I think a good example would be: * I want to include nagios and nrpe when run via the daemon * I want to include mysql (to manage the mysql service, package, users, grants, etc.) when when manually with the runonce option The idea is I may have some set of applications that can be updated at anytime, but there will other applications that are under strict change control. -Andrew -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- Join us for PuppetConf, September 22nd and 23rd in Portland, OR: http://bit.ly/puppetconfsig; -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] puppet never finishing when there are thousands of resources
We are using puppet to export nagios resources (now we're using file resources to represent them) and the number of resources is probably in the thousands -- our puppet runs take 6GB (on the client side) and then just sort of spin forever (it's been running for a couple of hours now -- and no, we're not paging.) We're using puppet 2.6.4 and ruby 1.8.6 -- upgrading is on our roadmap, but we need to fight a few other fires first. Anyone have any suggestions for fixing this? Or how to mitigate this? I wonder if something isn't scaling -- like maybe the number of edges in the puppet DAG is increasing exponentially Rich -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] puppet never finishing when there are thousands of resources
On Tue, Jul 12, 2011 at 7:53 PM, Rich Rauenzahn rraue...@gmail.com wrote: We are using puppet to export nagios resources (now we're using file resources to represent them) and the number of resources is probably in the thousands -- our puppet runs take 6GB (on the client side) and then just sort of spin forever (it's been running for a couple of hours now -- and no, we're not paging.) We're using puppet 2.6.4 and ruby 1.8.6 -- upgrading is on our roadmap, but we need to fight a few other fires first. Anyone have any suggestions for fixing this? Or how to mitigate this? I wonder if something isn't scaling -- like maybe the number of edges in the puppet DAG is increasing exponentially I would absolutely test 2.7.x as fast as you can. It should be a drop in replacement for both master and agent, and may end up being your fastest mitigation path. Even 2.6.9 if you can try it, there have been a few changes since 2.6.4. I tend to find that a visual scan of a dot file from a --graph run is a good way to look for explosions in complexity. -- Nigel Kersten Product Manager, Puppet Labs Twitter: @nigelkersten *Join us for **PuppetConf *http://www.bit.ly/puppetconfsig September 22nd and 23rd in Portland, Oregon, USA. * * -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] puppet-dashboard delayed workers
Hello I have just installed puppet dashboard from git. everything seems to load ok except it seems as though background tasks are not being run. According to the code README: running: # env CPUS=4 RAILS_ENV=production /.../script/delayed_job -p dashboard -n $CPUS -m start will start the worker. however it seems as though it is not running (or if it is how can I check?) and the back ground task section in the web front end is not decreasing. the version is 1.1.9 Thanks Nathan -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] nodes.pp in different environments
Hi guys I have a small question, I have 3 environments in puppet.conf file: [development] modulepath=/etc/puppet/development/modules manifests=/etc/puppet/development/manifests/site.pp I have defined the site.pp path, my question is do I need to make a nodes.pp for every environment?? Thanks -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Best way to create a repo, looking for advice and tips
What is the best way to create a repo? I like to take baby steps, and test things as I go. Is this kind of development style possible with puppet? My hope was to do something like: Have 1 ec2 vm open that will be my test vm where I will manually install e.g. mysql or nginx, and then look at what files I will need to work with. Make modifications to my puppet repo, then commit and apply the changes on a single VM that will I will just manually apply the repo to. (I believe this is possible i.e. to apply a repo on a system that isn't running a puppet master, please correct me if I am wrong, I swear I read it somewhere). Once I have things all setup, I will then test things with a real puppet master and node(s). Is this a good approach? Comments? -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] nodes.pp in different environments
Hi, On 13/07/11 2:03 PM, newguy wrote: Hi guys I have a small question, I have 3 environments in puppet.conf file: [development] modulepath=/etc/puppet/development/modules manifests=/etc/puppet/development/manifests/site.pp I have defined the site.pp path, my question is do I need to make a nodes.pp for every environment?? yes, if you're not using an ENC. I'm not using an ENC yet, so I keep all my node defs in nodes.pp (included by site.pp) But I only edit the nodes.pp in dev, and then promote it as required. That's ok for me, but it's not so good for the rest of the team so an ENC is going in very soon (probably Foreman) Cheers -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
[Puppet Users] Re: nodes.pp in different environments
SO if I understand you correctly, if am not using ENC I should have a nodes.pp for each environment? On Jul 12, 10:19 pm, Michael Knox michael.knox...@gmail.com wrote: Hi, On 13/07/11 2:03 PM, newguy wrote: Hi guys I have a small question, I have 3 environments in puppet.conf file: [development] modulepath=/etc/puppet/development/modules manifests=/etc/puppet/development/manifests/site.pp I have defined the site.pp path, my question is do I need to make a nodes.pp for every environment?? yes, if you're not using an ENC. I'm not using an ENC yet, so I keep all my node defs in nodes.pp (included by site.pp) But I only edit the nodes.pp in dev, and then promote it as required. That's ok for me, but it's not so good for the rest of the team so an ENC is going in very soon (probably Foreman) Cheers -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] Moving config to an ENC
On Tue, Jul 12, 2011 at 10:43 AM, Justin Lambert jlamb...@localmatters.comwrote: I have just gotten to playing with this and am doing something wrong, probably very basic. On the puppetmaster (which for my testing is also the client) I have create_resources.rb in /var/lib/puppet/lib/puppet/parser/functions. I wrote a new ENC that will just output a very basic YAML to test this, the output is: classes: yumreposerver: yumreposerver::locations: centos5: distro: centos version: 5.6 it should be something like: yumreposerver: instances: centos5: distro: ... there is no yumreposerver parameter in the yum server class, only an instances parameter In my modules directory I have yumreposerver/manifests/locations.pp: class yumreposerver::locations ( $instances = {} ) { create_resources('yumreposerver::location', $instances) } yumreposerver/manifests/location.pp: define yumreposerver::location( $distro, $version ) { . } puppet agent -t --noop returns: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter yumreposerver::locations on node name I agree that this is not a very clear error message, can you run with --trace? Puppet version 2.6.9 on SL6. Any insight as to where I have gone wrong? Thanks, jl On Wed, Jul 6, 2011 at 7:22 AM, Justin Lambert jlamb...@localmatters.comwrote: This looks exactly like what I was looking for, thank you. This might be worth mentioning on the ENC page so people like myself can find it easier. On Tue, Jul 5, 2011 at 10:42 PM, Dan Bode d...@puppetlabs.com wrote: Hi J, The create resources function was created to serve this exact use case (the README actually mentions your exact use case :) ) https://github.com/puppetlabs/puppetlabs-create_resources This will require 2.6.5 or higher to work (That is the first version where ENC's support param classes) The function was also merged into core in 2.7.0 -Dan On Tue, Jul 5, 2011 at 1:40 PM, Justin Lambert jlamb...@localmatters.com wrote: I have recently started moving the config of our puppet hosts out of the nodes files and into an ENC so they can be managed through a web UI by someone with less technical experience without the fear of a typo causing a failure of all catalogs to compile. As a result, I have been looking at which modules need to be rewritten to support this. The problem I have run into is, how do you do something such as add multiple virtual hosts using the YAML output of an ENC? I currently have something like: node 'web01.company.com' { apache::virtualhost { 'site1': location = '/hosted/site1', url = ' http://site1.com' } apache::virtualhost { 'site2': location = '/hosted/site2', url = ' http://site2.com' } } This uses 'define apache::virtualhost' in order to create multiple sites, works fine. The YAML from an ENC (referencing http://docs.puppetlabs.com/guides/external_nodes.html) doesn't look to support this kind of definition so I need to find an alternative. My next thought was that I can pass parameters to a parameterized class. No love there as you can't instantiate a class multiple times with different parameters. How are others solving this issue? Thanks, jl -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Re: [Puppet Users] puppet-dashboard delayed workers
On 13 July 2011 13:49, Nathan qwerty@gmail.com wrote: Hello I have just installed puppet dashboard from git. everything seems to load ok except it seems as though background tasks are not being run. You have to start them up yourself. An init script is a good idea to ensure they get started at boot time According to the code README: running: # env CPUS=4 RAILS_ENV=production /.../script/delayed_job -p dashboard -n $CPUS -m start will start the worker. You need to take that example with a grain of salt and do what works for you. For me, on Solaris that invocation silently quit. Maybe it was the env. This worked for me: % RAILS_ENV=production ./script/delayed_job -p dashboard -n 2 -m start however it seems as though it is not running (or if it is how can I check?) ps :-) % ps -ef|grep delayed_job puppet 7984 1 0 Jul 03 ? 0:11 ruby ./script/delayed_job -p dashboard -n 2 -m start puppet 7980 1 0 Jul 03 ? 745:31 ruby ./script/delayed_job -p dashboard -n 2 -m start puppet 7979 1 0 Jul 03 ? 0:12 ruby ./script/delayed_job -p dashboard -n 2 -m start puppet 7988 1 0 Jul 03 ? 748:59 ruby ./script/delayed_job -p dashboard -n 2 -m start John -- You received this message because you are subscribed to the Google Groups Puppet Users group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.