Learning CFEngine 3

Errata for Learning CFEngine 3

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.


Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update



Version Location Description Submitted By Date Submitted
PDF Page 21
United States

The report class defined "cfengine" is not a valid class in the current version of cfengine. To get the report to function you need to adjust the class to read "cfengine_3". You can verify this by greping the defined classes.

Joshua Sonstroem  Oct 25, 2012 
Printed, PDF, ePub, Mobi, Safari Books Online, Other Digital Version Page 32
"Not shown in this example is the set_config_values() bundle, which is part of the CFEngine Standard Library"

Need clarification about CFEngine Standard Library. Only at page 66 you recommend to download the latest version of library. For beginners who uses old version of CFEngine (my is 3.2.4) it isn't clear why provided example does not work. So need to move note about CFEngine Standard Library at least to page 32 from page 66. Or even specify at the very beginning of the book which version of CFEngine Core and COPBL was used in examples. I know that COPBL hasn't versions (hey, it really should! ;) because it's almost impossible to find which snapshot of COPBL repository included in specific CFEngine Core release) so you can specify which exactly package/tarball you used for examples. Thanks.

alex  Oct 25, 2012 
PDF Page 34
the last paragraph (above the example)

"For integers, CFEngine sup- ports .... the prefixes K, M and G to represent powers of 2 (that is, 1024, etc.)" In fact, from the example "i3" uses suffix, rather than prefixes as described here.

Yen-Wei Liu  Mar 17, 2013 
ePub Page 40
example with ifvarclass and @(words) list

Is'n clear why exactly class "darwin" is defined. Is this machine where example was run has hostname "darwin"? So this is hard class and it will be defined. "Here is output on a Mac" -- why class "apple" isn't defined then? (I don't have mac to check, but I suppose that instead of hard class "linux" on Linux machines,hard class "apple" will be defined on Mac's). As for beginner it was really hard to understand behavior of this example. Could you please clarify something in example's description? Thanks.

alex  Oct 25, 2012 
Printed, PDF, ePub, Mobi, Safari Books Online, Other Digital Version Page 42
description of additional agent promises in commercial editions of CFEngine

* services: to configure Windows system services While "services" used in the text above (for community edition of CFEngine) it will be better to say something like: * services: additionaly has class "windows" to configure Windows system services

alex  Oct 25, 2012 
PDF Page 42
Example after first paragraph

class_expression: should be class_expression:: There are two colons after a class expression in cfengine.

Paul Dejean  Nov 02, 2012 
Printed Page 162
top

My first edition dead tree version has no index! IMO that's a serious problem, as one reason I love ORA books is awesome indexes. (I talked to Diego about this a while ago, and I know why it's missing. I'm creating this because I think it *is* a serious problem and I wanted to get it on the record.)

JP Vossen
JP Vossen
O'Reilly Author 
Jan 02, 2013