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.