Re: [Puppet Users] Re: Checking for free disk space on mountpoint?

2011-07-12 Thread vagn scott

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?

2011-07-12 Thread Patrick

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

2011-07-12 Thread Patrick
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

2011-07-12 Thread Patrick

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

2011-07-12 Thread Stefan Schulte
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

2011-07-12 Thread Arnaud Gomes-do-Vale
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

2011-07-12 Thread treydock
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

2011-07-12 Thread CHEBRIAN
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

2011-07-12 Thread Al @ Lab42
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

2011-07-12 Thread treydock
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

2011-07-12 Thread Arnaud Gomes-do-Vale
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

2011-07-12 Thread jcbollinger


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

2011-07-12 Thread Brian


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

2011-07-12 Thread Zach
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

2011-07-12 Thread Rob Braden
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

2011-07-12 Thread Nan Liu
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

2011-07-12 Thread jcbollinger


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

2011-07-12 Thread Jacob Helwig
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

2011-07-12 Thread Dan White
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?

2011-07-12 Thread Haitao Jiang
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

2011-07-12 Thread James A. Peltier
- 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?

2011-07-12 Thread Jacob Helwig
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

2011-07-12 Thread Derek Tamsen
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

2011-07-12 Thread Justin Lambert
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?

2011-07-12 Thread Haitao Jiang
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?

2011-07-12 Thread Jacob Helwig
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?

2011-07-12 Thread Haitao Jiang
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

2011-07-12 Thread Scott Smith
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:

2011-07-12 Thread Mathew Binkley
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

2011-07-12 Thread Ohad Levy
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

2011-07-12 Thread Denmat
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

2011-07-12 Thread pinto.e...@gmail.com
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!!

2011-07-12 Thread vella1tj
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

2011-07-12 Thread Denmat
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!!

2011-07-12 Thread Jacob Helwig
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!!

2011-07-12 Thread vella1tj
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!!

2011-07-12 Thread Nigel Kersten
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!!

2011-07-12 Thread Jacob Helwig
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

2011-07-12 Thread Justin Lambert
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

2011-07-12 Thread Craig White
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

2011-07-12 Thread Glenn Bailey
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

2011-07-12 Thread Andrew Thompson
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

2011-07-12 Thread Ken Barber
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

2011-07-12 Thread Rich Rauenzahn
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

2011-07-12 Thread Nigel Kersten
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

2011-07-12 Thread Nathan
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

2011-07-12 Thread newguy
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

2011-07-12 Thread S Ahmed
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

2011-07-12 Thread Michael Knox

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

2011-07-12 Thread newguy
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

2011-07-12 Thread Dan Bode
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

2011-07-12 Thread John Warburton
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.