Re: [Puppet Users] Re: how to write classes to install package from source

2011-07-12 Thread vagn scott

On 07/12/2011 06:19 AM, Al @ Lab42 wrote:
command => "mkdir -p $destination_dir ; cd 
$destination_dir ; $extract_command $work_dir/$source_filename",
Nice.  But  I would suggest changing ';' to '&&'.  That way, if the 
mkdir or cd fail you don't end up

trying to extract the archive in the wrong directory.

  command => "mkdir -p $destination_dir && cd $destination_dir && 
$extract_command $work_dir/$source_filename",


Also consider

  unless => "test -d ${destination_dir }/${extracted_dir}",

or even better

  creates => "${destination_dir }/${extracted_dir}",

for the repetition guard.

--
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: A Question about mixing Puppet with other things

2011-07-12 Thread Ohad Levy
On Tue, Jul 12, 2011 at 6:26 PM, Dan White  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".
>

I think I can try to break it down in different ways.

First, Foreman was created after realizing that Just pxe booting, or just
using puppet, does not cover everything.
With the notion of self service (e.g. people who don't know how to use
puppet and or lack access to your manifests) foreman was aiming to bridge
that gap.

Therefore, it was designed as a web service from day one, taking into
account multiple users, permissions, different views etc etc.

Another goal, was that you wont need to open 5 different consoles in order
to provision a host, that eventually lead to integrating: dns, dhcp, tftp,
puppetca, virtual machine creation, puppet class
assignments, hierarchical variables support, audit log etc all in one place.

Foreman users have come up with interesting usages cases,
from using it purely for monitoring puppet to ramp up whole datacenters.
its API is used today to feed external monitoring services, provision hosts,
update on the fly many hosts, and there is even a mobile app who utilize
foreman.

Foreman is also not restricted to a specific subnet, datacenter etc, rather
is supposed to work across network segments and different backend software
(e.g. ms dns server, isc dhcp server etc) using its smart
proxy architecture.

My hope, is that by using Foreman, you can provide your users much better
service, taking you out of the deployment loop, e.g. You users can consume
your services, without you being actively part of it.

I obviously didnt cover every single aspect of foreman, but I hope it gives
you some useful information, if not, simply ask, or join our mailing list or
irc room (#theforeman) to ask more questions.

Ohad


> “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  wrote:
> >
> >
> > On Jul 7, 2:47 pm, Dan White  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.



Re: [Puppet Users] puppet-dashboard delayed workers

2011-07-12 Thread John Warburton
On 13 July 2011 13:49, Nathan  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.



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
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
>

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 
>

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 
> 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  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.



[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  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.



[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] 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] 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.



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  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 *
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 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] 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  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  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] 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] 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  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] 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] 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  wrote:

> Hi, is 'something::other' valid in yaml?
> Cheers
> Den
>
>
> On 13/07/2011, at 3:43, Justin Lambert  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 
>
>  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.
> F

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] Run this only once!!

2011-07-12 Thread Nigel Kersten
On Tue, Jul 12, 2011 at 1:37 PM, Jacob Helwig  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 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 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] 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  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 
> 
>  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  
> 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  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  
> 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.



[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.



[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.



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  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  wrote:
>> 
>> 
>> On Jul 7, 2:47 pm, Dan White  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.



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  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  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  wrote:
>> >
>> >
>> > On Jul 7, 2:47 pm, Dan White  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.



[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 puppet-users@googleg

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  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  wrote:
> >
> >
> > On Jul 7, 2:47 pm, Dan White  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.



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  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  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
> x935

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  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. 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  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] 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 

 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 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  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 > > 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.



[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  wrote:
> On Mon, Jul 11, 2011 at 4:17 PM, Derek Tamsen  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  wrote:
> > > On Mon, Jul 11, 2011 at 11:36 AM, Derek  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
> > > > # instead of the correctly loaded yaml
> > > > #. 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  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 = #
>
> > > > > > puppet run:
> > > > > > yaml parsed http response = # > > > > > 0x2ac7987b9c08>
> > > > > > with error:
>
> > > > > > undefined method `ivars' for # > > > > > 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

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


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.



[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] 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  wrote:
> 
> 
> On Jul 7, 2:47 pm, Dan White  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.



Re: [Puppet Users] Re: all classes applied to every node

2011-07-12 Thread Jacob Helwig
Zach  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  wrote:
> On Jul 11, 10:52 am, Zach  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.



[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 
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.

A

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  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 . 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: 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  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.



[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  wrote:
> On Jul 11, 10:52 am, Zach  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  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 jcbollinger


On Jul 11, 10:52 am, Zach  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.



Re: [Puppet Users] How to avoid the use of defined

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



[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] 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: 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  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.



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.



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.