Re: [Puppet Users] How to Prevent Both MySQL and Percona From Being Installed? (RSOLVED)

2014-04-25 Thread Jon Forrest

On 4/25/2014 5:31 AM, Walter Heck wrote:

Why don't you use the puppetlabs-mysql module? There you can use percona
simply by modifying a few parameters, circumventing this whole issue.

just my 2 cents :)


You're right - I could have. Maybe I should have. But,
I like little puzzles like this because they help me
learn more about Puppet.

Jon Forrest


--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/535B3696.2070602%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Re: Package With 'yum' Provider Uses 'rpm' to Remove a Package (bug?)

2014-04-24 Thread Jon Forrest

On 4/24/2014 7:01 AM, jcbollinger wrote:


That's not necessarily a naive assumption, but it does suggest that you
haven't fully grasped the Puppet paradigm.  You seem to be thinking in
terms of how to persuade Puppet to execute specific commands, but you
should be thinking in terms of how to accurately express the desired
target state.


I think I did, but that didn't work. So, I had to get fancy.


Given that, then, declaring to Puppet that you want a package absent
is a statement about that package alone.  Declaring that you want it
purged says that you want not only that package absent, but also all
its configuration files and any other packages that depend on it.


This is indeed the critical fact that I wasn't aware of. Thanks
for clearing this up.

Jon

--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/5359D29E.2020606%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] How to Prevent Both MySQL and Percona From Being Installed? (RSOLVED)

2014-04-24 Thread Jon Forrest

A very clever co-worker managed to come with a solution.

Changing

  package {
'mysql':
  provider = yum,
  ensure = purged,
  }

to

  package {
'mysql.x86-64':
  provider = yum,
  ensure = purged,
  }

solved the problem.

I'm not sure why this works. I suspect it's because adding the .x86-64
somehow prevents the pattern from matching Percona. I'm going to
check this.

This approach is easier than creating a custom fact.

Thanks for all the suggestions.

Jon Forrest

--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/5359D4E2.2090908%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Re: Package With 'yum' Provider Uses 'rpm' to Remove a Package (bug?)

2014-04-23 Thread Jon Forrest
On Wed, Apr 23, 2014 at 8:54 AM, jcbollinger john.bollin...@stjude.org wrote:


 On Tuesday, April 22, 2014 2:16:22 PM UTC-5, Jon Forrest wrote:

 (I found a discussion from 6/22/09 on this topic, but that was a long time
 ago.)

 Did the discussion give you reason to think that the behavior was
 unintentional or likely to change?

I didn't think that whatever my reaction was to a 5 year old discussion
would matter now.  Puppet changes. People change.

 Using Puppet 3.5.1 on CentOS 6.5 I recently created the following:

   package {
 [ PackageKit]:
   ensure = absent,
   }

 However, when I ran Puppet, I got

 Error: Execution of '/bin/rpm -e PackageKit-0.5.8-21.el6.x86_64' returned
 1: error: Failed dependencies:
 PackageKit = 0.5.8-21.el6 is needed by (installed)
 PackageKit-yum-0.5.8-21.el6.x86_64
 PackageKit = 0.5.8-21.el6 is needed by (installed)
 PackageKit-glib-0.5.8-21.el6.x86_64
 PackageKit is needed by (installed)
 PackageKit-yum-plugin-0.5.8-21.el6.x86_64

 Notice that the provider is running '/bin/rpm' which explains the errors.



 Yes, this is intentional.  Puppet is taking care to avoid undeclared side
 effects.  Such side effects can make your manifest set inconsistent in ways
 that Puppet cannot otherwise detect.  For example, suppose somewhere else in
 your manifest set you had

   package { PackageKit-yum: ensure = 'installed' }

 That declaration and your example declaration are not consistent with each
 other, but if Puppet provided for ensure = absent via yum then both could
 be applied without error.  The result would depend on the relative order in
 which the declarations were applied, but neither result would be fully
 consistent with the catalog.

OK. See below.


 So, I explicitly added
 a provider, so that the resource definition is this:

  package {
 [ PackageKit]:
   provider = 'yum',
   ensure = absent,
   }

 There was no change!!



 No, because the agent was selecting the yum provider already.  The yum
 provider ensures absent by use of 'rpm -e'.  Again, this is intentional.

Apparently. But still, I was hoping there would be a way to somehow express
that I really truly wanted yum to remove a package, the same way it would
if I ran yum on the command line. In this case, there are no
conflicting resource
definitions so there would be no problem with the catalog being consistent.

My perhaps naive assumption would be that if I explicitly used the 'yum'
provider Puppet would follow my direction. I'm clearly wrong. Again,
see below.

 In the discussion from 2009, somebody suggested using purge instead of
 absent,
 so I did.

 And if you are willing to accept the risk of inconsistency described above,
 then that is what you should do.  But it's spelled purged, not purge.

Oops. You're right. My mistake, although would it be reasonable to expect
Puppet to show an error?

So, apart from my stupid syntax error, it seems like my problem was caused
by not understanding the difference between absent and purged when
the yum provider is used. I just googled

puppet difference between purged and absent

and I didn't find an explanation. I also checked the Puppet Type
Reference manual
and I didn't find anything there. Can you point me to anything?

Thanks,
Jon Forrest

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAF0Z9ipGV40Uj8P7s10_H%2BFt0p4OQbi5uH5RErWL_0zgtTBwqg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Unclear Status Messages

2014-04-23 Thread Jon Forrest
I have the following resource:

  package {
[ PackageKit]:
  provider = 'yum',
  ensure = purged,
  }

The first time I run Puppet I get status message I expect, e.g.

Notice: /Stage[main]/Xoom/Package[PackageKit]/ensure: ensure changed
'0.5.8-21.el6' to 'purged'

I then run Puppet again without making any changes to either the host
or the Puppet master. I then get:

Notice: /Stage[main]/Xoom/Package[PackageKit]/ensure: created

This makes it look like Puppet created the PackageKit package, even
though I asked for it to be deleted. However, this package wasn't
actually installed, e.g.

# rpm -qa | fgrep PackageKit
#

Why would that second message appear? I didn't ask for the
package to be created, plus the package wasn't actually created.

Thanks,
Jon Forrest

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAF0Z9iqJhe5OTY4q_tRAOhzCQ%3D6CjatGuDfTEU6e56aT6QhUrA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] How to Prevent Both MySQL and Percona From Being Installed?

2014-04-23 Thread Jon Forrest
I have an interesting problem (to me). I want to install Percona
mysql. This is easy.
But I also want to make sure regular MySQL isn't installed on the same
machine that's running Percona.

To install Percona, I have a resource like

  package {
'percona-client':
name = 'Percona-Server-client-55',
ensure = installed,
  }

To make sure MySQL isn't installed I have

  package {
'mysql':
  provider = yum,
  ensure = purged,
  }

The problem is that Puppet tries to remove Percona, instead of MySQL.
This is because the Percona rpm provides the mysql feature. By this I mean
the output from 'yum provides mysql' contains (edited):

Percona-Server-client-55-5.5.36-rel34.2.el6.x86_64 : Percona Server - Client
Repo: XXX
Matched from:
Other   : mysql

Percona-Server-client-55-5.5.36-rel34.2.el6.x86_64 : Percona Server - Client
Repo: installed
Matched from:
Other   : Provides-match: mysql

Of course, trying to remove Percona fails because other things depend on
it, as they should.

The only ideas I have for removing MySQL, and not Percona, are:

1) Use rpmrebuild to change what Percona provides
2) Use something like (untested)

exec { /usr/bin/yum -y remove mysql:
  onlyif = /bin/rpm -qa |/bin/fgrep mysql

3) Just presume that MySQL won't be installed in the first place.
I could do this but I'd like my modules to be more accepting and
not require a specially prepared system.

Any suggestions?

Jon Forrest

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAF0Z9io2vvOO3nBitsZRXE0AbbA10f8rP0mnhse61%3DWOG9Ycag%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Package With 'yum' Provider Uses 'rpm' to Remove a Package (bug?)

2014-04-22 Thread Jon Forrest
(I found a discussion from 6/22/09 on this topic, but that was a long time 
ago.)

Using Puppet 3.5.1 on CentOS 6.5 I recently created the following:

  package {
[ PackageKit]:
  ensure = absent,
  }

However, when I ran Puppet, I got

Error: Execution of '/bin/rpm -e PackageKit-0.5.8-21.el6.x86_64' returned 
1: error: Failed dependencies:
PackageKit = 0.5.8-21.el6 is needed by (installed) 
PackageKit-yum-0.5.8-21.el6.x86_64
PackageKit = 0.5.8-21.el6 is needed by (installed) 
PackageKit-glib-0.5.8-21.el6.x86_64
PackageKit is needed by (installed) 
PackageKit-yum-plugin-0.5.8-21.el6.x86_64

Notice that the provider is running '/bin/rpm' which explains the errors. 
So, I explicitly added
a provider, so that the resource definition is this:

 package {
[ PackageKit]:
  provider = 'yum',
  ensure = absent,
  }

There was no change!!

In the discussion from 2009, somebody suggested using purge instead of 
absent,
so I did. But although Puppet now uses yum, it does so in a very strange 
way:

Error: Could not update: Execution of '/usr/bin/yum -d 0 -e 0 -y install 
PackageKit-purge' returned 1: Error: Nothing to do
Wrapped exception:

This looks like a bug to me.

I ended up using

  exec { /usr/bin/yum -y remove PackageKit:
onlyif = /bin/rpm -qa |/bin/fgrep PackageKit,
}

but this is a step in the wrong direction.

Comments?

Jon Forreset

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/2089be92-a912-4645-819c-d1da5c3d34da%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Re: Final Comments on Pro Puppet 2nd Edition

2014-03-27 Thread Jon Forrest


On Thu, Mar 27, 2014 at 3:02 PM, Daniele Sluijters
daniele.sluijt...@gmail.com wrote:
 Hi,

 I'm going to be slightly blunt here.

That's fair.

 The authors of the book have, repeatedly, ask you to connect with them 
through different channels and
 contribute your fixes to the Github repository that was set up.

One author asked me once. I've never heard from any of the other authors.

Furthermore, as of today, Apress *still* doesn't show anything on
their Errata page for the book. That's the first place where issues should 
show up.

Though I appreciate your review of the book, the way you've handled the 
situation is
 not exactly exemplary.

I obviously don't agree. I'm doing this editing for free, on my own
time. I don't make any money from doing it. Helping the authors, who are 
making money
from the book (which is entirely fine), doesn't seem like an exemplary way
to handle the situation either. The list of issues is freely available
for them, or anybody
else, to do whatever they want with, including putting them on GitHub.

Let's say I had chosen to work with the authors. What difference would that
have made?

 I'm also wondering what you're trying to achieve here. I'm sure you 
realise
 that most people won't be reading your posts on the mailing lists before
 buying the book.

Maybe not, but I hope I've helped those that do.

Other than listing the issues with the book, I'm not trying to achieve 
anything.
I'm not a Puppet expert so I'm not promoting a Puppet consulting business.
These days I don't work as an editor so I'm not trying to get editing work.

 From reading your comments most of them are not about
 errors with regard to Puppet but with (perceived) errors in grammar, style
 or formatting.

Exactly right. This is a point I've made several times. But these are
exactly the kind of errors that the publisher had the responsibility
to fix. They didn't. When I buy a book with these kinds of problems
I feel ripped off, especially since it's not that hard to do right.
It's the technical stuff about Puppet that's hard.

I just got a copy of the latest version of Patterson and Hennesy's
Computer Architecture book. That's an example of how a book should
be edited.

 Only a few are actually about code or command errors and a
 few about terminology that's used before it's been explained or other 
issues
 that could potentially hamper the users understanding.

Right again. I even went to the trouble of clearly labeling the issues I
found so that people who don't care about typos, grammar, style, or
formatting can ignore all that and only look at the true errors.

I knew that not everyone would be interested in what I found. That's
why I clearly labeled my postings so that people who didn't care about
issues in the book could ignore what I said.

What would you have done?

Jon Forrest

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/b0fd3dff-f8de-4b00-aa1a-dd76b16e85aa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Problems in Ch. 11 and 12 of Pro Puppet 2nd Edition

2014-03-26 Thread Jon Forrest

Here are the issues I found in Chapters 11 and 12.

Jon Forrest

M = mistake
U = unclear
T = typo
E = text change
C = comment

(U) Pg. 249 Most readers won't know what an orchestration framework is.
I know I don't.

(C) Pg. 249 commands dispatched to systems in this manner are difficult 
to manage using the same tools and processes that you manage code with

Give an example of this.

(U) Pg. 249 MCollective agents
It would be useful to contrast an MCollective agent with a Puppet agent.

(E) Pg. 250 actions on all of your systems is quite straightforward -
actions is quite straightforward
(The point is that the actions don't have to occur on all your systems)

(E) Pg. 250 may consider deploying -
may require deploying

(E) Pg. 253 connect our clients -
connect our client
(The example layout only includes one client.)

(E) Pg. 255 has packages for both DEB and RPM -
has packages in both .deb and .rpm formats

(E) Pg. 257 addressed by metadata -
selected by examining metadata

(U) Pg. 257 There are several places on this page that talk about the 
Facter library.

Why is Facter called a library?

(E) Pg. 257 locate the Precise boxes -
locate the boxes running Debian Precise

(E) Pg. 263 we've taught you -
you've learned

(E) Pg. 263 It is still right next to -
It's still contained in

(E) Pg. 265 and can split on -
and can key off of

(E) Pg. 265 package manager or Gems -
package manager or RubyGems

(C) Pg. 265 Hiera can be installed from system packages (Listing 12-6) 
or with RubyGems (Listing 12-7).
This is already stated in the first sentence of this paragraph. There's 
no need to say it again.


(E) Pg. 265 Installing Hiera with packages -
Installing Hiera from packages

(T) Pg. 266 /etc//hiera.yaml -
/etc/hiera.yaml

(E) Pg. 267 The file /etc/puppet/hiera.yaml is used -
This file is used

(E) Pg. 267 rather than being itself a data store -
rather than being a data store itself

(E) Pg. 267 it will attempt to make the lookup on the first element -
Hiera will attempt to match the first element

(E) Pg. 267 First create the directory for data -
First create the data directory

(E) Pg. 268 run it with the debug flag -
run it with the debug flag (-d)

(T) Pg. 270 we use Puppet apply
Following convention on Page 268, Puppet apply should be puppet 
apply and should

be in bold.

(T) Pg. 270 a value from hiera -
a value from Hiera

(E) Pg. 270 code running in development is a good mock for the Puppet 
code -

code running in development imatches the Puppet code

(E) Pg. 271 without giving much thought to type -
without giving much thought to the other types Hiera can return

(E) Pg. 271 in the YAML format -
in YAML format

(T) Pg. 272 In Listing 12-26 shouldn't there be a newline after clock3] ?

(T) Pg. 273 As you can see, we can to offload -
As you can see, we can offload

(T) Pg. 275 backup_dirs array is set -
the backup_dirs array is set

(T) Pg. 275 focusing the data -
focusing on the data

(E) Pg. 275 Where putting strings -
While putting strings

(E) Pg. 276 the package, file, service model
On Pg. 275 you said package-file-service. Be consistent.

(E) Pg. 277 Second, create a global.d directory -
Second, create a /etc/puppet/data/global.d directory

(T) Pg. 281 (Listing 12-60)and -
(Listing 12-60) and

(T) Pg. 281 example of use(Listing 12-61.) -
example of use (Listing 12-61.)

(E) Pg. 284 you will want to remove defaults.yaml fully -
you will want to securely remove defaults.yaml

(T) Pg. 285 keys on each puppet Master -
keys on each Puppet master

(M) Pg. 287 presented as in Listing 12-74 -
presented in Listing 12-72

(T) Pg. 288 data entry science::param2: 'looked up in Hiera'. -
data entry science::param2: 'looked up in hiera'.

(T) Pg. 289 Openstack-infra does not
Openstack-infra should be in console bold, as on Page 288.

(T) Pg. 292 a slew of Hiera backends to store our Hiera data
The names of the backends that follow should use the same font that was 
used when the backends were presented earlier in the chapter.


--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/5333A367.3080606%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Final Comments on Pro Puppet 2nd Edition

2014-03-26 Thread Jon Forrest

I just posted my list of issues I discovered in Chapters 11
and 12 - the last two chapters of Pro Puppet 2nd Edition.

I found a lot of issues with this book. I simply don't
understand how these issues escaped the editors. One reason
I posted what I did is so that anyone thinking about buying
the book will know what to expect.

I just hope the technical material about Puppet was higher
quality than the editing job that went into this book. Since
I'm not a Puppet expert I have no way of judging, so I won't
comment.

I've posted the complete list of issues on
https://www.dropbox.com/s/qmcdgdo4bvq620q/propuppet2.txt

Jon Forrest

--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/5333A664.7080707%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Re: Problems in Ch. 1 and 2 of Pro Puppet 2nd Edition

2014-03-22 Thread Jon Forrest

On 3/22/2014 4:03 PM, Julien Deloubes wrote:

Hi John,
thanks for your work.
I think i found another typo or maybe there is something i don't understand?

(T) Pg. 51 file { ::$ssh::params::ssh_service_config: -
file { $::ssh::params::ssh_service_config:


Very good find. I missed that one. I've added it to my master list,
credited to you, which I'll be putting on Dropbox when it's finished.

Submitting errors to Apress is also a good idea, although it isn't clear
if it will do any good. After all, the Errata page for Pro Puppet
2nd ed. is still empty, even after everything I've posted.

Jon



--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/lglbvm%24rvg%241%40ger.gmane.org.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Problems in Ch. 10 of Pro Puppet 2nd Edition

2014-03-15 Thread Jon Forrest

Here are the issues I found in Chapters 10.

Jon Forrest

M = mistake - all readers should be aware of this
U = unclear - chances are readers will wonder about this
T = typo - a trivial uncontroversial text change
E = text change - most readers won't care but editors should
C = comment - more detailed or complex issue

(T) Pg. 227 to the existing resources types, providers and functions -
to the existing resources types, providers, and functions

(E) Pg. 227 support for environmental variables -
support for environment variables
(This occurs three times in the note on this page.)

(C) Pg. 227 concept called plug-ins in modules
Is this really the name of the concept?

(U) Pg. 227 host that includes a particular module
This could be confusing because a reader might think you're talking
about the Puppet include function.

(E) Pg. 228 there are two popular approaches to the task -
there are two popular approaches for doing so

(E) Pg. 228 allows a greater portability -
allows greater portability

(M) Pg. 228 The list of what's contained in the bind module should 
contain the line

bind/lib as the second to last line.

(T) Pg. 228 setting turns on the plug-ins in modules capability
Everywhere else on this page you've shown plug-ins in modules in
italics. Why isn't it that way here?

(T) Pg. 229 refer to osfamily with $ osfamily -
refer to osfamily with $osfamily

(E) Pg. 229 it will return -
the script will return

(C) Pg. 230 The indentation of several lines in Listing 10-4 is wrong. 
For example, the '}'

on the last line is too far to the left.

(E) Pg. 231 similar approach to commands -
similar approach with commands

(C) Pg. 231 Sometimes they're your facts and sometimes they're our 
facts.

Be consistent.

(E) Pg. 231 that references this directory and will allow Facter to 
find -

that references this directory so that Facter can find

(E) Pg. 231 you can call Facter -
you can run Facter

(E) Pg. 231 If the required output appears -
If the expected output appears

(E) Pg. 231 error message you can debug will be generated -
error message will be generated

(T) Pg. 231 following directory. -
following directory:

(E) Pg. 232 and output to -
and send output to

(C) Pg. 232 You use key=value in one place and key/value in another.
Be consistent.

(E) Pg. 232 or txt files -
or text files

(E) Pg. 232 adding to types -
adding types

(T) Pg. 232 Types, Providers and Functions -
Types, Providers, and Functions
(This error occurs several times on this page. It's also correct in 
several places.)


(T) Pg. 232 earlier this chapter -
earlier in this chapter

(E) Pg. 233 And just as you can with custom facts -
And just as with custom facts

(C) Pg. 233 Don't apache/lib/puppet and apache/lib/puppet/parser also 
need to be created?
If you're presuming a mkdir -p approach then these don't have to be 
explicitly mentioned.


(E) Pg. 233 As we did when we configured Puppet for custom facts -
As when we added custom facts to Puppet

(E) Pg. 233 synced down to an agent -
synced to an agent

(E) Pg. 233 Puppet has a package type, a service type, a user type, and 
all the other types available
Puppet has many types available, such as  a package type, a service 
type, a user type, and many others


(E) Pg. 234 First we create a module called custom to store it in -
First we create a module called custom with the following files and 
directories


(E) Pg. 236 This is a parameter value -
This is a parameter

(E) Pg. 236 In this parameter we've again used -
This parameter uses

(E) Pg. 236 could also use this validation for -
could also validate

(E) Pg. 236 In the case of our method, -
Our method

(T) Pg. 238 You've just seena very -
You've just seen a very

(C) Pg. 238 rather than multi-line configuration files.
/etc/shells is a multi-line configuration file.

(T) Pg. 240 They tell the Puppet -
They tell Puppet

(E) Pg. 241 the relevant line of configuration -
the relevant configuration line

(E) Pg. 241 add the /bin/anothershell -
add /bin/anothershell

(T) Pg. 241 add anothershell -
add /bin/anothershell

(E) Pg. 245 or testing environment and enable -
or testing environment, and enable

(C) Pg. 245 The three 'mkdir' commands are a different style for showing
the required module layout. Previously, all that was shown was a list of
directory and file names.

(E) Pg. 245 action, and with rvalues you pass -
action. With rvalues you pass

(E) Pg. 246 whether the file parses without error -
whether there are any syntax errors

(E) Pg. 246 function performed correctly -
function ran correctly

(T) Pg. 248 providers, functions and facts -
providers, functions, and facts

--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/53252366.4060306%40gmail.com.
For more options

[Puppet Users] Problems in Ch. 8 and 9 of Pro Puppet 2nd Edition

2014-03-12 Thread Jon Forrest
Here are the issues I found in Chapters 8 and 9.

Jon Forrest

M = mistake
U = unclear
T = typo
E = text change
C = comment

(T) Pg. 191 like librarian puppet -
like librarian-puppet

(T) Pg. 191 rspec-puppet, rspec-system and integrating -
rspec-puppet, rspec-system, and integrating

(U) Pg. 194 mysql::db provider
What's a provider?

(T) Pg. 196 The puppet-module tool -
The Puppet Module tool
(This is how you've referred to it up to now.)

(T) Pg. 197 in your version control -
in your version control system

(U) Pg. 197 you will need to remove the contents
Do you mean to remove the contents of /etc/puppet/modules from
the file system or from the version control system, or both?

(E) Pg. 197 You can specify the version -
You can specify the version you want to install

(E) Pg. 198 to version control -
to your version control system

(C) Pg. 198 You haven't mentioned Puppetfile.lock before. You should say
something about it if it's so critical that it needs to be kept in a
version control
system.

(T) Pg. 199 First up is puppet lint -
First up is puppet-lint

(E) Pg. 202 want a fixtures file -
want a .fixtures.yml file

(T) Pg. 202 we have modified fixtures.yml -
we have modified .fixtures.yml

(E) Pg. 203 specify osfamily as one of the OS families -
assign osfamily the name of one of the OS families

(E) Pg. 203 it will throw an error -
spec will throw an error
(Is the name of this tool spec or rspec?)

(T) Pg. 208 creating the rspec system directory layout -
Creating the rspec-system directory layout

(T) Pg. 210 and then CD to the Vagrant folder -
 and then cd to the Vagrant folder

(T) Pg. 210 Accessing rspec system Vagrant machines -
Accessing rspec-system Vagrant machines

(E) Pg. 217 sent to the master server -
sent to the Puppet master

(E) Pg. 217 success or failure of those resources -
success or failure of those changes

(E) Pg. 221 Specifying this tag will make the report return all error
messages -
Specifying this tag will make Puppet send all error messages

(E) Pg. 221 We can install RRDTools via package -
We can install the RRDTools package

(E) Pg. 221 Red Hat, CentOS, and Mandriva versions -
Red Hat, CentOS, and Mandriva

(E) Pg. 222 Both gems should work to produce -
Both gems should produce

(E) Pg. 222 in the form of an HTTP Post -
via an HTTP Post

(E) Pg. 222 on the master -
on the Puppet master

(E) Pg. 222 supports the importation of
supports importing

(U) Pg. 223 Instead, the report processors are stored in the
lib/puppet/reports directory. For example, on an Ubuntu
Puppet master we'd add our custom report processor to the
/usr/lib/ruby/vendor_ruby/puppet/reports
directory
The second location mentioned,
/usr/lib/ruby/vendor_ruby/puppet/reports, is not in
lib/puppet/reports,
as the first sentence says it should be.

(E) Pg. 223 You could also parse particular -
You could also filter particular

(E) Pg. 223 We also wrote our summary report out to a directory named
after the Puppet agent host located under the reports
directory -
We also wrote our summary report out to a directory, located under
the reports directory, named after the Puppet agent host

(T) Pg. 225 reporting data from thecode -
reporting data from the code

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAF0Z9iqHSxSY35unOZtC-aW3hS4shw6ak9z%2Bnz0RNzV2tvXVOQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Re: Problems in Ch. 4 of Pro Puppet 2nd Edition

2014-03-11 Thread Jon Forrest
On 3/11/2014 10:32 AM, Spencer Krum wrote:
 Thanks so much for reading attentively and posting your feedback. I'm
 sorry you don't want to help us more formally.

I want to make it clear that the reason for this is because since
this is a closed-source book, I'd need some form of payment for
a formal relationship (I've done massive free edits of Pro Git and
Managing Jenkins because these are open-source books). At this point,
such things only complicate my taxes and make me feel obligated to
get things done to meet deadlines. Since I have a fulltime day job
I can't commit to anything with fixed deadlines. It wouldn't be fair
to you or Apress.

 I don't think its realistic to open source the book at this point, but I'll 
 open the
 conversation with Apress and the other authors.

OK. If you do change your mind then I'd be more than glad to work with
you.

Jon

On Tue, Mar 11, 2014 at 10:32 AM, Spencer Krum krum.spen...@gmail.com wrote:

 Hi Jon,

 I'll ask my editor to link the errata from the github repository to the
 eratta page on the Apress website. I want to assure you we went through
 several rounds of editing, but errors are always going to fall through.
 Thanks so much for reading attentively and posting your feedback. I'm sorry
 you don't want to help us more formally. I don't think its realistic to open
 source the book at this point, but I'll open the conversation with Apress
 and the other authors.

 Thanks again,
 Spencer

 On Monday, March 10, 2014 4:31:26 AM UTC, Jon Forrest wrote:



 On Wednesday, March 5, 2014 10:29:07 AM UTC-8, Spencer Krum wrote:
 Hi Jon,

  My name is Spencer Krum. I am one of the authors of Pro Puppet. I want
  to thank you for going through the book with such a fine toothed comb.
  I wish I had known you were so committed to making this book a success
  months ago. I would have gotten you an advance copy so you could
  have helped make the final version better.

 What concerns me most is how Apress could have released a book with so
 many issues.
 Somehow their production process broke down.

  From what I understand from Apress, we don't have the ability to
  directly address these problems in newly sold versions of the book.
  These errors will be with us until a 3rd edition comes out, maybe
  sometime around Puppet 4.

 I'm sorry to hear that. That seems like a long time to wait. What's worse
 is that people who don't read this email list
 will have no idea that this book is full of issues. Even now, after I've
 been releasing these lists for ~2 weeks, the
 errata page on the Apress web site (http://www.apress.com/9781430260400)
 still says there are no errata for this book.
 That's not fair.

  Here is what we can do. I have created a github repository to collect
  the errata in a single place.
  https://github.com/pro-puppet/pro-puppet-errata
  I don't think we can get that link added to the front matter, but we can
  probably get it added to the description of
  the book on Amazon, and can link to it in the online/supplemental
  materials. This repository is one central place
  we can collect all the errors/corrections about Pro Puppet 2n'd edition,
  not just yours.
  I've already added your ch1-4 reviews to that project. Would you be
  willing to work on the rest of the chapters with us?

 Since I haven't received any money from Apress, nor will I request
 anything other than my own copy of the book (which
 they've now given me), I'm not inclined to formally work on this project
 (see below)

  If you feel comfortable with git/github I can give you contributor
  access or I can add the text if you want to send it to me.
  I think collecting all the errors in the github repository is a better
  solution than posting them all to separate messages
  to the Puppet users mailing list, a list of over a thousand people.
  What do you think?

 What I'm planning on doing is continuing on as I have been. I'm going to
 post my lists, chapter
 by chapter, to this list. You, and anybody else, are free to do whatever
 you want with them, such as putting
 them up on GitHub. I clearly label these postings so anyone who isn't
 interested in them can easily
 skip them.

 Is this a reasonable approach?

 Jon Forrest

 P.S. Have you considered putting the sources for Pro Puppet 2nd ed. up on
 GitHub the way
 Scott Chacon did for Pro Git?

 --
 You received this message because you are subscribed to a topic in the
 Google Groups Puppet Users group.
 To unsubscribe from this topic, visit
 https://groups.google.com/d/topic/puppet-users/dzXe29iNwtQ/unsubscribe.
 To unsubscribe from this group and all its topics, send an email to
 puppet-users+unsubscr...@googlegroups.com.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/puppet-users/52ee6a2c-8cbd-4d2d-a687-4a5cee33aa6a%40googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.

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

[Puppet Users] Problems in Ch. 7 of Pro Puppet 2nd Edition

2014-03-11 Thread Jon Forrest

Here are the issues I found in Chapter 7. Short chapter - many typos.
Only 5 more chapters to go.

Jon Forrest

M = mistake
U = unclear
T = typo
E = text change
C = comment

(M) Pg. 169 an external node carrier (ENC) -
an external node classifier (ENC)

(C) Pg. 169 integrated data center lifecycle management tool
This is a meaningless phrase.

(E) Pg. 170 The Foreman installer currently does not support 
MCollective or PuppetDB installation -

The Foreman installer currently does not install MCollective or PuppetDB

(C) Pg. 172 Foreman will be accessible at https://fqdn/;
You should make it clear here that fqdn should be replaced by the 
hostname of the
host running Foreman. You mention this instead on the next page, but 
that's too late.


(T) Pg. 172 add your foreman server -
add your Foreman server

(C) Pg. 172 Why should provisioning be disabled? I'm not saying this is 
wrong but

it would be nice to know why.

(E) Pg. 175 it will drill down -
Foreman will drill down

(E) Pg. 176 The Foreman behaves as an ENC -
Foreman behaves as an ENC
(Using been using Foreman without the up to now.
Be consistent. This mistake occurs more than once on this page.)

(U) Pg. 178 What's an eventful report?

(U) Pg. 178 Why does pro-puppet-foreman-client1.lan appear twice in 
Figure 7-10?
I would expect there to be one entry per client. If this isn't true, 
please explain what's

included in the Reports tab.

(T) Pg. 178 node with errors and warning -
node with errors and warnings

(U) Pg. 179 What's an eventful node?

(E) Pg. 179 query for all of the nodes -
query all of the nodes running Debian Linux

(T) Pg. 180 which like Foreman -
which, like Foreman

(T) Pg. 180 advancing reporting tools -
advanced reporting tools

(E) Pg. 180 enterprise product line and support -
enterprise product line

(U) Pg. 180 One of the key differences from Foreman is that PE Console 
focuses on Puppet and its related products -

Foreman focuses on Puppet also. How is this different than PE Console?

(T) Pg. 180 For this section will be running -
For this section we will be running

(T) Pg. 180 access the console -
access the PE console

(T) Pg. 181 Once our nodes have checked in, we can begin applying 
configuration to them -
Once your nodes have checked in, you can begin applying configuration 
to them

(Why did you change person here? This problem also exists on Pg. 182)

(T) Pg. 183 Once your click Run -
Once you click Run

(T) Pg. 184 requests HTTP library -
Requests HTTP library

(E) Pg. 184 Every node that runs -
Every running node

(U) Pg. 184 If the capability is enabled, it can also give you
The pronoun reference for it isn't clear. Is it referring to PuppetDB
or the capability, or Puppetboard?

(E) Pg. 185 you will have to run Puppetboard -
you will have to install Puppetboard

(E) Pg. 185 another httpd, like Nginx -
another web server, like Nginx

(E) Pg. 185 nodes who changed -
nodes that changed

(E) Pg. 186 filter the table for you -
filter the table

(E) Pg. 186 it will give you -
you'll have

(E) Pg. 187 showing for which nodes this fact is known  -
showing which nodes have this fact

(E) Pg. 188 and allows you -
and allowing you

(E) Pg. 188 as we try -
as it tries

(C) Pg. 189 that enable you to provide graphing to your team
I looked all through this chapter and I didn't see anything about
graphing. What did I miss?

--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/531FD2C5.3050903%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [Puppet Users] Meeting Puppet contractors

2014-03-11 Thread Jon Forrest

On 3/11/2014 9:24 AM, Brandon Clark wrote:

I'm not clear on what the etiquette is here but I was hoping to reach
out to the puppet community to see if there are any sysops people here
who are looking for work. My current admin recently got a new job and
moved on so I have need of a replacement person with puppet experience.
If these kinds of posts are not welcome I understand if it needs to be
moderated. Perhaps I can get a recommendation of where I can meet
potential contractors? Thanks


I personally have no problem with this but I think you should
say something about where the job is located, or whether telecommuting
is allowed.

Jon Forrest


--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/531FD336.4050302%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Problems in Ch. 6 of Pro Puppet 2nd Edition

2014-03-09 Thread Jon Forrest

Here are the issues I found in Chapter 6. There were an awful lot
of typos.

Jon Forrest

M = mistake
U = unclear
T = typo
E = text change
C = comment

(E) Pg. 155 multiple hosts that have a relationship -
multiple related hosts

(E) Pg. 155 resources and their information to -
resources to

(E) Pg. 155 operator -
system administrator

(E) Pg. 155 not declare the resource itself -
not declare the resources for these accounts itself

(T) Pg. 156 in once place -
in one place

(E) Pg. 156 one or more times -
as many times as necessary

(T) Pg. 156 until they're-realized -
until they're realized

(E) Pg. 157 how to handle the situation where you need to make a number 
of virtual resources real -

how can multiple virtual resources be made real

(T) Pg. 158 The syntax arrows are -, and ~ . -
The syntax arrows are - and ~ .

(T) Pg. 159 feature they aredesigned -
feature they are designed

(T) Pg. 159 through the puppetlabs puppetdb -
through the puppetlabs/puppetdb

(T) Pg. 159 puppetlabs -
Puppetlabs

(E) Pg. 159 If you don't have your Puppet master currently configured 
to be a node -

If your Puppet master isn't defined in site.pp

(T) Pg. 160 Puppetdb will collect -
PuppetDB will collect

(T) Pg. 160 offers an API -
offer an API

(T) Pg. 160 youcan now export -
you can now export

(T) Pg. 160 check the availability to new Puppet-managed systems -
check the availability of new Puppet-managed systems

(E) Pg. 160 When new systems are brought online in a large network -
When new systems are brought online

(E) Pg. 161 may be declared virtually -
may be declared as virtual
(This appears twice.)

(E) Pg. 161 all nodes in the network -
all nodes managed by Puppet

(E) Pg. 161 exported and collectible -
exported

(E) Pg. 161 each resource contain the suffixes _dsa or _rsa -
each resource ends with _dsa or _rsa

(E) Pg. 161 unique title for the entire network -
unique title

(E) Pg. 161 the node may be reached by -
configured on the node

(E) Pg. 161 comes from Facter and is automatically provided -
comes automatically from Facter

(T) Pg. 161 They type and key parameters -
The type and key parameters

(U) Pg. 161 You must also collect all exported sshkey resources
What does it mean to collect a resource?

(E) Pg. 162 the node classification for every host in the network -
the node classification for every host managed by Puppet
(There are many cases where the network is used on this page.
These aren't necessary because Puppet can manage hosts on one
or more networks.)

(C) Pg. 162 Is node classification the right term?

(E) Pg. 162 host keys are collected -
host keys appear

(T) Pg. 162 public key exported -
public keys exported

(E) Pg. 162 on the web server -
on the web host
(This is how you refer to this host everywhere else)

(E) Pg. 162 on the mail.example.com host -
on mail.example.com

(E) Pg. 162 So long as Puppet -
As long as Puppet

(E) Pg. 163 public identification keys -
SSH host keys

(E) Pg. 163 This combination eliminates -
This eliminates

(E) Pg. 163 configure the Example.com system -
configure Example.com

(E) Pg. 163  As Example.com operator -
 As the Example.com system administrator
(This occurs several places in this chapter.)

(E) Pg. 163 This configuration file fragment contains a single line, 
the URL to a member -
This produces a configuration file fragment containing a single line, 
the URL of a member


(C) Pg. 163 Puppet recommends
Puppet doesn't recommend anything. The Puppet style guide might, though.

(E) Pg. 163 To add additional capacity -
To add additional nodes

(U) Pg. 164 What's a contained file resource?

(E) Pg. 164 configuring Puppet to automatically monitor -
configuring Nagios to automatically monitor

(E) Pg. 164 for Nagios built into the software -
for Nagios built in

(E) Pg. 165 looks to the configuration files -
looks in the configuration files

(M) Pg. 165 exported by the nagios::target class
There's no such class shown in this chapter with this name. Do
you mean nagios::export::target? This also appears on Pg. 166 and Pg. 167.
Maybe the class in Figure 6-19 should be renamed to nagios::target.

(M) Pg. 165 Let's take a look at these two classes now (see Listing 6-17)
Listing 6-17 only contains one class.

(T) Pg. 166 $ipaddress -
$::ipaddress

(T) Pg. 166 $fqdn -
$::fqdn

(T) Pg. 168 on the puppet master -
on the Puppet master

--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/531D2FC0.4020703%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Re: Problems in Ch. 4 of Pro Puppet 2nd Edition

2014-03-09 Thread Jon Forrest


On Wednesday, March 5, 2014 10:29:07 AM UTC-8, Spencer Krum wrote:
Hi Jon,

 My name is Spencer Krum. I am one of the authors of Pro Puppet. I want to 
thank you for going through the book with such a fine toothed comb.
 I wish I had known you were so committed to making this book a success 
months ago. I would have gotten you an advance copy so you could
 have helped make the final version better.

What concerns me most is how Apress could have released a book with so many 
issues.
Somehow their production process broke down. 

 From what I understand from Apress, we don't have the ability to directly 
address these problems in newly sold versions of the book.
 These errors will be with us until a 3rd edition comes out, maybe 
sometime around Puppet 4.

I'm sorry to hear that. That seems like a long time to wait. What's worse 
is that people who don't read this email list
will have no idea that this book is full of issues. Even now, after I've 
been releasing these lists for ~2 weeks, the
errata page on the Apress web site (http://www.apress.com/9781430260400) 
still says there are no errata for this book.
That's not fair.

 Here is what we can do. I have created a github repository to collect the 
errata in a single place.
 https://github.com/pro-puppet/pro-puppet-errata
 I don't think we can get that link added to the front matter, but we can 
probably get it added to the description of
 the book on Amazon, and can link to it in the online/supplemental 
materials. This repository is one central place
 we can collect all the errors/corrections about Pro Puppet 2n'd edition, 
not just yours.
 I've already added your ch1-4 reviews to that project. Would you be 
willing to work on the rest of the chapters with us?

Since I haven't received any money from Apress, nor will I request anything 
other than my own copy of the book (which
they've now given me), I'm not inclined to formally work on this project 
(see below)

 If you feel comfortable with git/github I can give you contributor access 
or I can add the text if you want to send it to me.
 I think collecting all the errors in the github repository is a better 
solution than posting them all to separate messages
 to the Puppet users mailing list, a list of over a thousand people.
 What do you think?

What I'm planning on doing is continuing on as I have been. I'm going to 
post my lists, chapter
by chapter, to this list. You, and anybody else, are free to do whatever 
you want with them, such as putting
them up on GitHub. I clearly label these postings so anyone who isn't 
interested in them can easily
skip them.

Is this a reasonable approach?

Jon Forrest

P.S. Have you considered putting the sources for Pro Puppet 2nd ed. up on 
GitHub the way
Scott Chacon did for Pro Git?

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/97ed6952-3d4c-46c6-8fc3-582375004ba8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Problems in Ch. 5 of Pro Puppet 2nd Edition

2014-03-06 Thread Jon Forrest
Here are the issues I found in Chapter 5.

M = mistake
U = unclear
T = typo
E = text change
C = comment

(T) Pg. 141 classes, inheritance, variables and environment configuration -
classes, inheritance, variables, and environment configuration

(E) Pg. 141 This integration is used -
This is used

(T) Pg. 141 using hiera -
using Hiera

(T) Pg. 141 chapter 12.Most -
chapter 12. Most

(U) Pg. 141 Maybe you'll explain it later but it isn't at all clear at
this point
how I'll be able to use the syntax shown to define nodes without
needing to edit files.
Where do lines with that syntax appear?

(E) Pg. 141 of these for you -
for you

(T) Pg. 141 the LDAP node classifier -
an LDAP node classifier

(M) Pg. 142 Yet Ain't Markup Language -
YAML Ain't Markup Language
(How could you allow this mistake?)

(C) Pg. 142 I'm bothered by the fact that it's and It is appear on the same
line. Although this doesn't have any technical effect, this book is
very inconsistent
about when contractions are used.

(U) Pg. 142 expressed in a hash
How is what appears later on the page a hash?

(T) Pg. 142 you've added our -
you've added your

(E) Pg. 142 then expressed that the value of item foo is bar -
then set the value of item foo to be bar

(E) Pg. 142 suitable YAML -
valid YAML

(E) Pg. 142 to use an external node classifier -
to use an ENC
(You've been using ENC up to this point. Why change now?)

(E) Pg. 143 and the name and location -
the path

(E) Pg. 143 a classifier called puppet_node_classifier located in the
/usr/bin directory -
a classifier called /usr/bin/puppet_node_classifier

(E) Pg. 143 written in shell script -
written in the Bash scripting language

(U) Pg. 144 external data store
What does this mean?

(U) Pg. 144 The Parameterized Classes in YAML example is supposed to
show parameters passed to classes. However, the example doesn't make it
clear which parameter is being passed. For example, the example at the bottom
of the page doesn't look much different than the example near the top of the
page.

(T) Pg. 145 web, web1, web123 and so on -
web, web1, web123, and so on

(T) Pg. 146 This page uses hostname while the previous pages use
host name.

(T) Pg. 149 such as DNS, user and group data -
such as DNS, user, and group data

(T) Pg. 149 For Red hat -
For RedHat

(C) Pg. 149 So far the book as used Git for all source code management.
This page all of a sudden, without notice, uses Subversion.

(T) Pg. 149 change into the resulting directory and make and install
the code -
change into the resulting directory, make, and install the code

(C) Pg. 150 Some places on this page use first person plural, and other
places use second person plural.

(E) Pg. 150 Schemas -
Schema
(Schema is like Fish)

(E) Pg. 150 [master] section] -
[master] stanza
(This is how previous chapters refer to it)

(E) Pg. 151 to look to -
to use

(E) Pg. 152 manner as doing so -
manner as

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAF0Z9iqy2PFngEa9xBAVGM6rAGMn8U%2B4vzs_qneYkJTQvBAMVg%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Re: Problems in Ch. 4 of Pro Puppet 2nd Edition

2014-03-06 Thread Jon Forrest

On 3/5/2014 1:26 PM, Alessandro Franceschi wrote:

Hei Jon,
your text correction and errors hunting skills are impressive.


Thanks. I try.


I'm writing a book about Puppet too and am definitively in time to
correct it before printing.
There are already technical reviewers doing a great work, but I think
you can add great value to the contents and their correctness.

Let me know if you are available.


Will this book be open source? I'm not really interested in working
for money so I generally only work on open source books since this lets
me return a favor to the author as thanks for releasing a free book.

Pro Puppet 2nd edition isn't open source, I know. I'm not
really sure why I'm doing it. Apress has given me an eBook copy
but that was after I did the first 3 chapters. Maybe I'm doing
it because this will probably become the predominant Puppet book
(unless yours is better). It's too  bad this book has so many issues.
I wasn't expecting this when I  started. It's almost as if nobody proof
read it, although its editor tells me otherwise.

Jon Forrest



--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/53194829.4060804%40gmail.com.
For more options, visit https://groups.google.com/d/optout.


[Puppet Users] Problems in Ch. 4 of Pro Puppet 2nd Edition

2014-03-02 Thread Jon Forrest

Again, nothing that a good proof edit couldn't fix.

Jon Forrest


(U) Pg. 100 Listing 4-2 shows package resource definitions appearing as 
the result
of running 'puppet resource service'. Are we supposed to do anything 
with these definitions?


(U) Pg. 100 In Listing 4-2 why aren't standard 'yum install' or 
'service' commands used?


(U) Pg. 101 How is a reader supposes to know what an NPM provider or RVM is?

(T) Pg 101 Often installing Passenger -
Often, installing Passenger

(T) Pg 103 will consume some time is to run -
will consume some time to run

(T) Pg. 103 facter fqdn. -
facter fqdn

(T) Pg. 103 Pro-puppet-master-centos-II -
pro-puppet-master-centos-II

(E) Pg. 103 stored in the environment as a standard environment 
variable -

stored in a standard environment variable

(T) Pg. 105 ServerName attribute of -
ServerName attribute in

(C) Pg. 106 You should mention that the notice about installing Emacs
is just an example. New readers might think that they should see this 
exact line.


(U) Pg. 108 Figure 4-1 looks like there are 3 machines behind the load 
balancer,

but the Note makes it clear that there is really just 1 machine there.

(E) Pg. 111 the puppet user, as this parameter decides -
the puppet user since this determines

(E) Pg. 111 sure to modify -
sure to replace

(C) Pg. 111 Step 3 vs. four lines. You should decide on a convention
for including numbers in text. Either they should be all numeric (e.g. 
3, 4) or all text (e.g. three, four).


(E) Pg. 111 Pass the request along -
Pass the request

(M) Pg. 111, 112 There are 3 places that the front-end load balancer 
configuration
file is mentioned, saying that it appears in Listing 4-14. This actually 
appears in Listing 4-13.


(E) Pg. 111 are listed, port 18140 and 18141 -
are listed, running on ports 18140 and 18141

(T) Pg. 112 look to -
look at

(T) Pg. 112 mail.pro-puppet..com -
mail.pro-puppet.com

(T) Pg. 112 back- end -
back-end

(E) Pg. 112 HTTP systems -
HTTP servers

(T) Pg. 113 logged into -
logged in

(E) Pg. 115 is also available -
also appears

(T) Pg. 115 let's bring back both workers back online -
let's bring both workers back online

(E) Pg. 120 Use the puppet agent command to generate a certificate -
Use the puppet agent command to generate a certificate signing request
(The title for List 4-34 also needs to be modified). (This is correct on 
Pg 124).


(E) Pg. 121 used the ls utility -
used ls

(E) Pg. 122 with a single thread -
with a single core

(M) Pg. 123 which were defined in Listing 4-38 -
which were defined in Listing 4-37

(C) Pg. 126 First, remove the ssl/ca directory on the secondary CA server
This step isn't necessary if you use the -a option to rsync, which makes
the destination an exact copy of the source.

(E) Pg. 127 a one-minute cron job -
a cron job that runs every minute

(C) Pg. 127 The font used in the paragraph starting This uses the rsync 
utility is wrong.

It's using the console font from from the crontab -l example.

(E) Pg. 128 we get a test run as shown -
we make a test run as shown

(T) Pg. 130 You performed twosimple -
You performed two simple

(M) Pg. 130 We could also use DNS round robin to easily redirect
and consolidate all certificate requests to a single Puppet CA worked.
This is exactly the opposite of what DNS round robin does. It's odd
that this mistake exists here since the following paragraph explains DNS 
round robin correctly.


(E) Pg. 130 a portion of the Puppet agent systems -
some Puppet agents

(E) Pg. 131 As in our HTTP load balancing -
As in HTTP load balancing

(E) Pg. 131 the Puppet agent supports the configuration of a Puppet CA 
server -

the Puppet agent can be configured to use a Puppet CA server

(U) Pg. 131 The Puppet agent configuration should set the --ca_server 
configuration option

How? Does this go in puppet.conf where the other configuration options go?
If so, why is the option name shown with the '--' characters?

(E) Pg. 131 written down in puppet.conf -
specified in puppet.conf

(T) Pg. 131 I see both HA proxy and HA-proxy used. However,
according to http://haproxy.1wt.eu, its name is HAproxy.
This needs to be corrected in many places in the rest of this chapter.

(T) Pg. 131 impenetrable to the HA proxy -
impenetrable to HAproxy

(U) Pg. 131 populating client configs to set the caserver configuration 
option
In addition to the awkward wording, it isn't clear how to set the 
caserver option. Also,

is this the same --ca_server option I mentioned above?

(U) Pg. 134 What does it mean to segment a Puppet infrastructure?

(U) Pg. 134 What does running a load-balancing virtual IP mean?

(T) Pg. 134 to speak -
that speaks

(E) Pg. 134 The Linux machine uses a BGP or OSPF or other routing 
protocol link -

The machine running Quagga uses a routing protocol link

(U) Pg. 134 The paragraph explaining anycast is extremely unclear.

(E) Pg. 134 and local code -
and local Puppet manifests

(U) Pg. 135 What does it mean that the Git directories pollute

[Puppet Users] Problems in Ch. 1 and 2 of Pro Puppet 2nd Edition

2014-02-23 Thread Jon Forrest

I spent a lot of time reading the 1st edition of the Pro Puppet
book and I found many problems, most of which should have been
caught by the various editors at Apress. I posted a list of
what I found to this list and to Apress. My feeling was that Apress
was surprisingly nonchalant about the editorial quality of that book.
Since I'm the first to admit that I'm no Puppet expert I'm not
talking much about problems in its technical coverage since I'm not
really qualified to judge.

When the 2nd edition of Pro Puppet came out I had high hopes
that Apress would have learned something from the 1st edition.
I was wrong. Below are the issues I've found with Chapter 1 and 2.
Fortunately, the vast majority of these problems are very minor. But
they still show a surprising lack of attention to detail by Apress.
In one case, an error I found in the 1st edition appears again
in the 2nd edition. This error even appears in their errata for
the 1st edition.

In spite of what appears below, I think Pro Puppet is pretty good,
and is definitely worth reading. But Apress better be careful, because
they're in danger of becoming as bad as Packt in their editorial
quality.

Cordially,

Jon Forrest


M = mistake
U = unclear
T = typo
E = text change
C = comment

(C) Node definitions throughout the Safari online book have the closing 
single quote
on a line by itself. They should be on the same line as the opening 
single quote.
This is correct in the printed book. In fact, there are a number of 
similar formatting
issues that only appear in the Safari online book. I've noted some of 
them below.
Starting with Ch.2 I'm now reading a borrowed copy of the Apress book so 
I won't

be commenting on these issues further.

(E) Pg. 1 you use to create Puppet configuration -
you use to create Puppet configurations

(M) Pg. 1  licensed as Apache 2.0 - licensed under the Apache 2.0 
license

This appears correctly in the section about Facter and Facts.

(U) Pg. 2 The Puppet master runs as a daemon on a host and contains the 
configuration required for the specific environment.
This is poor wording. What does the configuration required for the 
specific environment mean?


(T) Pg. 4 .apt-get install vim - apt-get install vim

(T) Pg. 5 on Red Hat it would execute yum
execute should not be in italics.

(E) Pg. 6 Puppet configuration can be safely run -
Puppet can be safely run

(M) Pg. 7 The first caveat is that the master needs to be a later 
release than the agents. -
The first caveat is that the master needs to be the same or a later 
release than the agents.


(T) Pg. 9 On Red Hat, CentOS, Fedora, SUSE/SLES, Debian and Ubuntu, 
this package is called rubygems. -
On Red Hat, CentOS, Fedora, SUSE/SLES, Debian, and Ubuntu, this package 
is called rubygems.


(T) Pg. 10 RubyGems or Source -
RubyGems or source

(M) Pg. 19 and C:\ProgramData\PuppetLabs\puppet\etc\ -
and C:\ProgramData\PuppetLabs\puppet\etc\puppet.conf

(E) Pg. 19 Once we've configured appropriate DNS for Puppet -
Once we've configured appropriate DNS entries for Puppet

(E) Pg. 20 This directory and file is often already created when the 
Puppet packages are installed. If it hasn't already been created, create 
this directory and file now -
This directory and file are often already created when the Puppet 
packages are installed. If they haven't already been created, create 
this directory and file now


(E) Pg. 21 Starting the daemon will initiate -
Starting the daemon will initialize

(T) Pg. ? puppet agent --test --server= puppet.pro-puppet.com -
puppet agent --test --server=puppet.pro-puppet.com
(On Safari online only)

(M) Pg. 22 with three options. The first option, --server, -
with three options. The second option, --server,

(T) Pg. 23 in the main section -
in the [main] section

(T) Pg. 23 your client).The -
your client). The

(E) Pg. 23 The agent sends the certificate request -
The agent sends the certificate signing request

Pg. ? This configuration is called waitforcertand is -
This configuration is called waitforcert and is
(On Safari online only)

(U) Pg. 26 In Listing 1-7 there are two node definitions for 'node1'. 
The text doesn't

make it clear why an. A FQDN name is shown in one definition and just
a hostname is shown in the other.

(C) Pg. 26 Parameterized classes is too important a concept to be 
brushed over.

Just a short description only confuses readers.

(M) Pg. 28 check the value of the operatingsystem fact -
check the value of the osfamily fact

(U) Pg. 28 relationship between the Package[sudo-ldap] resource
The listing show the package {sudo-ldap ...} syntax. A new
user won't know why Package has an upper case first letter. This problem is
also present in many places in Ch. 2. It's first explained on Pg. 47.

(E) Pg. 28 allows Puppet to retrieve a file from the Puppet source -
allows Puppet to retrieve a file from the Puppet server

(E) Pg. 28 is the name of the Puppet source -
is the name of the Puppet server

(E) Pg. 30

[Puppet Users] Re: Facter errors with InfiniBand and VDSM

2014-02-20 Thread Jon Forrest


On Sunday, February 9, 2014 1:34:57 PM UTC-8, treydock wrote:

 After some debugging it seems it's the ;vdsmdummy; interface that's 
 causing both problems.  I have a host with Infiniband, and the same version 
 of Puppet and Facter, that has no errors running facter.  My guess is when 
 ifconfig is executed for ;vdsmdummy; it's not using '2 /dev/null', but I 
 can't identify where in the Facter code this is happening.

 I updated Facter to 1.7.5-rc2 and the error is still the same on the host 
 with the ;vdsmdummy; bridge device.


I'm having the same problem on a node without Infiniband, but with VDSM 
installed. This is with
version 1.7.5 of facter on CentOS 6.5 (with all patches).

This doesn't seem to prevent anything from working. It would be nice if it 
went away, though.

Jon Forrest

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/651a7d69-2254-41a6-9612-4d87c4399a69%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: [Puppet Users] Re: Puppet Actions in Parallel?

2014-02-18 Thread Jon Forrest
On Mon, Feb 17, 2014 at 6:20 AM, jcbollinger john.bollin...@stjude.org wrote:

 Well, I think the question that killed this thread the first time boils down
 to would it really?.  The speculation at the time was that parallel
 execution would produce disappointing wall-time gains, based on the
 assertion that the catalog application process is largely I/O bound.  There
 were also some assertions that Ruby doesn't do shared-memory parallelism
 very well.  Nobody reported any actual analysis of any of that, though.

Right. Without such analysis it's hard to know if this idea is worth following
up on today.

But, one thing to keep in mind is that systems are always changing. An I/O bound
system of today might not be I/O bound tomorrow as technological improvements
appear. Having a computer with available resources unable to apply to resources
to a Puppet run (or anything else) is wasteful. In time, the lack of
client parallelization
could be a competitive weakness as Puppet competes in the marketplace.
(I don't know
what the status of client parallelization is in the competition right now).

Jon Forrest

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CAF0Z9ipsPHh%2BZOC_VJM2x_74ToCD-u-imyk4Y9bXyi4wxMhYtg%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] Re: Puppet Actions in Parallel?

2014-02-15 Thread Jon Forrest


On Friday, February 14, 2014 8:52:59 PM UTC-8, Andrew Pennebaker wrote:

 This is a fantastic idea! Any progress on this?


I'm the original poster. It's been a while since I posted this.
iIt didn't generate nearly as much interest as
I was hoping. There was some concern that even though
various actions were at the same level in the dependency graph,
that they would have side effects that required serial execution.
One example of this is that there can only be one apt-get install at
a time. There are probably others.

So, it wouldn't be easy for Puppet to know which actions
it should do safely in parallel.

If any other the experts have anything to add I'd love
to hear it.

Jon Forrest
 

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/86d46ce2-a714-48c1-9954-b5c9b483b14a%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


[Puppet Users] Strange Behavior In Recursive File Transfer

2012-09-15 Thread Jon Forrest

I have the following resource definition:

class itbuilder
{
file
{
/home/itbuilder:
ensure  = directory,
recurse = true,
source  = puppet:///itbuilder/home/itbuilder,
require = User [itbuilder],
owner = itbuilder,
group = itbuilder,
ignore  = .svn;
}
}

In the modules/itbuilder/files/home/itbuilder directory I
have a whole bunch of files and directories. The directories
have protections like

drwxr-xr-x 4 jforrest jforrest4096 Sep 15 16:21 licensing
drwxr-xr-x 4 jforrest jforrest4096 Sep 15 16:21 login

However, when I run the class above, these directories are
created as

drwxr-sr-x 3 itbuilder itbuilder4096 Sep 15 17:48 licensing
drwxr-sr-x 3 itbuilder itbuilder4096 Sep 15 17:48 login

Note the setguid bit. I don't know where this is coming from.
The protection of the directory containing these files is

$ ls -ld .
drwxr-x--- 22 itbuilder itbuilder 4096 Sep 15 17:48 .

which is correct.

I can manually change the directory permission to 0755

$ chmod g-s l*
$ ls -ld l*
drwxr-xr-x 4 jforrest jforrest 4096 Sep 15 16:21 licensing
drwxr-xr-x 4 jforrest jforrest 4096 Sep 15 16:21 login

But when I run puppet again, the permissions are
set back to 02755. What is setting the setguid bit?
I don't understand this at all. I thought this might
be set by something in a higher scope but I couldn't find it.

Adding

File
{
mode  = 644,
}

to the class makes the problem go away but this really
isn't a solution.

Any ideas what might be causing this?

Cordially,
Jon Forrest




--
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] Question About filebucket vs. clientbucket on Puppet 0.22.1

2012-05-01 Thread Jon Forrest
I'm working in a Puppet environment (0.22.1) that I didn't setup. It's 
working pretty well but there's one thing that confuses me.


/etc/puppet/manifests/site.pp has the following lines:


filebucket { main: server = server1.example.com }
File { backup = main }
-

On server1.example.com I see /var/lib/puppet/bucket so these lines
appear to be working.

Here's my main question.  On the puppet clients I see
/var/lib/puppet/clientbucket. I don't understand why changes
are appearing in both /var/lib/puppet/bucket on the puppetmaster
and in /var/lib/puppet/clientbucket on the clients. The file names
in these directories are different so I can't see if the puppetmaster
bucket contains the files from all the clients. For example, on the
puppetmaster in /var/lib/puppet/bucket I see a directory called
061d9ee45f034115f696fb360d596bf8 that contains 2 files, contents
and paths. On a puppet client I see
/var/lib/puppet/clientbucket/1/d/2/3/8//9/4/1d2384945d99573319318c4b4109f15b
(I don't see a directory 1d2384945d99573319318c4b4109f15b on the 
puppetmaster).


The reason I'm asking all this is because I want to turn off saving
of changed files on both the puppetmaster and the clients. Can I just 
remove the 2 lines from site.pp I show above? I'm concerned that

clientbucket will remain on the clients.

Finally, in those lines from site.pp what does main mean? In
http://docs.puppetlabs.com/references/stable/type.html#file
there is a sample resource definition that also contains
backup = main but it doesn't answer this question.
I'm guessing that it just means the puppetmaster server but
it would be nice to see the official definition.

Cordially,
Jon Forrest



--
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 Actions in Parallel?

2012-03-04 Thread Jon Forrest

As many learning Puppet for the first time, the fact that the
order of actions is undefined unless specific metaparameters
like 'require' are used. Fine.

This got me to thinking. The GNU make program has the -j
option, which allows make to start more than one action
in parallel if the actions are at the same dependency level.
I've used this option on a 48-core machine to great benefit.

So, why can't there be a similar option in the puppet agent?
I can easily imagine how this could substantially reduce the
length of time for a puppet run.

(The make -j option allows an optional numeric value, which, if
given, is the maximum number of actions that can be run
in parallel. If no numeric is given, then there's no limit
to the number of parallel actions).

I did a quick review of the Puppet manual but I didn't see
anything like this. Am I missing something? Is this a good
idea?

Cordially,
Jon Forrest

--
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 Actions in Parallel?

2012-03-04 Thread Jon Forrest

On 3/4/2012 8:12 PM, Brian Troutwine wrote:

(First of all, sorry for the jumbled first paragraph. I was
trying to do two things at once).


An interesting thought. If you enable graph output in your puppet.conf

 http://docs.puppetlabs.com/references/stable/configuration.html#graph

you can identify those sub-graphs that could run in parallel pretty
easily, just by eyeballing it. Parallel execution is wonderful for an
optimizing compiler because you're strongly CPU limited. I'd be
willing to bet that a parallel puppet agent would be of less use: once
the catalog is compiled on the master, puppet's execution time is
going to be limited by network and disk IO. Probably. Running puppet
agent through DTrace/SystemTap would be instructive.


My intuition, albeit as a novice, makes me question this.
Just look at how well parallel make improves things.
There would probably be a point of diminishing returns,
or even negative returns, but that's true for make -j also.
Just puppet -j2 could result in enough of a benefit to
make this approach worthwhile.


Also, some resources are implicitly exclusive: two Packages with 'apt'
providers cannot be run in parallel because Debian/Ubuntu keeps a
global lock on... hmm, I've forgotten what, exactly. It's there,
though. Ensuring that implicitly parallel resources block one another
would increase the implementation complexity of Puppet, of end-user
modules or, as is likely, both.


I see what you mean. The same is true for yum, which is what
I'm most familiar with. Maybe puppet could do something so
that these kind of inherent sequential processes with yum/apt (and
anything else) could be reflected in the graph.


Aside from all other considerations, multi-core parallelism in MRI is
not so great. JRuby's better, being hosted on the JVM, but, well,
MRI's RAM consumption is already bad enough.


I'm talking about process-level parallelism so I don't think
the virtual machine implementation matters here.

Jon



--
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] Email Protection? (NON SUBJECT ORIENTED)

2011-09-15 Thread Jon Forrest

On 9/15/2011 7:08 AM, Matthew Hand wrote:

Are you guys doing anything to protect our email addresses? Ever since I
made my first post on here, I have been getting some VERY malicious
stuff coming to my account?


If you get malicious email as a result of posting to any email list
then I suggest you improve your junk email filter. I believe it's
not the job of the list maintainer to protect email addresses
unless the maintainer claims up from that postings will be
anonymous.

Cordially,
Jon Forrest

--
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 Expand an .erb Template Without Doing a Full Puppet Run?

2011-09-14 Thread Jon Forrest

On 9/14/2011 1:58 PM, Dominik Zyla wrote:


named-checkzone(8) should be suitable tool for your needs.


I already knew that. To repeat, what I'm trying to find out
is a way to get an expanded template without doing a full
run of puppet. I could then run named-checkzone on that
and then do a regular run.

In fact, this is only a special case of the more
general problem of getting access to any file generated
by a puppet run without actually putting the files
in the ultimate destination. In other words, it would
be like a --test run except files will be generated and
kept.

Jon Forrest



--
You received this message because you are subscribed to the Google Groups Puppet 
Users group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.



[Puppet Users] How To Expand an .erb Template Without Doing a Full Puppet Run?

2011-09-10 Thread Jon Forrest

We use puppet to distribute named zone files, like many
of you do. We use git to maintain these files, which are
then pulled by the puppet master machine. These zone files are
actually puppet template .erb files.

The other day, I made a mistake which resulted in some zone
files with syntax errors in them. Puppet faithfully distributed
the erroneous zone files to the name servers, which killed them.

To prevent this from happening again, I want to be able to
somehow expand the template files and run named-checkzone
as part of a git pre-commit hook. I want this expansion to
occur without making a normal puppet run so that the bad
files won't get distributed.

Can anybody point me to a technique for doing this?

Cordially,
Jon Forrest

--
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 Expand an .erb Template Without Doing a Full Puppet Run?

2011-09-10 Thread Jon Forrest

On 9/10/2011 6:57 PM, Jonathan Stanton wrote:


Maybe I'm missing something here, but I think Jon was asking
something a bit different -- he doesn't want to check the validity of
the erb template (i.e. ruby syntax check) but syntax check the named
zone file generated by the template.


Precisely. Maybe later I'll face the issue of ruby syntax
problems but right now I need to detect named syntax errors
before they cause problems.


So the tricky bit is how to get the variables out of the puppet
manifests that the erb template needs to generate the output file
that 'would' be generated by a new puppet run for this node --
without the actual puppet run (as he asks at the end of the email).


Precisely again.


My first thought is that the only accurate way to do this is by doing
a full puppet run, as any part of the node's manifest could effect
the variables used in the zone file template. You should be able to
get away with a --noop run so the changes won't actually be applied
(because noop does generate files from templates, but you would need
to have a way to capture the newly generated zone file on the client
host and run the named-checkzone there.


That's what I figured. I was hoping that there would be an easier way
that could somehow do a facter run but only run the minimal amount
of puppet.

Jon


--
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] Problems In New Pro Puppet Book

2011-07-10 Thread Jon Forrest

I should first say that I'm a complete beginner to Puppet
so some of what I saw below could be incorrect. Pro Puppet
is a pretty good book so far but it really should have had
another editing step to correct the problems I've mentioned
below.

Here are the problems I've found so far. Some of these are
embarrassingly trivial but some are true mistakes. I expect
to find more.

Jon Forrest
--
Pro Puppet Errata

M = mistake
U = unclear
T = typo
E = text edit


(E) 1) Page 1, first two sentences. configuration - configurations

(U) 2) Page 2, and the host itself is defined as a node. What host? I 
suggest removing this.


(M) 3) Page 2, Each agent can run Puppet as a daemon via a mechanism
such as cron, or can be manually triggered. Running something via cron 
doesn't run it as a daemon.


(E) 4) Page 4, ... Puppet uses a tool called Facter to
return information about the that agent ... = ... Puppet uses a
tool called Facter to return information about the host the agent is 
running on ... This problem also occurs on Page 5. In fact, in one 
place on Page 5 this is stated in the way I suggest, e.g. ... to apply 
each resource to your host.


(U) 5) Page 5, ... knowing the IP address of a host allows us to 
configure networking on that host. This isn't a great example because 
it's probably true that if a host has an IP address then networking has 
already been configured.


(M) 6) Page 7, ... the master needs to be a later release than
the agents. = ... the master needs to be the same or a later
release than the agents.

(E) 7) Page 7, ... Puppet manages a variety of configuration
items ... = ... Puppet manages a variety of resources ...

(E) 8) Page 8, Sometimes the first person singular is used,
and sometimes the first person plural is used.

(E) 9) Page 9, If there's another edition of this book,
I recommend removing sections about OpenSolaris.

(E) 10) Page 11, ... Puppet's configuration will be located ...
= ... the Puppet master and agent configuration will be located ...

(E) 11) Page 11, ... and is stored at ... = ... and is stored
in ...

(U) 12) Page 12, All components of Puppet will set 
I recommend removing this sentence since we don't yet know what
the components of Puppet are.

(M) 13)  Page 13, A DNS CNAME can't be added to a /etc/hosts file.
What you're showing is adding an alias. Also, both an alias and a
CNAME wouldn't be added. Only one or the other should be added.

(E) 14) Page 13, Once we've configured appropriate DNS ... =
Once you've configured your DNS ...

(E) 15) Page 13, ... which holds the basics of the configuration ...
= ... which holds the configuration ...

(E) 16) Page 13, We'll add some configuration to the file ...
= We'll add some resources to the file ...

(M) 17) Page 14, ... your client must be able to route and
connect ... = ... your client must be able to connect 
Clients generally don't route.

(E) 18) Page 15, ... for your master and ... = ... for your
master, and ... There are other occurrences of this throughout
the book.

(T) 19) Page 17, ... time in seconds or o to not wait ... =
 ... time in seconds or 0 to not wait ...

(U) 20) Page 18, (and elsewhere) You should be more consistent
in using agent and client.

(U) 21) Page 19, ... for each agent we connect ... =
... for each agent we connect to the Puppet master ...

(T) 22) Page 19, The import statement ... = The import
statements ...

(U) 23) Page 19, ... configuration statements starting with
a dollar sign are variables. This is misleading. The statements
aren't variables. The statements contain variables whose names
start with dollar signs.

(T) 24) Page 20, ... specifies a collection of configuration ...
= ... specifies a collection of configurations ...

(U) 25) Page 20, I suggest that you explain the difference between
the import  directive and the include directive.

(M) 25.1 Page 21, You show a directive called moduledir.
Shouldn't this be modulepath?

(U) 26) Page 22, You should say more about what a class is before
using one in an example.

(E) 27) Page 22, ... should install ... = ... will install ...

(E) 28) Page 23, ... would rely ... = ... rely ...

(C) 29) Page 24, You should mention that the the modulepath path,
as shown on page 21, is used as the initial directory in which
the modules directory is searched.

(C) 30) Page 30, It's unclear to say the Puppet software is called
the agent. In fact, in the Installing Puppet paragraph,
you correctly say to install the master and agent.

(C) 31) Page 30, Puppet calls the definition of the host itself
a 'node' = Puppet uses the term 'node' to refer to a host.

(M) 32) Page 34, There's a missing right curly bracket in
the ssh_server definition. Plus, the wording of the paragraph
below that definition is backwards. The ssh class comes before
the ssh_server class.

(C) 33) Page 36, The included function adds  This is the
first time you've used the term function anywhere. You should
define a term the first time it's used.

(T) 34) Page