[Puppet Users] Managing private key files; content=file vs. binary content.

2010-11-10 Thread Chris
Hi all,

Hi all,

We use puppet for, amongst other things, managing the private-key
files needed for things like SSL certificates for HTTPS web servers.
We have a few constraints on how these are handled, and changes in
recent versions of puppet are making this harder than it perhaps ought
to be to implement, so I'm curious to know how others are handling it.

A site's private key file should obviously be kept private, and only
those nodes which are running the site should have access to it. This
would seem to rule out using something like

file{/path/to/foo.key: source=puppet:///keys/foo.key} , because
any valid puppet client could access foo.key.

It's possible to secure the file server, but not (as far as I can see)
in a way which is aware of the node's manifest. So either we'd have to
keep updating auth.conf with a list of nodes that were allowed to
access each key file (error-prone, we have hundreds of both, and the
node=required keys relationship is many-to-many ), or accept that
other nodes could access keys that they shouldn't be able to.

So, we currently do this:

file{/path/to/foo.key: content=file(/keys/foo.key)}

Since (AIUI) nodes can only access the catalog for the FQDN which
matches their certificate, the puppetmaster will ensure that the key
is available only to the hosts that need it.

All good, except that in 0.25 and up (which we're slowly migrating
to), this often doesn't work. The rest APIs require UTF-8 content, and
keys are binary, so catalog requests fail if the key happens to
contain bytes which aren't valid UTF-8. (http://
projects.puppetlabs.com/issues/4832 talks about this a bit, and
includes the observation that So there’s a design decision after all:
If PSON is to be JSON compatible – no binary data..

How are other people getting around this? Do you just allow all
clients to access all keys? Is there a native type, or an auth.conf
trick, that I'm missing? Or a more binary-friendly encoding than JSON/
PSON ?

thanks!

Chris

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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] Managing private key files; content=file vs. binary content.

2010-11-10 Thread Thomas Bendler
Hi Chris,

2010/11/10 Chris chrisma...@gmail.com

 [...]
 file{/path/to/foo.key: source=puppet:///keys/foo.key} , because
 any valid puppet client could access foo.key.
 [...]



you are not sticked to the puppet file server, you can also use something
like this:

file {
   /path/to/file:
 source = /nfs/$host/file;
}

Make an export for each connected server and restrict access to this one.
Put all private files on the NFS server and you're done.

Kind regards, Thomas

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: agent needs to make two runs before master compiles new catalog

2010-11-10 Thread luke.bigum
I've seen the same issue as well. I just tested then, adding a simple
notify resource to a node and it took three consecutive runs of
puppetd before the message appeared:

# puppetd --test
info: Retrieving plugin
info: Caching catalog for puppet-master-01
info: Applying configuration version '1289376693'
notice: Finished catalog run in 30.24 seconds
# puppetd --test
info: Retrieving plugin
info: Caching catalog for puppet-master-01
info: Applying configuration version '1289377768'
notice: Finished catalog run in 24.98 seconds
# puppetd --test
info: Retrieving plugin
info: Caching catalog for puppet-master-01
info: Applying configuration version '1289379786'
notice: foo
notice: /Stage[main]//Node[puppet-master-01]/Notify[test]/message:
defined 'message' as 'foo'
notice: Finished catalog run in 26.46 seconds


# /opt/ruby-enterprise/bin/gem list

*** LOCAL GEMS ***

facter (1.5.8)
fastthread (1.0.7)
mysql (2.8.1)
passenger (2.2.9)
puppet (2.6.2)
rack (1.1.0)
rake (0.8.7)


On Nov 9, 9:08 pm, Jeremy Carroll phobos...@gmail.com wrote:
 I am having the same issue, and am running about the same stack.

 CentOS 5.5

 facter (1.5.8)
 fastthread (1.0.7)
 passenger (2.2.15)
 puppet (2.6.2)
 puppet-module (0.3.0)
 rack (1.1.0)
 rake (0.8.7)
 stomp (1.1.6)

 On Tue, Nov 9, 2010 at 2:50 PM, Kent kentmshu...@gmail.com wrote:
  Patrick, thanks for the speedy reply once again.

  I'm using RHEL5 and Puppet 2.6.1, Passenger 2.2.7, Rack 1.1.0.

  From what I've read in this group and in Puppet Labs docs/wikis,
  Debian/Ubuntu users do seem to have an easier time generally than
  CentOS/Red Hat :-\

  Can I pass my command-line options to Puppetmasterd in the config.ru
  file?

  -Kent

  On Nov 9, 10:53 am, Patrick kc7...@gmail.com wrote:
   On Nov 9, 2010, at 9:34 AM, Kent wrote:

On Nov 8, 11:07 am, Patrick kc7...@gmail.com wrote:
On Nov 8, 2010, at 9:10 AM, Kent wrote:

Hi all,

I'm a new puppet user and new to the forum.

I just switched my Puppetmaster to running inside Apache (via
Passenger). When I make a change to a resource on the master, it
sometimes takes a given node TWO runs before the master will realize
the resource has changed and recompile a new catalog version for the
node. For example, say my puppetmaster is serving configuration
version '123' to a node. I change the file permissions for a file
resource that's part of that catalog and then do a puppet run on the
node. If I'm running with Passenger, the master serves config version
'123' one more time (the agent makes no changes). The next time I run
the node's agent, the master compiles new catalog version '456' and
the agent makes the permission change.

A few items of note:

1.  This is not a problem with all changes to puppet module content.
For example, if I change the source contents of a file in the 'files'
directory of a module, the master will notice this immediately and
  the
puppet agent on the node will grab the new file on the first run
following the change on the master.

Fact:
Files sent using source aren't part of the catalog.  Instead, the
  client asks the server for them while the client is using the catalog and
  not during the compilation done on the server.

Speculation:
I would guess this is because the problem you are having is happening
  during the compilation on the server.

2.  At first I thought maybe this was a timing issue (e.g. I was
  doing
the puppet run too quickly after making the resource change) but it's
not; whether I wait 5 seconds or 5 minutes before making the first
puppet run, the master still doesn't notice the change.  I set the
'filetimeout' setting in /etc/puppet/puppet.conf to 0 and it didn't
help.

Any ideas on what's going on here? (thanks in advance for your help)

Ahh, Ok, that makes sense. The source files are not part of the
manifests, just pointed to by them.

However, I am still having a problem with changed manifests not
getting noticed by the Puppetmaster until the second run after it's
been changed. This is only a problem when running puppetmaster as a
rack app inside Apache. Of course, if I restart Apache it will serve
up the most recent manifests on the first puppet run that connects to
it, but it would be irritating to have to restart httpd every time I
want to make a change to a module/manifest.

I also tried setting the puppet.conf option 'ignorecache = true' to no
avail. (side note: on the servertype option in puppet.conf, official
documentation still states that the only valid modes are 'webrick' and
'mongrel'. What is the appropriate mode for running with passenger?)

   My puppetmaster is working fine and that option isn't set which means
  it's defaulting to webrick.

Final note: The puppetmaster always logs that it has compiled a
catalog and expired the cached one, even on the first runs where the

[Puppet Users] Re: Managing private key files; content=file vs. binary content.

2010-11-10 Thread Chris
Hi Thomas

On Nov 10, 12:44 pm, Thomas Bendler thomas.bend...@cimt.de wrote:
 Hi Chris,

 2010/11/10 Chris chrisma...@gmail.com

  [...]
  file{/path/to/foo.key: source=puppet:///keys/foo.key} , because
  any valid puppet client could access foo.key.
  [...]

 you are not sticked to the puppet file server, you can also use something
 like this:

 file {
    /path/to/file:
      source = /nfs/$host/file;

 }

 Make an export for each connected server and restrict access to this one.
 Put all private files on the NFS server and you're done.


Yes, except that approach suffers from the same administrative
problems as using puppet:/// and auth.conf. HTTPS certs aren't
specific to hosts. If I have 20 servers all requiring foo.key (because
they all have the foo-application class in their manifest), then
either I have to copy foo.key into 20 different directories, or else
have one export with 20 allowed hosts. And every time I add the foo-
application class to another host, I need to remember to also expose
the key to that host. With large numbers of keys and hosts, and
moderate levels of churn, this becomes difficult to manage and prone
to errors.

The puppetmaster knows which hosts are allowed foo.key - i.e. all
the hosts which include the foo-application class. It seems wrong that
I should have to manually duplicate that information somewhere else,
be it in an NFS exports list or an auth.conf file.

I suppose I could do something hacky with storeconfigs to update the
exports on the NFS server when a new host is brought online - but it
doesn't seem like a very nice solution. It would lead to the first
puppet run failing because the exports weren't yet updated, for one
thing.

Thanks!

Chris

 Kind regards, Thomas

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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] use current array element when declaring multiple resources using an array

2010-11-10 Thread luke.bigum
Hi list,

When declaring multiple resources at once with an array like this:

file { [ foo, bar ]: ... }

Is there a way to access the current array element so as to pass this
value as a parameter? So the foo resource has a parameter value
foo and bar with a parameter value bar?

This is a broken example showing that Puppet looks to be evaluating
owner = $array1 in it's entirety (and perhaps only taking the first
element for a File resource?):

  $array1 = [ /tmp/one, /tmp/two, /tmp/three ]
  file { $array1:
ensure = present,
owner = $array1,
  }

err: /Stage[main]/Test/File[/tmp/three]: Could not evaluate: Could not
find user /tmp/one
err: /Stage[main]/Test/File[/tmp/two]: Could not evaluate: Could not
find user /tmp/one
err: /Stage[main]/Test/File[/tmp/one]: Could not evaluate: Could not
find user /tmp/one

What I want to see is:

err: /Stage[main]/Test/File[/tmp/three]: Could not evaluate: Could not
find user /tmp/three
err: /Stage[main]/Test/File[/tmp/two]: Could not evaluate: Could not
find user /tmp/two
err: /Stage[main]/Test/File[/tmp/one]: Could not evaluate: Could not
find user /tmp/one

Is there an equivalent of Perl's $_ variable? Perhaps with some
inline_template Ruby magic? This would make some config I'm trying to
write a great deal more concise.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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] Managing private key files; content=file vs. binary content.

2010-11-10 Thread Richard Crowley
 All good, except that in 0.25 and up (which we're slowly migrating
 to), this often doesn't work. The rest APIs require UTF-8 content, and
 keys are binary, so catalog requests fail if the key happens to
 contain bytes which aren't valid UTF-8. (http://
 projects.puppetlabs.com/issues/4832 talks about this a bit, and
 includes the observation that So there’s a design decision after all:
 If PSON is to be JSON compatible – no binary data..

 How are other people getting around this? Do you just allow all
 clients to access all keys? Is there a native type, or an auth.conf
 trick, that I'm missing? Or a more binary-friendly encoding than JSON/
 PSON ?

I also suffer from this problem distributing binary GPG private keys.
I would propose Puppet automatically base-64 encode/decode when a
parameter's value (in this case a file's content but it could be
anything) does not contain valid UTF-8 bytes.  Would that fix the
problem completely?  Would it break anything?

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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] Custom facts in current and old environments

2010-11-10 Thread Klaus Ethgen
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Hello,

I read that there is several problems about custom facts on this list.
However, none is serving my task exactly so I start another. (Topic
»custom facts in legacy puppet 0.24.[89]« is the might be the same issue
but that gets no answer.)

My problem is that I have to serve clients with different versions of
puppet. The systems running ubuntu with 0.25.4 work perfect but I have
problems to bring custom facts to the systems running silly SLES 11.1
with puppet version 0.24.8.

The first think that I recognise, is, that puppet itself deletes
/var/lib/puppet/lib/facter at the very begin of all puppet run:
   debug: /File[/var/lib/puppet/lib]: Changing checksum
   debug: /File[/var/lib/puppet/lib]: 1 change(s)
   debug: /File[/var/lib/puppet/lib]/checksum: Replacing /var/lib/puppet/lib 
checksum {mtime}Wed Nov 10 15:51:11 +0100 2010 with {mtime}Wed Nov 10 16:27:14 
+0100 2010
   notice: /File[/var/lib/puppet/lib]/checksum: checksum changed '{mtime}Wed 
Nov 10 15:51:11 +0100 2010' to '{mtime}Wed Nov 10 16:27:14 +0100 2010'
   debug: /File[/var/lib/puppet/lib/facter]: Changing ensure
   debug: /File[/var/lib/puppet/lib/facter]: 1 change(s)
   debug: /File[/var/lib/puppet/lib/facter]: Removing existing directory for 
replacement with absent
   notice: /File[/var/lib/puppet/lib/facter]/ensure: removed

As that is alarming me I did no find any location where the file
/var/lib/puppet/lib/facter is defined in all manifest, modules or source
of puppet. So my first question is, where do puppet get this file
resource from? And why do it means that it has to remove it? (By the
way, it seems that this path is only purged when »factsync = true« is in
/etc/puppet/puppet.conf.)

When  I try to ensure that directory to exist it will be deleted on
every begin of the run and created at the end. But it will always be
empty.

An other point that I found in debug log is that sometimes there is an
error about not existing (not mounted) /facts on the puppetmaster. (The
client prints that, the master work fine.) I tried with or without
»[facts]« section in /etc/puppet/fileserver.conf. Both work well with
clients version 0.25.4 but none work with version 0.24.8. (Well. the
error message is different. But the result is the same.)
   err: /File[/var/lib/puppet/facts]: Failed to generate additional resources 
during transaction: Fileserver module 'facts' not mounted
and/or
   err: /File[/var/lib/puppet/facts]: Failed to retrieve current state of 
resource: Fileserver module 'facts' not mounted Could not describe /facts: 
Fileserver module 'facts' not mounted

For now I tried many to debug this stuff, puttin several .instpect to
the ruby code but did not find any anchor where to search exactly or how
to get ridge of this problem.

As I told, with the ubuntu machines that all worked instantly from the
description.

Anybody a hint what to try else?

Regards
   Klaus Ethgen
- -- 
Klaus Ethgenhttp://www.ethgen.de/
pub  2048R/D1A4EDE5 2000-02-26 Klaus Ethgen kl...@ethgen.de
Fingerprint: D7 67 71 C4 99 A6 D4 FE  EA 40 30 57 3C 88 26 2B
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)

iQEVAwUBTNq9up+OKpjRpO3lAQoOJAf/RuVP5f+lepoNWPatoLfgyEDDqIA9GWaz
iAnHcufW0zisuxEIDU5IORKIt2zJ1C1Yy1ZppeYRtT7kRqJH3LLa1P3JwNQJHqYo
bWK1t1MnCugr925trYliunv5a2MYcmrKESxoeUIa6LTEVDDRaPfg6a9np+sDQmNA
USm96Z8/07GXdrg2TdCsE2RCVLm3tqHhwRvekiN+VqxYtoJMhvMbfrCFzO7dJmJb
GYNJZ4PmaQV5nnEUBNAaMqgRPNSsDulEdAR6yCRUnW1YGuXoV85F05Gdl4InLUQC
oTuSkKeCEd9RaC38ZTN+OF+3zDOprnq05wEJ/qtYaFi7Mizl3gZR7g==
=NUpx
-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-us...@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] use current array element when declaring multiple resources using an array

2010-11-10 Thread Matthew Black
What you are looking for is a loop which does not exist in puppet, except
for templates. 

I've never tried it but I've speculated it could be possible to create a
manifest template and then use puppet to generate that manifest file in a
similar fashion you are looking to do.

-Original Message-
From: puppet-users@googlegroups.com [mailto:puppet-us...@googlegroups.com]
On Behalf Of luke.bigum
Sent: Wednesday, November 10, 2010 10:19 AM
To: Puppet Users
Subject: [Puppet Users] use current array element when declaring multiple
resources using an array

Hi list,

When declaring multiple resources at once with an array like this:

file { [ foo, bar ]: ... }

Is there a way to access the current array element so as to pass this
value as a parameter? So the foo resource has a parameter value
foo and bar with a parameter value bar?

This is a broken example showing that Puppet looks to be evaluating
owner = $array1 in it's entirety (and perhaps only taking the first
element for a File resource?):

  $array1 = [ /tmp/one, /tmp/two, /tmp/three ]
  file { $array1:
ensure = present,
owner = $array1,
  }

err: /Stage[main]/Test/File[/tmp/three]: Could not evaluate: Could not
find user /tmp/one
err: /Stage[main]/Test/File[/tmp/two]: Could not evaluate: Could not
find user /tmp/one
err: /Stage[main]/Test/File[/tmp/one]: Could not evaluate: Could not
find user /tmp/one

What I want to see is:

err: /Stage[main]/Test/File[/tmp/three]: Could not evaluate: Could not
find user /tmp/three
err: /Stage[main]/Test/File[/tmp/two]: Could not evaluate: Could not
find user /tmp/two
err: /Stage[main]/Test/File[/tmp/one]: Could not evaluate: Could not
find user /tmp/one

Is there an equivalent of Perl's $_ variable? Perhaps with some
inline_template Ruby magic? This would make some config I'm trying to
write a great deal more concise.

-- 
You received this message because you are subscribed to the Google Groups
Puppet Users group.
To post to this group, send email to puppet-us...@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-us...@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] use current array element when declaring multiple resources using an array

2010-11-10 Thread Gabriel Filion
On 11/10/2010 10:18 AM, luke.bigum wrote:
 Hi list,
 
 When declaring multiple resources at once with an array like this:
 
 file { [ foo, bar ]: ... }
 
 Is there a way to access the current array element so as to pass this
 value as a parameter? So the foo resource has a parameter value
 foo and bar with a parameter value bar?


I think what you want is to use $name. it corresponds to the resource
name that is currently being worked on.

file { [ foo, bar ]: path = /blah/${name}.txt, ... }

-- 
Gabriel Filion

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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] Custom facts in current and old environments

2010-11-10 Thread Nigel Kersten
On Wed, Nov 10, 2010 at 7:43 AM, Klaus Ethgen klaus+pup...@ethgen.de wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA512

 Hello,

 I read that there is several problems about custom facts on this list.
 However, none is serving my task exactly so I start another. (Topic
 »custom facts in legacy puppet 0.24.[89]« is the might be the same issue
 but that gets no answer.)

 My problem is that I have to serve clients with different versions of
 puppet. The systems running ubuntu with 0.25.4 work perfect but I have
 problems to bring custom facts to the systems running silly SLES 11.1
 with puppet version 0.24.8.

There were some major changes between the two versions in this regard.

Are you using environments? Are you using plugins in modules to deliver facts?


 The first think that I recognise, is, that puppet itself deletes
 /var/lib/puppet/lib/facter at the very begin of all puppet run:
   debug: /File[/var/lib/puppet/lib]: Changing checksum
   debug: /File[/var/lib/puppet/lib]: 1 change(s)
   debug: /File[/var/lib/puppet/lib]/checksum: Replacing /var/lib/puppet/lib 
 checksum {mtime}Wed Nov 10 15:51:11 +0100 2010 with {mtime}Wed Nov 10 
 16:27:14 +0100 2010
   notice: /File[/var/lib/puppet/lib]/checksum: checksum changed '{mtime}Wed 
 Nov 10 15:51:11 +0100 2010' to '{mtime}Wed Nov 10 16:27:14 +0100 2010'
   debug: /File[/var/lib/puppet/lib/facter]: Changing ensure
   debug: /File[/var/lib/puppet/lib/facter]: 1 change(s)
   debug: /File[/var/lib/puppet/lib/facter]: Removing existing directory for 
 replacement with absent
   notice: /File[/var/lib/puppet/lib/facter]/ensure: removed

 As that is alarming me I did no find any location where the file
 /var/lib/puppet/lib/facter is defined in all manifest, modules or source
 of puppet. So my first question is, where do puppet get this file
 resource from? And why do it means that it has to remove it? (By the
 way, it seems that this path is only purged when »factsync = true« is in
 /etc/puppet/puppet.conf.)

 When  I try to ensure that directory to exist it will be deleted on
 every begin of the run and created at the end. But it will always be
 empty.

 An other point that I found in debug log is that sometimes there is an
 error about not existing (not mounted) /facts on the puppetmaster. (The
 client prints that, the master work fine.) I tried with or without
 »[facts]« section in /etc/puppet/fileserver.conf. Both work well with
 clients version 0.25.4 but none work with version 0.24.8. (Well. the
 error message is different. But the result is the same.)
   err: /File[/var/lib/puppet/facts]: Failed to generate additional resources 
 during transaction: Fileserver module 'facts' not mounted
 and/or
   err: /File[/var/lib/puppet/facts]: Failed to retrieve current state of 
 resource: Fileserver module 'facts' not mounted Could not describe /facts: 
 Fileserver module 'facts' not mounted

 For now I tried many to debug this stuff, puttin several .instpect to
 the ruby code but did not find any anchor where to search exactly or how
 to get ridge of this problem.

 As I told, with the ubuntu machines that all worked instantly from the
 description.

 Anybody a hint what to try else?

 Regards
   Klaus Ethgen
 - --
 Klaus Ethgen                            http://www.ethgen.de/
 pub  2048R/D1A4EDE5 2000-02-26 Klaus Ethgen kl...@ethgen.de
 Fingerprint: D7 67 71 C4 99 A6 D4 FE  EA 40 30 57 3C 88 26 2B
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.10 (GNU/Linux)

 iQEVAwUBTNq9up+OKpjRpO3lAQoOJAf/RuVP5f+lepoNWPatoLfgyEDDqIA9GWaz
 iAnHcufW0zisuxEIDU5IORKIt2zJ1C1Yy1ZppeYRtT7kRqJH3LLa1P3JwNQJHqYo
 bWK1t1MnCugr925trYliunv5a2MYcmrKESxoeUIa6LTEVDDRaPfg6a9np+sDQmNA
 USm96Z8/07GXdrg2TdCsE2RCVLm3tqHhwRvekiN+VqxYtoJMhvMbfrCFzO7dJmJb
 GYNJZ4PmaQV5nnEUBNAaMqgRPNSsDulEdAR6yCRUnW1YGuXoV85F05Gdl4InLUQC
 oTuSkKeCEd9RaC38ZTN+OF+3zDOprnq05wEJ/qtYaFi7Mizl3gZR7g==
 =NUpx
 -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-us...@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.





-- 
Nigel Kersten - Puppet Labs -  http://www.puppetlabs.com

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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] Could not retrieve catalog from remote server - random

2010-11-10 Thread PBWebGuy
I have one of 18+ servers in an environment that just started having a
problem when attempting to do an update.  On the node I enter the
command  'puppetd -t --debug --trace'.  I don't see anything obvious
but the error is:  Could not retrieve catalog from remote server

I set the puppetmaster into debug mode with command 'puppetmasterd --
no-daemonize --debug -v'.  When the node attempts to update there is
no output by the PM.  I therefore setup tcpdump to watch the traffic
and there is in fact traffic as shown below.  Therefore I know that
there is communications.

On occasions it will update but is completely random.

Any suggestions?

Thanks,

John

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size
96 bytes
11:31:02.253921 IP (tos 0x0, ttl  64, id 59181, offset 0, flags [DF],
proto: TCP (6), length: 60) devcas1.domain.local.41082 
util3.domain.local.8140: S, cksum 0xb458 (correct),
297236183:297236183(0) win 5840 mss 1380,sackOK,timestamp 666800634
0,nop,wscale 7
11:31:02.254422 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF],
proto: TCP (6), length: 60) util3.domain.local.8140 
devcas1.domain.local.41082: S, cksum 0x7cda (correct),
1623860666:1623860666(0) ack 297236184 win 5792 mss
1460,sackOK,timestamp 3608730031 666800634,nop,wscale 7
11:31:02.255511 IP (tos 0x0, ttl  64, id 59182, offset 0, flags [DF],
proto: TCP (6), length: 52) devcas1.domain.local.41082 
util3.domain.local.8140: ., cksum 0xc215 (correct), ack 1 win 46
nop,nop,timestamp 666800637 3608730031
11:31:02.357588 IP (tos 0x0, ttl  64, id 64523, offset 0, flags [DF],
proto: TCP (6), length: 52) util3.domain.local.8140 
devcas1.domain.local.41082: F, cksum 0xc1ad (correct), 1:1(0) ack 1
win 46 nop,nop,timestamp 3608730134 666800637
11:31:02.358933 IP (tos 0x0, ttl  64, id 59183, offset 0, flags [DF],
proto: TCP (6), length: 52) devcas1.domain.local.41082 
util3.domain.local.8140: ., cksum 0xc146 (correct), ack 2 win 46
nop,nop,timestamp 666800740 3608730134
11:31:02.450472 IP (tos 0x0, ttl  64, id 59184, offset 0, flags [DF],
proto: TCP (6), length: 157) devcas1.domain.local.41082 
util3.domain.local.8140: P 1:106(105) ack 2 win 46 nop,nop,timestamp
666800831 3608730134
11:31:02.450498 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF],
proto: TCP (6), length: 40) util3.domain.local.8140 
devcas1.domain.local.41082: R, cksum 0xee79 (correct),
1623860668:1623860668(0) win 0
11:33:11.491647 IP (tos 0x0, ttl  64, id 44612, offset 0, flags [DF],
proto: TCP (6), length: 334) devcas1.domain.local.55540 
util3.domain.local.ldaps: P 3058489015:3058489297(282) ack 81338168
win 128 nop,nop,timestamp 666929878 3608244168
11:33:11.492744 IP (tos 0x0, ttl  64, id 48557, offset 0, flags [DF],
proto: TCP (6), length: 446) util3.domain.local.ldaps 
devcas1.domain.local.55540: P 1:395(394) ack 282 win 155
nop,nop,timestamp 3608859274 666929878
11:33:11.492818 IP (tos 0x0, ttl  64, id 48558, offset 0, flags [DF],
proto: TCP (6), length: 142) util3.domain.local.ldaps 
devcas1.domain.local.55540: P 395:485(90) ack 282 win 155
nop,nop,timestamp 3608859274 666929878
11:33:11.493585 IP (tos 0x0, ttl  64, id 44613, offset 0, flags [DF],
proto: TCP (6), length: 52) devcas1.domain.local.55540 
util3.domain.local.ldaps: ., cksum 0x102d (correct), ack 395 win 142
nop,nop,timestamp 666929880 3608859274
11:33:11.493595 IP (tos 0x0, ttl  64, id 44614, offset 0, flags [DF],
proto: TCP (6), length: 52) devcas1.domain.local.55540 
util3.domain.local.ldaps: ., cksum 0x0fd3 (correct), ack 485 win 142
nop,nop,timestamp 666929880 3608859274

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: Could not retrieve catalog from remote server - random

2010-11-10 Thread PBWebGuy
Let me also add that I have several servers that have the same exact
role in their node definitions and don't have any problem with
updates.



On Nov 10, 11:40 am, PBWebGuy pbweb...@gmail.com wrote:
 I have one of 18+ servers in an environment that just started having a
 problem when attempting to do an update.  On the node I enter the
 command  'puppetd -t --debug --trace'.  I don't see anything obvious
 but the error is:  Could not retrieve catalog from remote server

 I set the puppetmaster into debug mode with command 'puppetmasterd --
 no-daemonize --debug -v'.  When the node attempts to update there is
 no output by the PM.  I therefore setup tcpdump to watch the traffic
 and there is in fact traffic as shown below.  Therefore I know that
 there is communications.

 On occasions it will update but is completely random.

 Any suggestions?

 Thanks,

 John

 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size
 96 bytes
 11:31:02.253921 IP (tos 0x0, ttl  64, id 59181, offset 0, flags [DF],
 proto: TCP (6), length: 60) devcas1.domain.local.41082 
 util3.domain.local.8140: S, cksum 0xb458 (correct),
 297236183:297236183(0) win 5840 mss 1380,sackOK,timestamp 666800634
 0,nop,wscale 7
 11:31:02.254422 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF],
 proto: TCP (6), length: 60) util3.domain.local.8140 
 devcas1.domain.local.41082: S, cksum 0x7cda (correct),
 1623860666:1623860666(0) ack 297236184 win 5792 mss
 1460,sackOK,timestamp 3608730031 666800634,nop,wscale 7
 11:31:02.255511 IP (tos 0x0, ttl  64, id 59182, offset 0, flags [DF],
 proto: TCP (6), length: 52) devcas1.domain.local.41082 
 util3.domain.local.8140: ., cksum 0xc215 (correct), ack 1 win 46
 nop,nop,timestamp 666800637 3608730031
 11:31:02.357588 IP (tos 0x0, ttl  64, id 64523, offset 0, flags [DF],
 proto: TCP (6), length: 52) util3.domain.local.8140 
 devcas1.domain.local.41082: F, cksum 0xc1ad (correct), 1:1(0) ack 1
 win 46 nop,nop,timestamp 3608730134 666800637
 11:31:02.358933 IP (tos 0x0, ttl  64, id 59183, offset 0, flags [DF],
 proto: TCP (6), length: 52) devcas1.domain.local.41082 
 util3.domain.local.8140: ., cksum 0xc146 (correct), ack 2 win 46
 nop,nop,timestamp 666800740 3608730134
 11:31:02.450472 IP (tos 0x0, ttl  64, id 59184, offset 0, flags [DF],
 proto: TCP (6), length: 157) devcas1.domain.local.41082 
 util3.domain.local.8140: P 1:106(105) ack 2 win 46 nop,nop,timestamp
 666800831 3608730134
 11:31:02.450498 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF],
 proto: TCP (6), length: 40) util3.domain.local.8140 
 devcas1.domain.local.41082: R, cksum 0xee79 (correct),
 1623860668:1623860668(0) win 0
 11:33:11.491647 IP (tos 0x0, ttl  64, id 44612, offset 0, flags [DF],
 proto: TCP (6), length: 334) devcas1.domain.local.55540 
 util3.domain.local.ldaps: P 3058489015:3058489297(282) ack 81338168
 win 128 nop,nop,timestamp 666929878 3608244168
 11:33:11.492744 IP (tos 0x0, ttl  64, id 48557, offset 0, flags [DF],
 proto: TCP (6), length: 446) util3.domain.local.ldaps 
 devcas1.domain.local.55540: P 1:395(394) ack 282 win 155
 nop,nop,timestamp 3608859274 666929878
 11:33:11.492818 IP (tos 0x0, ttl  64, id 48558, offset 0, flags [DF],
 proto: TCP (6), length: 142) util3.domain.local.ldaps 
 devcas1.domain.local.55540: P 395:485(90) ack 282 win 155
 nop,nop,timestamp 3608859274 666929878
 11:33:11.493585 IP (tos 0x0, ttl  64, id 44613, offset 0, flags [DF],
 proto: TCP (6), length: 52) devcas1.domain.local.55540 
 util3.domain.local.ldaps: ., cksum 0x102d (correct), ack 395 win 142
 nop,nop,timestamp 666929880 3608859274
 11:33:11.493595 IP (tos 0x0, ttl  64, id 44614, offset 0, flags [DF],
 proto: TCP (6), length: 52) devcas1.domain.local.55540 
 util3.domain.local.ldaps: ., cksum 0x0fd3 (correct), ack 485 win 142
 nop,nop,timestamp 666929880 3608859274

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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] Process to upgrade from 0.24.8 to 2.6.x ?

2010-11-10 Thread nemo
Hello,

I'm really kind of newbie in the Puppet's world but this tool is quite
impressive. So I wish to thank the authors first and all people
participating to this amazing project.

Now get straight to business :) I'm responsible of a platform
containing almost 100 servers all managed by Puppet in version 0.24.8
(clients and server). I know this is an outdated version and I'm in
the process of upgrading to the latest version.

Hence what should be the best approach to upgrade ? For information,
servers run centos 5.5 64bit

Sincerly,

ThomaS

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: Could not create PID file: /var/lib/puppet/run/puppetd.pid

2010-11-10 Thread PBWebGuy
What is the contents of your /etc/puppet/puppet.conf and what are the
permissions on the /var/lib/puppet/run directory?

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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] Process to upgrade from 0.24.8 to 2.6.x ?

2010-11-10 Thread Matt Wallace
On Wednesday 10 Nov 2010 10:30:02 nemo wrote:
 Hello,
 
 I'm really kind of newbie in the Puppet's world but this tool is quite
 impressive. So I wish to thank the authors first and all people
 participating to this amazing project.
 
 Now get straight to business :) I'm responsible of a platform
 containing almost 100 servers all managed by Puppet in version 0.24.8
 (clients and server). I know this is an outdated version and I'm in
 the process of upgrading to the latest version.
 
 Hence what should be the best approach to upgrade ? For information,
 servers run centos 5.5 64bit

If you've got Epel installed, pull puppet from there instead of rpmforge - 
it's 0.25.$something and we're running it without issue here.

The only caveat as far as I am aware is to upgrade the server first, then the 
clients, but I'm sure I'll be corrected on that if I'm wrong! :)

We're not looking to upgrade to 0.26 any time soon because we don't need any 
of the fancy features (yet!).

Cheers,

M.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: Managing private key files; content=file vs. binary content.

2010-11-10 Thread Patrick

On Nov 10, 2010, at 6:52 AM, Chris wrote:

 Hi Thomas
 
 On Nov 10, 12:44 pm, Thomas Bendler thomas.bend...@cimt.de wrote:
 Hi Chris,
 
 2010/11/10 Chris chrisma...@gmail.com
 
 [...]
 file{/path/to/foo.key: source=puppet:///keys/foo.key} , because
 any valid puppet client could access foo.key.
 [...]
 
 you are not sticked to the puppet file server, you can also use something
 like this:
 
 file {
/path/to/file:
  source = /nfs/$host/file;
 
 }
 
 Make an export for each connected server and restrict access to this one.
 Put all private files on the NFS server and you're done.
 
 
 Yes, except that approach suffers from the same administrative
 problems as using puppet:/// and auth.conf. HTTPS certs aren't
 specific to hosts. If I have 20 servers all requiring foo.key (because
 they all have the foo-application class in their manifest), then
 either I have to copy foo.key into 20 different directories, or else
 have one export with 20 allowed hosts. And every time I add the foo-
 application class to another host, I need to remember to also expose
 the key to that host. With large numbers of keys and hosts, and
 moderate levels of churn, this becomes difficult to manage and prone
 to errors.
 
 The puppetmaster knows which hosts are allowed foo.key - i.e. all
 the hosts which include the foo-application class. It seems wrong that
 I should have to manually duplicate that information somewhere else,
 be it in an NFS exports list or an auth.conf file.
 
 I suppose I could do something hacky with storeconfigs to update the
 exports on the NFS server when a new host is brought online - but it
 doesn't seem like a very nice solution. It would lead to the first
 puppet run failing because the exports weren't yet updated, for one
 thing.

The best solution I can come up with is creating a hack that uses a define and 
a custom ruby function that will Base64Encode and then have the client 
Base64Decide (using an exec or custom provider) on the other end.  This comes 
from something I'lm building, but probably won't be done for a long while.

This is pesudecode which is missing the encode function, decode function, and 
some of the glew code.  


class binary_embedded_file::setup
{
$temp = '/var/lib/puppet/binary_embedded_file'

file { '/var/lib/puppet/binary_embedded_file':
ensure = directory,
mode = 750,
owner = root,
group = root,
}

file { '/usr/local/bin/base64_decode':
ensure = present,
owner = root,
group = root,
mode = 755,
}
}



define binary_embedded_file($ensure = present,
$server_location = nil, $client_location = nil ) {

include binary_embedded_file::setup

#Syntax might be wrong
require( Class['binary_embedded_file::setup'] )

#Look at puppet_concat example for how to finish these
$client_temp_path = 
$client_temp_path_converted = 


file { ${name}:
ensure = $ensure,
#Add a mode, owner, and group variable

#This syntax might be wrong
source = $client_temp_path_converted
}

file { ${client_temp_path}:
ensure = $ensure,

content = Base64Encode(file($server_location)),
}

#There might be an unintended line wrap here
exec { '/usr/local/bin/base64_decode \$client_temp_path\ 
\$client_temp_path_converted\':
subscribe_only = true,
subscribe = File[${client_temp_path}],
before = File[${name}]
}

}


-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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] Process to upgrade from 0.24.8 to 2.6.x ?

2010-11-10 Thread Matthew Black
There was a big change from 0.25 to 2.6 and I believe you need to upgrade
both client and server from what I remember. The best way to do is get a
remote execution daemon like func and you could issue a command to all
servers like yum upgrade puppet. 

-Original Message-
From: puppet-users@googlegroups.com [mailto:puppet-us...@googlegroups.com]
On Behalf Of Matt Wallace
Sent: Wednesday, November 10, 2010 11:56 AM
To: puppet-users@googlegroups.com
Subject: Re: [Puppet Users] Process to upgrade from 0.24.8 to 2.6.x ?

On Wednesday 10 Nov 2010 10:30:02 nemo wrote:
 Hello,
 
 I'm really kind of newbie in the Puppet's world but this tool is quite
 impressive. So I wish to thank the authors first and all people
 participating to this amazing project.
 
 Now get straight to business :) I'm responsible of a platform
 containing almost 100 servers all managed by Puppet in version 0.24.8
 (clients and server). I know this is an outdated version and I'm in
 the process of upgrading to the latest version.
 
 Hence what should be the best approach to upgrade ? For information,
 servers run centos 5.5 64bit

If you've got Epel installed, pull puppet from there instead of rpmforge - 
it's 0.25.$something and we're running it without issue here.

The only caveat as far as I am aware is to upgrade the server first, then
the 
clients, but I'm sure I'll be corrected on that if I'm wrong! :)

We're not looking to upgrade to 0.26 any time soon because we don't need any

of the fancy features (yet!).

Cheers,

M.

-- 
You received this message because you are subscribed to the Google Groups
Puppet Users group.
To post to this group, send email to puppet-us...@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-us...@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] Managing private key files; content=file vs. binary content.

2010-11-10 Thread Patrick

On Nov 10, 2010, at 4:29 AM, Chris wrote:

 How are other people getting around this? Do you just allow all
 clients to access all keys? Is there a native type, or an auth.conf
 trick, that I'm missing? Or a more binary-friendly encoding than JSON/
 PSON ?


I send a different message with a rather long hack as a workaround, but I would 
also file a bug for this.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: Could not retrieve catalog from remote server - random

2010-11-10 Thread PBWebGuy
A few more findings:

1. I removed the /var/lib/puppet/clientbucket and ran update manually
it worked one time.  Repeating this does not work.

2. Here is the Trace of the puppetd command:

/usr/lib/ruby/1.8/net/http.rb:586:in `connect'
/usr/lib/ruby/1.8/net/http.rb:586:in `connect'
/usr/lib/ruby/1.8/net/http.rb:553:in `do_start'
/usr/lib/ruby/1.8/net/http.rb:542:in `start'
/usr/lib/ruby/1.8/net/http.rb:1035:in `request'
/usr/lib/ruby/1.8/net/http.rb:772:in `get'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/rest.rb:69:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:202:in
`find'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:51:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/configurer.rb:208:in
`retrieve_new_catalog'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:418:in `thinmark'
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
/usr/lib/ruby/1.8/benchmark.rb:307:in `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:417:in `thinmark'
/usr/lib/ruby/site_ruby/1.8/puppet/configurer.rb:207:in
`retrieve_new_catalog'
/usr/lib/ruby/site_ruby/1.8/puppet/configurer.rb:104:in
`retrieve_catalog'
/usr/lib/ruby/site_ruby/1.8/puppet/configurer.rb:142:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/agent/locker.rb:21:in `lock'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run'
/usr/lib/ruby/1.8/sync.rb:229:in `synchronize'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:134:in `with_client'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:51:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application/puppetd.rb:103:in
`onetime'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:226:in `send'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:226:in `run_command'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in
`exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run'
/usr/sbin/puppetd:160

3. I'm using .25.5.

Any help or suggestions are much appreciated.

Thanks,

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-us...@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] Could not retrieve catalog from remote server - random

2010-11-10 Thread Patrick

On Nov 10, 2010, at 8:40 AM, PBWebGuy wrote:

 I have one of 18+ servers in an environment that just started having a
 problem when attempting to do an update.  On the node I enter the
 command  'puppetd -t --debug --trace'.  I don't see anything obvious
 but the error is:  Could not retrieve catalog from remote server
 
 I set the puppetmaster into debug mode with command 'puppetmasterd --
 no-daemonize --debug -v'.  When the node attempts to update there is
 no output by the PM.

Make sure that you get output from the puppetmaster for some things.  It's easy 
to look at the wrong log if you are using passenger.

I've seen a similar error problem when the puppetmaster is overloaded so the 
client times out.  For me, this is when It gets all 50 clients ask for a 
catalog at the same time (don't ask).  Could this be the problem?

  I therefore setup tcpdump to watch the traffic
 and there is in fact traffic as shown below.  Therefore I know that
 there is communications.
 
 On occasions it will update but is completely random.
 
 Any suggestions?
 
 Thanks,
 
 John
 
 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size
 96 bytes
 11:31:02.253921 IP (tos 0x0, ttl  64, id 59181, offset 0, flags [DF],
 proto: TCP (6), length: 60) devcas1.domain.local.41082 
 util3.domain.local.8140: S, cksum 0xb458 (correct),
 297236183:297236183(0) win 5840 mss 1380,sackOK,timestamp 666800634
 0,nop,wscale 7
 11:31:02.254422 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF],
 proto: TCP (6), length: 60) util3.domain.local.8140 
 devcas1.domain.local.41082: S, cksum 0x7cda (correct),
 1623860666:1623860666(0) ack 297236184 win 5792 mss
 1460,sackOK,timestamp 3608730031 666800634,nop,wscale 7
 11:31:02.255511 IP (tos 0x0, ttl  64, id 59182, offset 0, flags [DF],
 proto: TCP (6), length: 52) devcas1.domain.local.41082 
 util3.domain.local.8140: ., cksum 0xc215 (correct), ack 1 win 46
 nop,nop,timestamp 666800637 3608730031
 11:31:02.357588 IP (tos 0x0, ttl  64, id 64523, offset 0, flags [DF],
 proto: TCP (6), length: 52) util3.domain.local.8140 
 devcas1.domain.local.41082: F, cksum 0xc1ad (correct), 1:1(0) ack 1
 win 46 nop,nop,timestamp 3608730134 666800637
 11:31:02.358933 IP (tos 0x0, ttl  64, id 59183, offset 0, flags [DF],
 proto: TCP (6), length: 52) devcas1.domain.local.41082 
 util3.domain.local.8140: ., cksum 0xc146 (correct), ack 2 win 46
 nop,nop,timestamp 666800740 3608730134
 11:31:02.450472 IP (tos 0x0, ttl  64, id 59184, offset 0, flags [DF],
 proto: TCP (6), length: 157) devcas1.domain.local.41082 
 util3.domain.local.8140: P 1:106(105) ack 2 win 46 nop,nop,timestamp
 666800831 3608730134
 11:31:02.450498 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF],
 proto: TCP (6), length: 40) util3.domain.local.8140 
 devcas1.domain.local.41082: R, cksum 0xee79 (correct),
 1623860668:1623860668(0) win 0
 11:33:11.491647 IP (tos 0x0, ttl  64, id 44612, offset 0, flags [DF],
 proto: TCP (6), length: 334) devcas1.domain.local.55540 
 util3.domain.local.ldaps: P 3058489015:3058489297(282) ack 81338168
 win 128 nop,nop,timestamp 666929878 3608244168
 11:33:11.492744 IP (tos 0x0, ttl  64, id 48557, offset 0, flags [DF],
 proto: TCP (6), length: 446) util3.domain.local.ldaps 
 devcas1.domain.local.55540: P 1:395(394) ack 282 win 155
 nop,nop,timestamp 3608859274 666929878
 11:33:11.492818 IP (tos 0x0, ttl  64, id 48558, offset 0, flags [DF],
 proto: TCP (6), length: 142) util3.domain.local.ldaps 
 devcas1.domain.local.55540: P 395:485(90) ack 282 win 155
 nop,nop,timestamp 3608859274 666929878
 11:33:11.493585 IP (tos 0x0, ttl  64, id 44613, offset 0, flags [DF],
 proto: TCP (6), length: 52) devcas1.domain.local.55540 
 util3.domain.local.ldaps: ., cksum 0x102d (correct), ack 395 win 142
 nop,nop,timestamp 666929880 3608859274
 11:33:11.493595 IP (tos 0x0, ttl  64, id 44614, offset 0, flags [DF],
 proto: TCP (6), length: 52) devcas1.domain.local.55540 
 util3.domain.local.ldaps: ., cksum 0x0fd3 (correct), ack 485 win 142
 nop,nop,timestamp 666929880 3608859274
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Puppet Users group.
 To post to this group, send email to puppet-us...@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-us...@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: Realizing wrong ssh key for the wrong user

2010-11-10 Thread jcbollinger

On Nov 9, 2:47 pm, Tobias Lott tl...@ebel-syste.ms wrote:
 Problem isn't Directories not getting created but every user is getting
 ALL ssh keys

I see the error messages appearing to indicate attempts to distribute
keys to users who should not have them.  The attempts seem not to be
successful, however.  Do the correct keys successfully get distributed
to the correct users, or do all key distribution attempts fail?  Are
there circumstances under which Puppet genuinely does install keys for
users that should not have them?

I can imagine that the provider for ssh_authorized_keys may
boneheadedly attempt to read authorized_keys files that it doesn't
actually need to read (or write).  If you have Puppet installed in a
manner that prevents puppetd from successfully accessing those files,
then the error messages may simply signal inefficiency, rather than a
bona fide attempt to distribute keys incorrectly.

Note also that there appears to be a typo in your manifest fragment:
key peto is assigned to user petov (not peto).  It would be very
strange, but within the realm of possibility, if your problem
disappeared after you correct that.


Regards,

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-us...@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: Could not retrieve catalog from remote server - random

2010-11-10 Thread PBWebGuy
 Make sure that you get output from the puppetmaster for some things.  It's 
 easy to look at the wrong log if you are using passenger.

 I've seen a similar error problem when the puppetmaster is overloaded so the 
 client times out.  For me, this is when It gets all 50 clients ask for a 
 catalog at the same time (don't ask).  Could this be the problem?


Hi Patrick,

I'm running PM in --no-daemonize so I see all output.  I'm not using
passenger and the server is only being hit by manual invocations by
nodes so it is not being overtaxed.

It seems completely random in that it will work one out of 20 tries.
I don't have any other nodes having an issue.

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-us...@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: multiple package installation at same location

2010-11-10 Thread jcbollinger

On Nov 9, 10:13 am, Bakul bakul.ghug...@gmail.com wrote:
 I know that would be better option but it's not possible to do it at
 this point (due to some non-technical issue). Is there anyway this can
 be handled in puppet.

Your manifests cannot directly specify command line parameters to be
passed to yum.  As I already wrote, however, you can configure yum
(in /etc/yum.conf) so that -y is always assumed.  (man yum.conf)

Alternatively, you can create a new or modified yum package provider
that does this, and install it into Puppet.  That would narrow the
scope to which the -y default would apply.  (http://
docs.puppetlabs.com/guides/custom_types.html)

I reiterate, however, that these options are not just _worse_ than
building proper packages: they are BAD.

If the jboss-fix package contains only a few files then it might be
better all around to just manage those files directly, instead of
distributing them in RPM form.  Especially so if the changes are all
in config files.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: Lenny and lenny-backports

2010-11-10 Thread Zach Leslie
Which isn't terrible, but you loose init scripts and the like.

Zach


On Tue, Nov 9, 2010 at 4:43 PM, bobics bob...@gmail.com wrote:

 I get around this issue by installing Puppet as a gem.

 --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To post to this group, send email to puppet-us...@googlegroups.com.
 To unsubscribe from this group, send email to
 puppet-users+unsubscr...@googlegroups.compuppet-users%2bunsubscr...@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-us...@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: Could not retrieve catalog from remote server - random

2010-11-10 Thread PBWebGuy
I have continued troubleshooting this and have gone as far as:

1. Removed all code from the nodes.pp for this particular node.

2. Deleted the /var/lib/puppet directory on the node and resigned with
the PM.  Note that the signing failed repeatedly as well where the PM
did not report any messages in debug mode.  The tcpdump showed traffic
for every request from the node.

Regards,

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-us...@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: Managing private key files; content=file vs. binary content.

2010-11-10 Thread Thomas Bendler
Hi Chris,

2010/11/10 Chris chrisma...@gmail.com

 [...]
 Yes, except that approach suffers from the same administrative
 problems as using puppet:/// and auth.conf. HTTPS certs aren't
 specific to hosts. If I have 20 servers all requiring foo.key (because
 they all have the foo-application class in their manifest), then
 either I have to copy foo.key into 20 different directories, or else
 have one export with 20 allowed hosts. And every time I add the foo-
 application class to another host, I need to remember to also expose
 the key to that host. With large numbers of keys and hosts, and
 moderate levels of churn, this becomes difficult to manage and prone
 to errors.


got the point, thought that you need one specific key on each server. So
that should be even simpler, use file with content and put the key in the
content field:

$myKey = -BEGIN RSA PRIVATE
KEY-\nMIICXgIBAAKBgQDTqkVS4/iwKx8LngXQrEShlfSRtcSyOB1IjC5AIGUAJvapq9lz\n...

file {
  /path/to/keyFile:
content = $myKey;
}

Put this into your Webserver class and assign the class only to the
Webservers.

Kind regards, Thomas

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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 Module Repository

2010-11-10 Thread Yushu Yao
Hi Experts,

I am just wondering is there anything like a Puppet Module Repository in
production yet?

For the Puppet Module Repository I am looking for two main features:
1. Versioning control of each individual module
2. automatic dependency resolution, one module will be able to say which
module (at which version) this module depend on.

Basically, something like python easy_install or ruby gems will be the best.

Thanks a lot!

-Yushu

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: Managing private key files; content=file vs. binary content.

2010-11-10 Thread Richard Crowley
 got the point, thought that you need one specific key on each server. So
 that should be even simpler, use file with content and put the key in the
 content field:

 $myKey = -BEGIN RSA PRIVATE
 KEY-\nMIICXgIBAAKBgQDTqkVS4/iwKx8LngXQrEShlfSRtcSyOB1IjC5AIGUAJvapq9lz\n...

 file {
   /path/to/keyFile:
     content = $myKey;
 }

 Put this into your Webserver class and assign the class only to the
 Webservers.

This works perfectly for PEM-formatted keys because they're ASCII,
which is a subset of UTF-8.  Binary keys are not (usually) valid UTF-8
and thus can't be crammed into a catalog without some encoding.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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 Module Repository

2010-11-10 Thread Joe McDonagh

On 11/10/2010 01:14 PM, Yushu Yao wrote:

Hi Experts,

I am just wondering is there anything like a Puppet Module 
Repository in production yet?


For the Puppet Module Repository I am looking for two main features:
1. Versioning control of each individual module
2. automatic dependency resolution, one module will be able to say 
which module (at which version) this module depend on.


Basically, something like python easy_install or ruby gems will be the 
best.


Thanks a lot!

-Yushu

--
You received this message because you are subscribed to the Google 
Groups Puppet Users group.

To post to this group, send email to puppet-us...@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.

http://forge.puppetlabs.com/

--
Joe McDonagh
AIM: YoosingYoonickz
IRC: joe-mac on freenode
When the going gets weird, the weird turn pro.

--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To post to this group, send email to puppet-us...@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: Managing private key files; content=file vs. binary content.

2010-11-10 Thread Thomas Bendler
2010/11/10 Richard Crowley r...@rcrowley.org

 [...]
 This works perfectly for PEM-formatted keys because they're ASCII,
 which is a subset of UTF-8.  Binary keys are not (usually) valid UTF-8
 and thus can't be crammed into a catalog without some encoding.


And why don't you convert the key to a PEM key before putting it into
puppet? You can use OpenSSL to convert the binary key to a PEM key:

openssl enc -in some-bin.key -out some-pem.key -a

Kind regards, Thomas

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: Managing private key files; content=file vs. binary content.

2010-11-10 Thread Richard Crowley
On Wed, Nov 10, 2010 at 10:39 AM, Thomas Bendler thomas.bend...@cimt.de wrote:
 2010/11/10 Richard Crowley r...@rcrowley.org

 [...]
 This works perfectly for PEM-formatted keys because they're ASCII,
 which is a subset of UTF-8.  Binary keys are not (usually) valid UTF-8
 and thus can't be crammed into a catalog without some encoding.

 And why don't you convert the key to a PEM key before putting it into
 puppet? You can use OpenSSL to convert the binary key to a PEM key:

In my particular case because its unclear if ASCII encodings of
trusted.gpg and trustdb.gpg are indeed possible.

In the general case, even completely legitimate (and common) Latin-1
text files can cause Puppet problems because some Latin-1 bytes are
not valid UTF-8.  In my opinion, the content parameter of a file
resource should be able to handle these cases.

Richard

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: Managing private key files; content=file vs. binary content.

2010-11-10 Thread Patrick

On Nov 10, 2010, at 11:48 AM, Richard Crowley wrote:

 On Wed, Nov 10, 2010 at 10:39 AM, Thomas Bendler thomas.bend...@cimt.de 
 wrote:
 2010/11/10 Richard Crowley r...@rcrowley.org
 
 [...]
 This works perfectly for PEM-formatted keys because they're ASCII,
 which is a subset of UTF-8.  Binary keys are not (usually) valid UTF-8
 and thus can't be crammed into a catalog without some encoding.
 
 And why don't you convert the key to a PEM key before putting it into
 puppet? You can use OpenSSL to convert the binary key to a PEM key:
 
 In my particular case because its unclear if ASCII encodings of
 trusted.gpg and trustdb.gpg are indeed possible.
 
 In the general case, even completely legitimate (and common) Latin-1
 text files can cause Puppet problems because some Latin-1 bytes are
 not valid UTF-8.  In my opinion, the content parameter of a file
 resource should be able to handle these cases.

I think you should file a bug then.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: Could not retrieve catalog from remote server - random

2010-11-10 Thread PBWebGuy
After 6 hours of troubleshooting, we found that there was a process
(Alfresco/Tomcat) running on the node that was consuming large amounts
of the CPU.  Running 'top', there was a sustained load of 2.x.  As
soon as I killed the process, Puppet started running perfectly!  This
node is a VM in a VMWare cloud.

Hope that this will help someone else someday...

Regards,

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-us...@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: Puppet Module Repository

2010-11-10 Thread PBWebGuy
This is not exactly what you're looking for but may be a solution.  We
are using the multiple environment functionality (http://
projects.puppetlabs.com/projects/1/wiki/Using_Multiple_Environments)
to manage version control to prevent changes from impacting production
while we're implementing and testing in DEV.  We basically have a
checkout/working copy of the puppet modules for each environment.
When we want to upgrade production, we snap a new tag, and then update
the working directory on the PM to the new version.  Our tree looks
like:


/etc/puppet/env
   |-- dev
   |   |-- manifests
   |   `-- modules
   |-- preprod
   |   |-- manifests
   |   `-- modules
   `-- prod
   |-- manifests
   `-- modules

This gives us version control at the environment level instead of at
the module level.  I don't know of any dependency resolution solution.

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-us...@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] Default ownership for static files

2010-11-10 Thread Douglas Garstang
On Mon, Nov 8, 2010 at 8:29 AM, Patrick kc7...@gmail.com wrote:


 On Nov 8, 2010, at 8:03 AM, R.I.Pienaar wrote:

 
  - Markus Falb markus.f...@fasel.at wrote:
 
  Hi,
 
  I try to serve a file
 
  file { /root/test3.txt:
 ensure = file,
 source = puppet:///yum/test.txt,
  }
 
  On the puppetmaster this files look like this
 
  #$ ls -n test.txt
  -rw-r--r--  1 502  301  4  8 Nov 16:25 test.txt
 
  Finally, here is my question: What ownership may I expect on the
  resulting file ?
 
  Do not rely on this behavior, specify the owner and mode in your file{}
 resources.
 
  That is the only reliable way.

 To expand on this, one way you can rely on a default is to set the default
 by putting this in site.pp (Not in any class)

 File {
mode = '644',
owner = '502',
group = '301,
 }


This would generally be a bad idea IMHO. If you put a File{} in site.pp, it
stops you from being able to put a File{} anywhere else, say in a module. If
you _do_ put a File{} in a module (which I do all the time), it disregards
the global File{} in site.pp. Same applies to any resource default.

That's unless of course puppet has a plusignment operator for resource types
that I wasn't aware of.

Doug.

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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] Default ownership for static files

2010-11-10 Thread Douglas Garstang
On Mon, Nov 8, 2010 at 9:36 AM, Markus Falb markus.f...@fasel.at wrote:

 On 08.11.10 17:03, R.I.Pienaar wrote:
 
  - Markus Falb markus.f...@fasel.at wrote:
 
  Hi,
 
  I try to serve a file
 
  file { /root/test3.txt:
  ensure = file,
  source = puppet:///yum/test.txt,
  }
 
  On the puppetmaster this files look like this
 
  #$ ls -n test.txt
  -rw-r--r--  1 502  301  4  8 Nov 16:25 test.txt
 
  Finally, here is my question: What ownership may I expect on the
  resulting file ?
 
  Do not rely on this behavior, specify the owner and mode in your file{}
 resources.
 
  That is the only reliable way.
 

 It seems so, but do we want things this way ? I knew that I can specify
 owner explicitly, instead I wanted to question the defaults.

 When puppetd runs as root and without defined otherwise files should be
 created with owner root in my opinion. Why should one assume that uids
 on puppetmaster and client are synchronised ? Forget to define one
 ownership in your manifests and possibly unrelated users on the client
 can access these files unintentionally.

 I think thats a security flaw. I would like to rely on reasonable
 defaults. I think about opening a ticket for this.

 I try in other words: A file on puppetmaster belongs to user x with uid
 y and it is created on the client with uid y whatever user this
 translates to. Is this intended ?


When no owner or group is specified for the file, the default owner and
group on the target system seems to default to the same as the owner and
group on the puppetmaster, if that user exists on the target system. Ie, all
our files under /etc/puppet are owned by the puppet user, and if I don't
specify a use/group on a file, they end up being owned by puppet on the
target.

Doug

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: unable to get puppet client to work

2010-11-10 Thread vonObelix
How did you fix this?

On 19 Okt., 12:48, mar...@fearless.nl mar...@fearless.nl wrote:
 0.25.4 (Ubuntu repository)

 However, i got it working now. Seemed the reverse DNS was causing
 issues.

 Cheers,

 Marcel

 On 18 okt, 18:42, Mohit Chawla mohit.chawla.bin...@gmail.com wrote:

  Hi,

  What's the client version ?

  On Mon, Oct 18, 2010 at 9:36 PM, mar...@fearless.nl 
  mar...@fearless.nlwrote:

   Hi All,

   first off, i'm new to puppet. I've started playing with it for a few
   days now and it seems to be perfectly matching my needs.

   I've created two labs, one at home (working) and one in the office
   (not working).
   Now as you can gather, i would like some help on find the reason the
   the office-lab not to work.

   The puppetmaster works as expected, starts good and without issue.

   Starting it in debug mode says :

   r...@master:/etc/puppet# puppetmasterd --no-daemonize -d -v
   debug: Failed to load library 'selinux' for feature 'selinux'
   debug: Failed to load library 'ldap' for feature 'ldap'
   debug: Puppet::Type::User::ProviderLdap: feature ldap is missing
   debug: Puppet::Type::User::ProviderPw: file pw does not exist
   debug: Puppet::Type::User::ProviderUser_role_add: file rolemod does
   not exist
   debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/
   dscl does not exist
   debug: /File[/var/puppet/yaml]: Autorequiring File[/var/puppet]
   debug: /File[/etc/puppet/ssl/certs/ca.pem]: Autorequiring File[/etc/
   puppet/ssl/certs]
   debug: /File[/etc/puppet/manifests]: Autorequiring File[/etc/puppet]
   debug: /File[/var/puppet/state]: Autorequiring File[/var/puppet]
   debug: /File[/var/puppet/facts]: Autorequiring File[/var/puppet]
   debug: /File[/etc/puppet/ssl/certs]: Autorequiring File[/etc/puppet/
   ssl]
   debug: /File[/etc/puppet/ssl]: Autorequiring File[/etc/puppet]
   debug: /File[/etc/puppet/ssl/public_keys/master.pem]: Autorequiring
   File[/etc/puppet/ssl/public_keys]
   debug: /File[/var/puppet/log/masterhttp.log]: Autorequiring File[/var/
   puppet/log]
   debug: /File[/etc/puppet/ssl/crl.pem]: Autorequiring File[/etc/puppet/
   ssl]
   debug: /File[/etc/puppet/ssl/private]: Autorequiring File[/etc/puppet/
   ssl]
   debug: /File[/var/puppet/rrd]: Autorequiring File[/var/puppet]
   debug: /File[/etc/puppet/ssl/certificate_requests]: Autorequiring
   File[/etc/puppet/ssl]
   debug: /File[/var/puppet/bucket]: Autorequiring File[/var/puppet]
   debug: /File[/etc/puppet/auth.conf]: Autorequiring File[/etc/puppet]
   debug: /File[/var/puppet/reports]: Autorequiring File[/var/puppet]
   debug: /File[/etc/puppet/manifests/site.pp]: Autorequiring File[/etc/
   puppet/manifests]
   debug: /File[/var/puppet/log]: Autorequiring File[/var/puppet]
   debug: /File[/var/puppet/lib]: Autorequiring File[/var/puppet]
   debug: /File[/etc/puppet/fileserver.conf]: Autorequiring File[/etc/
   puppet]
   debug: /File[/etc/puppet/puppet.conf]: Autorequiring File[/etc/puppet]
   debug: /File[/etc/puppet/ssl/certs/master.pem]: Autorequiring File[/
   etc/puppet/ssl/certs]
   debug: /File[/etc/puppet/ssl/public_keys]: Autorequiring File[/etc/
   puppet/ssl]
   debug: /File[/etc/puppet/ssl/private_keys]: Autorequiring File[/etc/
   puppet/ssl]
   debug: /File[/etc/puppet/ssl/private_keys/master.pem]: Autorequiring
   File[/etc/puppet/ssl/private_keys]
   debug: /File[/var/run/puppetmasterd.pid]: Autorequiring File[/var/run]
   debug: Finishing transaction -610961228 with 0 changes
   debug: /File[/etc/puppet/ssl/ca/private]: Autorequiring File[/etc/
   puppet/ssl/ca]
   debug: /File[/etc/puppet/ssl/ca/serial]: Autorequiring File[/etc/
   puppet/ssl/ca]
   debug: /File[/etc/puppet/ssl/ca/private/ca.pass]: Autorequiring File[/
   etc/puppet/ssl/ca/private]
   debug: /File[/etc/puppet/ssl/ca/requests]: Autorequiring File[/etc/
   puppet/ssl/ca]
   debug: /File[/etc/puppet/ssl/ca/ca_crl.pem]: Autorequiring File[/etc/
   puppet/ssl/ca]
   debug: /File[/etc/puppet/ssl/ca/ca_crt.pem]: Autorequiring File[/etc/
   puppet/ssl/ca]
   debug: /File[/etc/puppet/ssl/ca/inventory.txt]: Autorequiring File[/
   etc/puppet/ssl/ca]
   debug: /File[/etc/puppet/ssl/ca/ca_key.pem]: Autorequiring File[/etc/
   puppet/ssl/ca]
   debug: /File[/etc/puppet/ssl/ca/signed]: Autorequiring File[/etc/
   puppet/ssl/ca]
   debug: /File[/etc/puppet/ssl/ca/ca_pub.pem]: Autorequiring File[/etc/
   puppet/ssl/ca]
   debug: Finishing transaction -611217558 with 0 changes
   debug: Using cached certificate for ca, good until Fri Oct 16 14:58:50
   UTC 2015
   debug: Using cached certificate for ca, good until Fri Oct 16 14:58:50
   UTC 2015
   debug: Using cached certificate for master, good until Fri Oct 16
   14:58:50 UTC 2015
   notice: Starting Puppet server version 0.25.4

   Which seems good to me.

   Now when i start a client, this happens :

   r...@ubuntu:~# puppetd --no-daemonize --verbose --server master --fqdn
   ubuntu.lab --waitforcert 60 -o
   err: Could not retrieve catalog from remote 

Re: [Puppet Users] Re: Managing private key files; content=file vs. binary content.

2010-11-10 Thread Chris May
On Wed, Nov 10, 2010 at 6:26 PM, Richard Crowley r...@rcrowley.org wrote:

  got the point, thought that you need one specific key on each server. So
  that should be even simpler, use file with content and put the key in the
  content field:
 
  $myKey = -BEGIN RSA PRIVATE
 
 KEY-\nMIICXgIBAAKBgQDTqkVS4/iwKx8LngXQrEShlfSRtcSyOB1IjC5AIGUAJvapq9lz\n...
 
  file {
/path/to/keyFile:
  content = $myKey;
  }
 
  Put this into your Webserver class and assign the class only to the
  Webservers.

 This works perfectly for PEM-formatted keys because they're ASCII,
 which is a subset of UTF-8.  Binary keys are not (usually) valid UTF-8
 and thus can't be crammed into a catalog without some encoding.


Indeed. I made a mistake in my original post; it's not the key files for
apache (which are PEM-formatted ASCII) , but rather those in Java's JKS
keystore format, that cause problems for me. I could probably create a
workaround by transferring the keys as .PEM format and then converting to
JKS on the client, but it would be a pretty fiddly solution compared to the
option of a binary-safe file() function.


 --
 You received this message because you are subscribed to the Google Groups
 Puppet Users group.
 To post to this group, send email to puppet-us...@googlegroups.com.
 To unsubscribe from this group, send email to
 puppet-users+unsubscr...@googlegroups.compuppet-users%2bunsubscr...@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-us...@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] Managing components in an high availability environment?

2010-11-10 Thread Daniel Pittman
Maciej Skrzetuski m.skrzetu...@gmail.com writes:

 we would like to create and/or modify resources in our environment with the
 help of puppet. The problem is that the software components may fail over
 from node A to node B. We are planning to write our own modules for puppet
 but we have no idea how to handle the fail over thing. Is there a popular
 pattern for s.th. like this? S.th. like: if the component is not on node A
 then look on node B and then if this fails report a failure.

I wrote a custom fact to determine which node in our HA database pair was
currently active, and used:

  if $database_blah_blah == 'active' {
# manage the stuff here
  }

For most of the resources, though, I worked fairly hard to make sure that all
the administrative changes could apply on *both* nodes, so that I didn't have
to introduce that sort of dependency.

This is, in my experience, the far better (but harder) way to achieve the
results.


Writing custom facts is actually pretty trivial, FWIW, so doesn't add too much
overhead to the whole process.  (At least, nothing notable compared to the
effort of getting an HA system in the first place. ;)

Regards,
Daniel
-- 
✣ Daniel Pittman✉ dan...@rimspace.net☎ +61 401 155 707
   ♽ made with 100 percent post-consumer electrons

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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: Query facter 'facts' from webapp

2010-11-10 Thread donavan
On Nov 9, 6:06 am, Pieter Baele pieter.ba...@gmail.com wrote:
 Hi,

 I would like to query the puppetmaster (or the puppet nodes...) for some facts
 and display/use these in an external web application (written django)
 using the certificates from Puppet.

 What's the correct (nice) way to do this? REST?
 Can I find some code examples for this?

 Met vriendelijke groeten,
 Pieter Baelewww.pieterb.be

Pieter, It's not a solution today but it sounds like you're looking
for the Inventory Service[1]. The basic idea is to collect, and
export, the client facts using a REST interface from a central
service. There's a push to get this in to 2.7[2], so some of your work
may be done for you already.

The mcollective registration method also works great, if you want to
go that route.

[1] http://projects.puppetlabs.com/projects/1/wiki/InventoryServiceArchitecture
[2] 
http://groups.google.com/group/puppet-dev/browse_thread/thread/4fa1c3dc34725004/5e822ab9c65dadee

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To post to this group, send email to puppet-us...@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.