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


Le lundi 24 février 2014 07:01:49 UTC+1, Jon Forrest a écrit :
>
> 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 "By default, will Puppet use this cache” -> 
> "By default, Puppet will use this cache” 
>
> (U) Pg. 34 "Be sure you've installed the base operating system on these 
> hosts as described 
> in Chapter 1". 
> Chapter 1 doesn't describe how to install operating systems. It 
> describes how to 
> install Puppet. 
>
> (C) Pg. 34 Including the necessary Kickstart configuration to bootstrap 
> Puppet is an 
> excellent idea. However, the text should have noted that the example 
> only works on 
> Debian-derived operating systems. Better yet, the text should also 
> include a sample 
> configuration that works on RedHat-derived operating systems. 
>
> (T) Pg. 35 Listing 2-2 “wll” -> “will” 
>
> (C) Pg. 35 "/etc/puppet/manifests/" 
> Is the convention going to be to include the final slash in directory 
> pathnames? 
> If so, Pg. 26, and probably others, has examples that need to be fixed. 
> If not, 
> then Pg. 35, and probably others, needs to be fixed. 
>
> (C) Pg. 37 The concept of "dynamic scoping" is mentioned several times 
> in this 
> chapter. This is not a widely understood concept. The text should 
> include an example 
> illustrating dynamic scoping. 
>
> (U) Pg. 38 "Each class, definition, or node introduces a new scope". 
> The concept of a "definition" hasn't been explained yet. Mentioning it 
> here 
> only causes confusion. It isn't defined until Pg. 64. 
>
> (U) Pg. 38 "imported manifests". The concept of "importing" hasn't been 
> defined yet. 
> New readers will be confused about the difference between "including" 
> and "importing". 
>
> (U) Pg. 38 "thus preventing the variable from being overwritten anywhere" 
> I don't think this describes the issue. As I understand it, explicitly 
> using top-scope 
> variables prevents variables with similar names from other than 
> top-scope from 
> accidentally being referenced. 
>
> (E) Pg. 38 "no way to explicitly retrieve it" -> 
> "no way to explicitly reference variables defined in node scope" 
>
> (T) Pg. 38 "is a way of writing the $sshd_package variable" 
> "the" should not be in a different font. 
>
> (U) Pg. 38 "will still be defined in local scope" 
> Local scope hasn't been defined yet. In fact, it's defined in the next 
> sentence. 
>
> (U) Pg. 39 All of a sudden, variable names are shown that don't begin 
> with a '$'.  Why? This should either be changed or explained. (I know it 
> has to do with parameterized classes but they haven't been explained yet). 
>
> (U) Pg. 39 "classes that take parameters when they are called" 
> Classes are included, not called. 
>
> (U) Pg. 40 An example of a parameterized class is shown at the top of 
> the page. 
> As I've said above, this concept needs much more explanation, both 
> syntactically 
> and semantically. 
>
> (E) Pg. 41 "our sudo module contains the lines shown" -> 
> "our sudo module contains the files and directories shown" 
>
> (E) Pg. 42 "in the form of a revision" -> 
> "in the form of a revision or commit" 
>
> (E) Pg. 43 "execute the git binary" -> 
> "run git" 
>
> (U) Pg. 43 "We can now add files to this repository" 
> The 'git add' command doesn't add files to a repository. 'git commit' 
> does. 
>
> (T) Pg. 43 "we can see what Git is about by using the git status command" 
> -> 
> "we can see what Git is about to do by using the git status command" 
>
> (C) Pg. 43 This is not a very clear description of Git. 
>
> (E) Pg. 43 "numeric numbers" -> 
> "numbers" 
>
> (M) Pg. 44 The ssh class definition refers to the ::ssh::package class 
> but no such 
> class exists. This reference should be to the ::ssh::install class 
>
> (M) Pg. 45 "and used the include function to add all the classes" 
> There are no includes shown in Listing 2-13. 
>
> (M) Pg. 45 "We’ve created three classes: ssh, ssh::install, ssh::config, 
> and ssh::service.” -> 
> "We’ve created four classes: ssh, ssh::install, ssh::config, and 
> ssh::service." 
>
> (M) Pg. 46 "manifests as a variable called $osfamily" -> 
> "manifests as a variable called $::osfamily" 
>
> (M) Pg. 46 "Let's rewrite our ssh::package class" -> 
> "Let's rewrite our ssh::install class" . Also, "our" should 
> not appear in console font. 
>
> (M) Pg. 47 "In the preamble of the ssh::params class" -> 
> "In the preamble of the ssh::install class" 
>
> (M) Pg. 56 "placed inside brackets the name" -> 
> "placed inside parentheses the name" 
>
> (T) Pg. 57 "lensure => running," -> 
> "ensure => running," 
>
> (E) Pg. 58 "And add the files" -> 
> "And add the files and directory" 
>
> (C) Pg. 59 I've never heard of a "brick" module. 
>
> (T) Pg. 61 " group => 'root'," -> 
> "group => 'root'," 
> (the leading space is removed). 
>
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/ea2bf564-d0dc-4ce7-901e-8e565b1de38b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to