1. Learning Ansible 2 2nd Edition Fabio Alessandro
Locati download
https://textbookfull.com/product/learning-ansible-2-2nd-edition-
fabio-alessandro-locati/
Download full version ebook from https://textbookfull.com
2. We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!
Ansible Configuration Management 2nd Edition Daniel
Hall
https://textbookfull.com/product/ansible-configuration-
management-2nd-edition-daniel-hall/
Ansible Up and Running 2nd Edition Lorin Hochstein
https://textbookfull.com/product/ansible-up-and-running-2nd-
edition-lorin-hochstein/
Security Automation with Ansible 2 Leverage Ansible 2
to automate complex security tasks like application
security network security and malware analysis 1st
Edition Madhu Akula
https://textbookfull.com/product/security-automation-with-
ansible-2-leverage-ansible-2-to-automate-complex-security-tasks-
like-application-security-network-security-and-malware-
analysis-1st-edition-madhu-akula/
Introduction to Computer Graphics A Practical Learning
Approach 1st Edition Fabio Ganovelli
https://textbookfull.com/product/introduction-to-computer-
graphics-a-practical-learning-approach-1st-edition-fabio-
ganovelli/
3. Python Data Analytics with Pandas, NumPy and
Matplotlib, 2nd Edition Fabio Nelli
https://textbookfull.com/product/python-data-analytics-with-
pandas-numpy-and-matplotlib-2nd-edition-fabio-nelli/
Ansible configuration management leverage the power of
Ansible to manage your infrastructure efficiently
Second Edition Hall
https://textbookfull.com/product/ansible-configuration-
management-leverage-the-power-of-ansible-to-manage-your-
infrastructure-efficiently-second-edition-hall/
Theory, Research and Pedagogy in Learning and Teaching
Japanese Grammar 1st Edition Alessandro G. Benati
https://textbookfull.com/product/theory-research-and-pedagogy-in-
learning-and-teaching-japanese-grammar-1st-edition-alessandro-g-
benati/
Further Advances in Pragmatics and Philosophy Part 2
Theories and Applications Alessandro Capone
https://textbookfull.com/product/further-advances-in-pragmatics-
and-philosophy-part-2-theories-and-applications-alessandro-
capone/
Mastering Apache Spark 2 x Scale your machine learning
and deep learning systems with SparkML DeepLearning4j
and H2O 2nd Edition Romeo Kienzler
https://textbookfull.com/product/mastering-apache-
spark-2-x-scale-your-machine-learning-and-deep-learning-systems-
with-sparkml-deeplearning4j-and-h2o-2nd-edition-romeo-kienzler/
6. Table of Contents
Learning Ansible 2 Second Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Why subscribe?
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Getting Started with Ansible
IT automation
The history of IT automation
Advantages of IT automation
Disadvantages of IT automation
Limiting the possible damages of an error propagation
Types of IT automation
Agent-based systems
Agent-less systems
Agent-based versus Agent-less systems
What is Ansible?
Secure Shell (SSH)
Why Ansible?
Installing Ansible
Installing Ansible using the system's package manager
Installing via Yum
Installing via Apt
Installing via Homebrew
Installing via pip
Installing Ansible from source
Creating a test environment with QEMU and KVM
Version control system
Using Ansible with Git
Summary
2. Automating Simple Tasks
YAML
7. Hello Ansible
Working with playbooks
Studying the anatomy of a playbook
Running a playbook
Ansible verbosity
Variables in playbooks
Creating the Ansible user
Configuring a basic server
Enabling EPEL
Installing Python bindings for SELinux
Upgrading all installed packages
Ensuring that NTP is installed, configured, and running
Ensuring that FirewallD is present and enabled
Adding a customized MOTD
Changing the hostname
Reviewing and running the playbook
Installing and configuring a web server
Publishing a website
Jinja2 templates
Variables
Filters
Conditionals
Cycles
Summary
3. Scaling to Multiple Hosts
Working with inventory files
The basic inventory file
Groups in an inventory file
Regular expressions in the inventory file
Working with variables
Host variables
Group variables
Variable files
Overriding configuration parameters with an inventory file
Working with dynamic inventory
Amazon Web Services
DigitalOcean
Working with iterates in Ansible
Standard iteration - with_items
Nested loops - with_nested
Fileglobs loop - with_fileglobs
Integer loop - with_sequence
Summary
4. Handling Complex Deployment
Working with the local_action feature
Delegating a task
Working with conditionals
8. Boolean conditionals
Checking if a variable is set
Working with include
Working with handlers
Working with roles
Project organization
Anatomy of a role
Transforming your playbooks in a full Ansible project
Transforming a playbook into a role
Helper files
Transforming the webserver role
Handlers in roles
Execution strategies
Tasks blocks
The Ansible template - Jinja filters
Formatting data using filters
Using filters with conditionals
Defaulting undefined variables
Security management
Using Ansible vault
Vaults and playbooks
Encrypting user passwords
Hiding passwords
Using no_log
Summary
5. Going Cloud
Provisioning resources in the cloud
Amazon Web Service
AWS global infrastructure
AWS Simple Storage Service
AWS Elastic Compute Cloud (EC2)
AWS Virtual Private Cloud (VPC)
AWS Route 53
AWS Elastic Block Storage (EBS)
AWS Identity and Access Management
Amazon relational database service
Setting up an account with AWS
Simple AWS deployment
Complex AWS deployment
DigitalOcean
Droplets
SSH key management
Private networking
Adding an SSH key in DigitalOcean
Deployment in DigitalOcean
Summary
6. Getting Notifications from Ansible
9. E-mails
XMPP
Slack
Rocket Chat
Internet Relay Chat (IRC)
Amazon Simple Notification Service
Nagios
Summary
7. Creating a Custom Module
Using Python modules
Working with exit_json and fail_json
Testing Python modules
Using bash modules
Using Ruby modules
Testing modules
Summary
8. Debugging and Error Handling
The check mode
Indicating differences between files using --diff
Functional testing in Ansible
Functional testing using assert
Testing with tags
The --skip-tags
Managing exceptions
Trigger failure
Summary
9. Complex Environments
Code based on the Git branch
A single stable branch with multiple folders
Software distribution strategy
Copying files from the local machine
Revision control system with branches
Revision control system with tags
RPM packages
Preparing the environment
Deploying a web app with revision control systems
Deploying a web app with RPM packages
Creating a Spec file
Building RPMs manually
Building RPMs with Ansible
Building RPMs with CI/CD pipelines
Building compiled software with RPM packaging
Deployment strategies
Canary deployment
Blue/Green deployment
Optimizations
Pipelining
10. Optimizing with_items
Understanding what happens when your tasks are executed
Summary
10. Introducing Ansible for Enterprises
Ansible on Windows
Ansible for networking devices
Ansible Galaxy
Ansible Tower
Summary
13. Credits
Authors
Fabio Alessandro Locati
Copy Editor
Madhusudan Uchil
Reviewers
Tim Rupp
Project Coordinator
Judie Jose
Commissioning Editor
Pratik Shah
Proofreader
Safis Editing
Acquisition Editor
Divya Poojari
Indexer
Pratik Shirodkar
Content Development Editor
Amedh Gemraram Pohad
Graphics
Kirk D'Penha
Technical Editor
Vishal Kamal Mewada
Production Coordinator
Shantanu N. Zagade
14. About the Author
Fabio Alessandro Locati is a senior consultant at Red Hat, public speaker, author, and open source
contributor. His main areas of expertise are Linux, security, cloud technologies, and automation. With
more than 10 years of working experience in the field, he has experience in different IT roles,
technologies, and languages.
He has worked for many different companies, starting from a one-man company to huge companies such
as Tech Data and Samsung. This has allowed him to consider various technologies from different points
of view, helping him develop critical thinking and swiftly understand whether a particular technology is
the right fit for a specific project.
Since he is always looking for better technologies, he also tries new technologies to understand their
advantages over the old ones as well as their maturity status. One of the most important things he
evaluates about a technology is its internal security and the possibility of adding security through
configuration or interaction with other technologies.
In his work and to manage his own machines, he has used Ansible since 2013.
He often gives talks about his work, the projects he helps with in his spare time, and his vision of the IT
and security worlds. He is the author of the book OpenStack Cloud Security, Packt Publishing.
In his spare time, he helps out on the Fedora Project as well as Wikimedia and Open Street Map.
You can find more about him on LinkedIn at https://www.linkedin.com/in/fabiolocati/en and at
https://fale.io/.
I would like to thank my parents, who introduced me to computer science before I was even
able to write, and my whole family, who has always been supportive. A special thanks goes to
everyone I worked with at Packt Publishing for their hard work and to Tim Rupp for his great
feedbacks. Since Ansible is an open source project, I thank all companies that decided to invest
into it as well as all people that decided to volunteer their time to the project.
15. About the Reviewer
Tim Rupp has been working in various fields of computing for the last 10 years. He has held positions
in computer security, software engineering, and, most recently, in the fields of cloud computing and
DevOps.
He was first introduced to Ansible while at Rackspace. As part of the cloud engineering team, he made
extensive use of the tool to deploy new capacity for the Rackspace public cloud. Since then, he has
contributed patches, provided support for, and presented on Ansible topics at local meetups.
Tim is currently a senior software engineer at F5 Networks, where he works on data plane
programmability. He is particularly interested in automation and orchestration surrounding F5 products
and is the maintainer of the BIG-IP modules in Ansible.
16. www.PacktPub.com
For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files
available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer,
you are entitled to a discount on the eBook copy. Get in touch with us at service@packtpub.com for
more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of
free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
https://www.packtpub.com/mapt
Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and
video courses, as well as industry-leading tools to help you plan your personal development and advance
your career.
Why subscribe?
• Fully searchable across every book published by Packt
• Copy and paste, print, and bookmark content
• On demand and accessible via a web browser
17. Preface
The information technology sector is a fast-moving sector that always tries to accelerate. To keep up
with this, companies need to be able to move quickly and iterate frequently. Until a few years back, this
was mainly true for software, but now we start to see the necessity to change infrastructures at similar
speed. Going forward, we will need to change the infrastructure we run our software on at the speed of
the software itself.
In this scenario, many technologies, such as software-defined everything (storage, network, compute,
what have you), will be key, but those technologies need to be managed in an equally scalable way, and
that way will be using Ansible and similar products.
Ansible is highly relevant today since, differently from competing products, it is agentless, allowing
faster deployments, more security, and better auditability.
What this book covers
Chapter 1, Getting Started with Ansible, explains how to install Ansible.
Chapter 2, Automating Simple Tasks, explains how to create simple playbooks that will allow you to
automate some simple tasks that you already perform on a daily basis.
Chapter 3, Scaling to Multiple Hosts, explains how to handle multiple hosts in Ansible in an easy-to-
scale way.
Chapter 4, Handling Complex Deployment, explains how to create deployments that have multiple
phases as well as multiple machines.
Chapter 5, Going Cloud, explains how Ansible can integrate with various cloud offering and how it can
simplify your life, managing the cloud for you.
Chapter 6, Getting Notifications from Ansible, explains how to set up Ansible to return valuable
information to you and other stakeholders.
Chapter 7, Creating a Custom Module, explains how to create a custom module to leverage the freedom
Ansible gives you.
Chapter 8, Debugging and Error Handling, explains how to debug and test Ansible to ensure that your
playbooks will always work.
Chapter 9, Complex Environments, explains how to manage multiple tiers, multiple environments, and
deployments with Ansible.
Chapter 10, Introducing Ansible for Enterprises, explains how to manage Windows nodes from Ansible
as well as how to leverage Ansible Galaxy and Ansible Tower to maximize your productivity.
18. What you need for this book
This book is written to work with all Linux distributions. Since it’s not practical to always give the same
information for all possible distributions, the example commands are for Fedora on the controller
machine and CentOS on the controlled machines, if not stated. Experienced users with other
distributions will have no problem in translating the commands for their own preferred distribution.
19. Who this book is for
The book is for developers and sysadmins who want to automate their organization’s infrastructure using
Ansible 2. No prior knowledge of Ansible is required.
20. Conventions
In this book, you will find a number of text styles that distinguish between different kinds of
information. Here are some examples of these styles and an explanation of their meaning.
Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy
URLs, user input, and Twitter handles are shown as follows: "The ec2.py file will create multiple
groups based on the region, availability zone, tags, and so on."
A block of code is set as follows:
---
- hosts: all
remote_user: ansible
vars:
users:
- alice
- bob
folders:
- mail
- public_html
When we wish to draw your attention to a particular part of a code block, the relevant lines or items are
set in bold:
---
- hosts: all
remote_user: ansible
vars:
users:
- alice
- bob
folders:
- mail
- public_html
Any command-line input or output is written as follows:
$ ansible-playbook -i test01.fale.io, webserver.yaml
New terms and important words are shown in bold. Words that you see on the screen, for example, in
menus or dialog boxes, appear in the text like this: "Clicking the Next button moves you to the next
screen."
Note
Warnings or important notes appear in a box like this.
22. Reader feedback
Feedback from our readers is always welcome. Let us know what you think about this book—what you
liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get
the most out of.
To send us general feedback, simply e-mail feedback@packtpub.com, and mention the book's title in the
subject of your message.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a
book, see our author guide at www.packtpub.com/authors.
23. Customer support
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the
most from your purchase.
Downloading the example code
You can download the example code files for this book from your account at http://www.packtpub.com.
If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to
have the files e-mailed directly to you.
You can download the code files by following these steps:
1. Log in or register to our website using your e-mail address and password.
2. Hover the mouse pointer on the SUPPORT tab at the top.
3. Click on Code Downloads & Errata.
4. Enter the name of the book in the Search box.
5. Select the book for which you're looking to download the code files.
6. Choose from the drop-down menu where you purchased this book from.
7. Click on Code Download.
You can also download the code files by clicking on the Code Files button on the book's webpage at the
Packt Publishing website. This page can be accessed by entering the book's name in the Search box.
Please note that you need to be logged in to your Packt account.
Once the file is downloaded, please make sure that you unzip or extract the folder using the latest
version of:
• WinRAR / 7-Zip for Windows
• Zipeg / iZip / UnRarX for Mac
• 7-Zip / PeaZip for Linux
The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Learning-
Ansible-2-Second-Edition. We also have other code bundles from our rich catalog of books and videos
available at https://github.com/PacktPublishing/. Check them out!
Errata
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you
find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if
you could report this to us. By doing so, you can save other readers from frustration and help us improve
subsequent versions of this book. If you find any errata, please report them by visiting
http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form
link, and entering the details of your errata. Once your errata are verified, your submission will be
accepted and the errata will be uploaded to our website or added to any list of existing errata under the
Errata section of that title.
24. To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and
enter the name of the book in the search field. The required information will appear under the Errata
section.
Piracy
Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take
the protection of our copyright and licenses very seriously. If you come across any illegal copies of our
works in any form on the Internet, please provide us with the location address or website name
immediately so that we can pursue a remedy.
Please contact us at copyright@packtpub.com with a link to the suspected pirated material.
We appreciate your help in protecting our authors and our ability to bring you valuable content.
Questions
If you have a problem with any aspect of this book, you can contact us at questions@packtpub.com, and
we will do our best to address the problem.
25. Chapter 1. Getting Started with Ansible
ICT is often described as a fast-growing industry. I think the best quality of the ICT industry is not
related to its ability to grow at a super high speed, but to its ability to revolutionize itself and the rest of
the world at an astonishing speed.
Every 10 to 15 years there are major shifts in how this industry works and every shift solves problems
that were very hard to manage up to that point, creating new challenges. Also, at every major shift, many
best practices of the previous iteration are classified as anti-patterns and new best practices are created.
Although it might appear that those changes are impossible to predict, this is not always true. Obviously,
it is not possible to know exactly what changes will occur and when they will take place, but looking at
companies with a large number of servers and many lines of code usually reveals what the next steps
will be.
The current shift has already happened in big companies like Amazon Web Services, Facebook, and
Google. It is the implementation of IT automation systems to create and manage servers.
In this chapter we will cover:
• IT automation
• What is Ansible?
• The secure shell
• Installing Ansible
• Creating a test environment with QEMU and KVM
• Version control system
• Using Ansible with Git
IT automation
IT automation is in its larger sense—the processes and software that help with the management of the IT
infrastructure (servers, networking, and storage). In the current shift, we are assisting to a huge
implementation of such processes and software.
The history of IT automation
At the beginning of IT history, there were very few servers and a lot of people were needed to make
them work properly, usually more than one person for each machine. Over the years, servers became
more reliable and easier to manage so it was possible to have multiple servers managed by a single
system administrator. In that period, the administrators manually installed the software, upgraded the
software manually, and changed the configuration files manually. This was obviously a very labor-
intensive and error-prone process, so many administrators started to implement scripts and other means
to make their life easier. Those scripts were (usually) pretty complex and they did not scale very well.
In the early years of this century, data centers started to grow a lot due to companies' needs.
Virtualization helped in keeping prices low and the fact that many of these services were web services,
meant that many servers were very similar to each other. At this point, new tools were needed to
substitute the scripts that were used before, the configuration management tools.
26. CFEngine was one of the first tools to demonstrate configuration management capabilities way back in
the 1990s; more recently, there has been Puppet, Chef, and Salt, besides Ansible.
Advantages of IT automation
People often wonder if IT automation really brings enough advantages considering that implementing it
has some direct and indirect costs. The main advantages of IT automation are:
• Ability to provision machines quickly
• Ability to recreate a machine from scratch in minutes
• Ability to track any change performed on the infrastructure
For these reasons, it's possible to reduce the cost of managing the IT infrastructure by reducing the
repetitive operations often performed by system administrators.
Disadvantages of IT automation
As with any other technology, IT automation does come with some disadvantages. From my point of
view these are the biggest disadvantages:
• Automating all of the small tasks that were once used to train new system administrators
• If an error is performed, it will be propagated everywhere
The consequence of the first is that new ways to train junior system administrators will need to be
implemented.
Limiting the possible damages of an error propagation
The second one is trickier. There are a lot of ways to limit this kind of damage, but none of those will
prevent it completely. The following mitigation options are available:
• Always have backups: Backups will not prevent you from nuking your machine; they will only
make the restore process possible.
• Always test your infrastructure code (playbooks/roles) in a non-production environment:
Companies have developed different pipelines to deploy code and those usually include
environments such as dev, test, staging, and production. Use the same pipeline to test your
infrastructure code. If a buggy application reaches the production environment it could be a
problem. If a buggy playbook reaches the production environment, it could be catastrophic.
• Always peer-review your infrastructure code: Some companies have already introduced peer-
reviews for the application code, but very few have introduced it for the infrastructure code. As
I was saying in the previous point, I think infrastructure code is way more critical than
application code, so you should always peer-review your infrastructure code, whether you do it
for your application code or not.
• Enable SELinux: SELinux is a security kernel module that is available on all Linux
distributions (it is installed by default on Fedora, Red Hat Enterprise Linux, CentOS, Scientific
Linux, and Unbreakable Linux). It allows you to limit users and process powers in a very
granular way. I suggest using SELinux instead of other similar modules (such as AppArmor)
because it is able to handle more situations and permissions. SELinux will prevent a huge
27. amount of damage because, if correctly configured, it will prevent many dangerous commands
from being executed.
• Run the playbooks from a limited account: Even though user and privilege escalation
schemes have been in UNIX code for more than 40 years, it seems as if not many companies
use them. Using a limited user for all your playbooks, and escalating privileges only for
commands that need higher privileges will help prevent you nuking a machine while trying to
clean an application temporary folder.
• Use horizontal privilege escalation: The sudo is a well-known command but is often used in
its more dangerous form. The sudo command supports the '-u' parameter that will allow you
to specify a user that you want to impersonate. If you have to change a file that is owned by
another user, please do not escalate to root to do so, just escalate to that user. In Ansible, you
can use the become_user parameter to achieve this.
• When possible, don't run a playbook on all your machines at the same time: Staged
deployments can help you detect a problem before it's too late. There are many problems that
are not detectable in a dev, test, staging, and qa environment. The majority of them are related to
load that is hard to emulate properly in those non-production environments. A new
configuration you have just added to your Apache HTTPd or MySQL servers could be perfectly
OK from a syntax point of view, but disastrous for your specific application under your
production load. A staged deployment will allow you to test your new configuration on your
actual load without risking downtime if something was wrong.
• Avoid guessing commands and modifiers: A lot of system administrators will try to remember
the right parameter and try to guess if they don't remember it exactly. I've done it too, a lot of
times, but this is very risky. Checking the man page or the online documentation will usually
take you less than two minutes and often, by reading the manual, you'll find interesting notes
you did not know. Guessing modifiers is dangerous because you could be fooled by a non-
standard modifier (that is, -v is not the verbose mode for grep and -h is not the help
command for the MySQL CLI).
• Avoid error-prone commands: Not all commands have been created equally. Some commands
are (way) more dangerous than others. If you can assume a cat command safe, you have to
assume that a dd command is dangerous, since dd perform copies and conversion of files and
volumes. I've seen people using dd in scripts to transform DOS files to UNIX (instead of
dos2unix) and many other, very dangerous, examples. Please, avoid such commands, because
they could result in a huge disaster if something goes wrong.
• Avoid unnecessary modifiers: If you need to delete a simple file, use rm ${file} not rm -
rf ${file}. The latter is often performed by users that have learned that; "to be sure, always
use rm -rf", because at some time in their past, they have had to delete a folder. This will
prevent you from deleting an entire folder if the ${file} variable is set wrongly.
• Always check what could happen if a variable is not set: If you want to delete the contents of
a folder and you use the rm -rf ${folder}/* command, you are looking for trouble. If
the ${folder} variable is not set for some reason, the shell will read a rm -rf /*
command, which is deadly (considering the fact that the rm -rf / command will not work on
the majority of current OSes because it requires a --no-preserve-root option, while rm
-rf /* will work as expected). I'm using this specific command as an example because I have
seen such situations: the variable was pulled from a database which, due to some maintenance
work, was down and an empty string was assigned to that variable. What happened next is
probably easy to guess. In case you cannot prevent using variables in dangerous places, at least
28. check them to see if they are not empty before using them. This will not save you from every
problem but may catch some of the most common ones.
• Double check your redirections: Redirections (along with pipes) are the most powerful
elements of Linux shells. They could also be very dangerous: a cat /dev/rand > /dev/
sda command can destroy a disk even if a cat command is usually overlooked because it's not
usually dangerous. Always double-check all commands that include a redirection.
• Use specific modules wherever possible: In this list I've used shell commands because many
people will try to use Ansible as if it's just a way to distribute them: it's not. Ansible provides a
lot of modules and we'll see them in this book. They will help you create more readable,
portable, and safe playbooks.
Types of IT automation
There are a lot of ways to classify IT automation systems, but by far the most important is related to how
the configurations are propagated. Based on this, we can distinguish between agent-based systems and
agent-less systems.
Agent-based systems
Agent-based systems have two different components: a server and a client called agent.
There is only one server and it contains all of the configuration for your whole environment, while the
agents are as many as the machines in the environment.
Note
In some cases, more than one server could be present to ensure high availability, but treat it as if it's a
single server, since they will all be configured in the same way.
Periodically, client will contact the server to see if a new configuration for its machine is present. If a
new configuration is present, the client will download it and apply it.
Agent-less systems
In agent-less systems, no specific agent is present. Agent-less systems do not always respect the server/
client paradigm, since it's possible to have multiple servers and even the same number of servers and
clients . Communications are initialized by the server that will contact the client(s) using standard
protocols (usually via SSH and PowerShell).
Agent-based versus Agent-less systems
Aside from the differences outlined above, there are other contrasting factors which arise because of
those differences.
From a security standpoint, an agent-based system can be less secure. Since all machines have to be able
to initiate a connection to the server machine, this machine could be attacked more easily than in an
agent-less case where the machine is usually behind a firewall that will not accept any incoming
connections.
29. From a performance point of view, agent-based systems run the risk of having the server saturated and
therefore the roll-out could be slower. It also needs to be considered that, in a pure agent-based system,
it is not possible to force-push an update immediately to a set of machines. It will have to wait until
those machines check-in. For this reason, multiple agent-based systems have implemented out-of-bands
wait to implement such feature. Tools such as Chef and Puppet are agent-based but can also run without
a centralized server to scale a large number of machines, commonly called Serverless Chef and
Masterless Puppet, respectively.
An agent-less system is easier to integrate in an infrastructure that is already present, since it will be
seen by the clients as a normal SSH connection and therefore no additional configuration is needed.
30. What is Ansible?
Ansible is an agent-less IT automation tool developed in 2012 by Michael DeHaan, a former Red Hat
associate. The Ansible design goals are for it to be: minimal, consistent, secure, highly reliable, and easy
to learn. The Ansible company has recently been bought out by Red Hat and now operates as part of Red
Hat, Inc.
Ansible primarily runs in push mode using SSH, but you can also run Ansible using ansible-pull,
where you can install Ansible on each agent, download the playbooks locally, and run them on
individual machines. If there is a large number of machines (large is a relative term; in our view, greater
than 500 and requiring parallel updates), and you plan to deploy updates to the machines in parallel, this
might be the right way to go about it.
31. Secure Shell (SSH)
Secure Shell (also known as SSH) is a network service that allows you to login and access a shell
remotely in a fully encrypted connection. The SSH daemon is today, the standard for UNIX system
administration, after having replaced the unencrypted telnet. The most frequently used implementation
of the SSH protocol is OpenSSH.
In the last few months, Microsoft has shown an implementation (at the time of writing) of OpenSSH for
Windows.
Since Ansible performs SSH connections and commands in the same way any other SSH client would
do, no specific configuration has been applied to the OpenSSH server.
To speed up default SSH connections, you can always enable ControlPersist and the pipeline
mode, which makes Ansible faster and secure.
32. Why Ansible?
We will try and compare Ansible with Puppet and Chef during the course of this book since many
people have good experience with those tools. We will also point out specifically how Ansible would
solve a problem compared to Chef or Puppet.
Ansible, as well as Puppet and Chef, are declarative in nature and are expected to move a machine to the
desired state specified in the configuration. For example, in each of these tools, in order to start a service
at a point in time and start it automatically on restart, you would need to write a declarative block or
module; every time the tool runs on the machine, it will aspire to obtain the state defined in your
playbook (Ansible), cookbook (Chef), or manifest (Puppet).
The difference in the toolset is minimal at a simple level but as more situations arise and the complexity
increases, you will start finding differences between the different toolsets. In Puppet, you need to take
care of the order, and the Puppet server will create the sequence of instructions to execute every time
you run it on a different box. To exploit the power of Chef, you will need a good Ruby team. Your team
needs to be good at the Ruby language to customize both Puppet and Chef, and there will be a bigger
learning curve with both of the tools.
With Ansible, the case is different. It uses the simplicity of Chef when it comes to the order of
execution, the top-to-bottom approach, and allows you to define the end state in YAML format, which
makes the code extremely readable and easy for everyone, from development teams to operations teams,
to pick up and make changes. In many cases, even without Ansible, operations teams are given playbook
manuals to execute instructions from, whenever they face issues. Ansible mimics that behavior. Do not
be surprised if you end up having your project manager change the code in Ansible and check it into Git
because of its simplicity!
34. “Yes, Jean; but they are not out of shape at least.”
“No, just rough and her finger-nails are all broken. I suppose the
washing does it and I don’t know what else she does, but she
happened to speak of doing that. She had a big bundle of clothes in
the boat last evening. How are we going to manage this, Molly?”
“What do you mean, Jean?”
“Why, if you tell her before us, won’t she feel worse? Suppose Nan
and I make some excuse and leave you with her?”
“Oh, no, Jean—please! I need support; and besides, she admires
you most of all. I can tell. You just slip an arm around her if she
needs one!”
“We’d better give her her breakfast first, for fear she’ll be too
stirred up to eat,” Nan suggested.
“Good idea, Nan. Your head is always level.”
“Then if that’s so, I’d better see about the breakfast. You go down
to meet her, Jean.”
Nan and Molly hurried in, while Jean went down to the little dock
to welcome their guest.
“I was a little afraid you might not come, Greta, for it looks so
much like a storm,” said Jean, while Greta was fastening her boat
securely.
“I think that I would have come in a storm, if there had been no
other way. But it is a good thing that I was to come early, I
suppose.”
“Molly and Nan went in to hurry up the breakfast. We had the milk
heated and the bacon cooked. There will be just us four to have
35. breakfast together. Grace took the rest on a breakfast hike, but I’m
afraid that they’re going to get caught in a storm if they don’t hurry
back. We have two girls from our town visiting us and that is the
reason for the trip. They are crazy to do everything and we are crazy
to show them everything we do. Nobody slept much last night.”
“I’m afraid that you wanted to go with the other girls,”
thoughtfully said Greta.
“Oh, no. Especially after Molly told us what she wants to tell you,
—and we did not mention it to the rest. But we’ll forget that now
and have a jolly good breakfast if we can. I’m not sure but ice-cold
lemonade would be better than hot cocoa in this kind of weather,—
funny to have a hot night on our lake.”
If the cocoa was hot, it was bracing to Greta. She sat at the yellow
and brown and white table, on a yellow, brown and white chair and
had her bacon and eggs served on the yellow dishes decorated with
daisies. “We are sibyls in our club,” Molly explained, “and our colors
are yellow and white, but we aren’t what the boys call ‘yellow,’ for
our motto is ‘sans peur,’ that means ‘without fear,’ and we’ve already
discovered that to have courage is one of the most necessary things
anywhere. Mine was at a low ebb last night, I can tell you, but this
morning I’m all braced up.”
Jean looked at Molly with amused affection. She understood how
Molly dreaded to tell Greta what she must.
Greta was bright enough to have an inkling of what Molly meant.
Her own courage was sinking, and had been all night. What had
Molly heard? What new and dreadful thing might she have to meet
at home? Jacob Klein had not come home the night before. Perhaps
it was something about him.
But the breakfast was good and the girls were kind and
interesting. She did not seem to feel awkward with managing to eat
before them. Her mother had always made fun of her “fussy ways,”
36. as her German expressions meant. A good breeze was blowing
through the big room and making them all more comfortable. After
the meal the girls left the table as it was and took Greta outdoors to
a nook among the trees where they had fixed a rope swing and
some seats out of logs. On one of these they sat down, though Nan
presently jumped up, saying that she’d better clear the table, for the
whole lot of girls would be back soon, she thought. They all looked
at the gathering clouds. The storm seemed to be a long time
coming. Perhaps it would pass around them. In any event, Molly was
thinking how she would tell Greta and Greta was more interested in
what she was to hear than in the storm.
“Greta,” began Molly, “does Mrs. Klein treat you kindly?”
Greta’s dark eyes looked soberly into Molly’s. “I’d rather not say,”
she replied. “Yes, I will, too. It is a chance to tell some one. My
mother was good to me for a long time after I had a bad sickness,
and forgot things, they said. Then she changed and although she
would never let Jacob Klein abuse me, she can’t care much for me
or she would never put the heaviest work on me, even when she is
well enough to help more. I want to go away from home to work,
and I thought that perhaps you girls could help me find a way, to
help some one with any kind of work; and then I could send the
money home to my mother and the children. I heard her say when
they were quarreling, after Jacob Klein threw me against the tubs
and hurt my head, that he must leave me alone and that I was not
his child.”
All this came tumbling out rapidly, as if Greta had planned it,
which was not the case. It was only that she was so full of her
unhappiness and puzzles.
“Did you ever think that perhaps you were not her child either?”
Greta looked startled. Then she said, slowly, “I thought that she
might have been married before and that my father might have had
37. dark eyes like mine. All the rest have blue eyes and light hair, if you
noticed, and the horse-doctor that came to look after me as well as
the horse asked my mother where she found a little girl with brown
eyes. He was joking, but my mother didn’t like it and said that
families were not always of one complexion, or something like that.
She talks mostly German.”
“I know,” answered Molly, who had heard her. “I understand
German, for we had a good woman that helped us for a long time
when one of the children was little and Mother was not strong. She
started me because she loved to talk her own language with some
one, and I’ve kept it up. But you haven’t a bit of a German accent
and talk English as well as we do. How does it happen?”
“That is what I have been wondering about for a long time. After
this sickness I had to be taught German, but could talk English. My
mother said that I had been bewitched,—that is what it would mean
in English. She taught me to read the German newspapers that
Jacob Klein has,—I haven’t called him Father since I found he wasn’t
my father. Then I found an old German Bible that I supposed was
my great-grandmother’s, from the date in it; but it was Jacob’s
grandmother’s, of course. There is better German in that, and it has
been a help,—to stand things, I mean.” Greta’s eyes filled with tears,
but she dashed them away, saying, “I’m sorry to complain this way
to you. Please do not tell any one.”
“I can’t promise that,” smiled Molly, “but if you feel the same way
after I tell you a few things,—all right. But don’t you remember
anything that happened before this time that you were sick?”
“I know that I have been at school somewhere, and that I have
seen people like you somewhere and of course I am feeling pretty
sure that there is something queer about all this. Why should I know
these things if I had always been with these people? Yet it has been
pretty well told me all about my mother’s people and how my aunt
Gretchen always thought so much of me before she died and how
38. my grandmother said I would make a good little worker and would
help my mother.” Greta stopped with a whimsical smile. “I have, all
right,” she added, “but I have had a chance to talk English every
summer with the people that come to the cottages at the other end
of the lake, and this summer a lady gave me a lovely book, all about
girls like you.”
“Thank you for telling us about yourself, Greta. Now let me tell
you what I heard this woman that you have been living with say.”
“‘This woman that you have been living with’?” thought Greta.
“What does this girl mean?”
“She did not say much, and in the simplest German, but she said
enough to make me listen to the rest,” continued Molly, going on to
describe the scene, telling how the girls happened to stop at the
place.
“Yes, that was Mother,” said Greta in reply to Molly’s question,
after a detailed description of the woman whom she had seen.
“Well,” said Molly, “I saw a large stone by some bushes. There was
a sort of tangle in that corner of the yard, near a pasture fence.”
Greta nodded. She knew. “There was an old lilac bush and a syringa
bush in my way, but I peeped around them to see who was crying
and if anybody needed help. But here this woman was lying, almost
on her face, her hands clutching the grass between some little
bushes that were planted in a row, Greta. Then it was that I noticed
the big stone in the corner and a row of small stones that started
from it as if someone had been going to make a flower bed, you
know. These all must be to mark the place, Greta.
“She was sort of moaning, in German, ‘my Greta, my Greta, my
little Greta,’ and then she began to talk to her, just as I was going to
slip away, not to intrude; and she wasn’t hurt, I could see. But she
went on, ‘Your father never meant to kill you when he hit you that
time, and I couldn’t see him hung, could I? So here you are without
39. a stone with your name on it and not a prayer said over you when
we hid you here!’ She burst out sobbing loudly then, but by that
time I thought I ought to hear if she said anything more, and
presently she was asking, ‘Wasn’t it better for no one to know, when
the little girl came and could take your place, and her people were
all dead in the storm?’”
Here Jean slipped an arm around Greta, who was leaning toward
Molly, listening tensely. “Oh,—then the real Greta is buried there,
and I am the little girl!”
“Yes,—the ‘kleines Mädchen.’ When I got home last night, Greta, I
wrote down every German expression that I could remember, so I
could swear to it if necessary. And I lay awake thinking it out nearly
half the night. There wasn’t anything else, except that she kept
sobbing and repeating the little expressions she had used, Greta’s
name, and asking if she blamed her mother. Did you ever think that
you might have been kidnapped?”
“Yes. I made a wonderful story about myself and then I saw how
silly it was. I even belonged to the German or English nobility,
though as I couldn’t speak good German the first wasn’t likely. But it
must be true that my people are dead in a storm, for anything that
my mother said in that way would have to be true. Oh, to think of it!
I knew I was different and didn’t belong! I’d rather be all alone than
to be the daughter of that man—and poor Mother! She isn’t very
bright, girls, just stupid about some things, and loves that dreadful
man! What can I do? Oh, thank you, Miss Molly, for caring to tell me
about it. It is a wonderful thing for me that you girls came here this
summer!”
But Greta put her head in her hands, and Jean patted her
shoulder. “We’ll have to think it out,” said Jean. “I told Molly that if it
happened in an accident, maybe the poor woman wasn’t so bad to
want to save her husband. But what was worst was about you,
especially since you looked unhappy and tired out. Oh, yes, Molly,
40. you forgot to tell Greta one thing, how she said she wasn’t making
the girl that took the real Greta’s place have a happy time and was
making her work for Greta’s little brother and sister. She has some
crazy idea like that!”
“As long as that grave is there, it could be proved that I am not
Greta, I suppose. At least, they’d have to explain it.”
“But perhaps they could take,—take it all away, if they had any
hint that you knew,” said Molly.
“That is so. I will have to go back and wait. I always wondered
why Mother had started a flower-bed and those rose-bushes there,
but I never dared ask. I have a memory of a storm in the woods, or
it seemed like that.”
As Greta spoke, a blinding flash of lightning was followed by a
terrific crash of thunder. “My sakes!” exclaimed Jean. “Let’s get
inside. Oh, I hope that the girls are almost back!”
The three of them had been too much interested in the story
which Molly was relating to notice how black the sky had become.
Nan rushed to the door to call them, but saw that it was
unnecessary. The bolt of lightning so near had been sufficient
warning. Greta went to work with them to close all the windows and
door and drag the cots in from the sleeping porch. The room
presented a disheveled appearance by the time they were through,
but they were concerned only with the storm. Jean jumped with the
next crash, but Greta, used to taking care of frightened little children
in storms, smiled at her and took her hand, “What did you say your
motto is?” she asked.
“Thanks, Greta. I’ll remember, but I’m terribly uneasy about the
girls. If they had taken the boat, they could get away from the
trees.”
“But look at the lake, Miss Jean.”
41. “Just Jean and Molly and Nan, Greta,” said Jean, as she looked out
at an angry lake, whipped by a wind. The trees were bending now
before a great wind. Whirls of leaves and broken branches began to
fly. Then Nan cried, “Here they come,” and ran to open the door for
the fleeing girls, who ran through a blinding downpour and against a
strong wind.
“It’s a regular whirlwind, and I hear a terrible roaring, girls,” said
Grace, out of breath. “Is everything closed tight?”
Nan, Jean and Molly were using their combined strength to shut
the door after the dripping girls had come in, but Greta answered.
“We shut up everything, Miss French.”
There was nothing to do but to wait results. By this time they all
knew that a storm of more than usual intensity was upon them.
“‘Sans peur,’ girls,” Grace reminded them, her chin raised and her
eyes looking out upon the whirling scene outside. “I’m glad that we
reached shelter and are together.”
“I’m scared,” said Phoebe, “and I don’t care who knows it!” She
was standing by Leigh Dudley, who had drawn a chair into the
middle of the room and had sunk into it as quite exhausted after
their mad rush through the woods. Leigh reached up with a smile
and drew Phoebe down into her lap. “Sit down Phoebe-bird. It
doesn’t do any good to be scared, but I’m not feeling any too safe
myself.”
The two girls cuddled together and shut their eyes, but Jean and
Greta stood together, looking out, and Greta whispered, “The good
God can save us if it is best.” Not in vain had Greta read that
German Bible.
Crash went a tree, just hitting the sleeping porch, and the little
house shook. But the worst of the storm had passed them by in a
few minutes from the time they heard the roaring sound, so rapidly
was the work of destruction done. It was wind rather than lightning
42. which had been the greatest menace. Pouring rain continued for
some time,—and then the sun came out!
“Now is the time to be thankful, girls,” said Grace, “but I hope that
the boys are all right. If I’m not mistaken, some cyclone went by us
and we’ll hear of damage done by it.”
Uneasily, the girls went about opening windows, looking out to see
what damage had been done to the sleeping porch, or going out into
their cleared dooryard to see if their prettiest trees had suffered.
Branches lay on the ground, whipped from the trees. It was a small
elm that had hit the porch. “Girls, if that tree hadn’t been actually
lifted by the wind, I don’t believe it could have reached us,” said
Jean. “My father said that they particularly tried to see that no tree
could hit us if a storm felled it, no big one, I mean. We have shade
enough as it is.”
The girls stood looking about. “I’m glad that the boys built their
shack in a pretty well cleared place, too,” said Nan, who could
scarcely help worrying about Jimmy. Greta was thinking of home and
the children. They were often rude to her, in the atmosphere of
scolding and criticism which made Greta’s life wretched. But they
also depended upon her for a great deal and occasionally, when
away from their mother’s disapproval, showed her a little affection,
especially the youngest child.
Still excited by the character of the storm, the girls ran around in
the wet woods near by. They found the tree which had been struck
by lightning before Nan, Jean and Greta had gone into the house
and they were startled to find how near it had been. But when they
looked across the lake, beyond the camp’s small bay and where the
woods stretched toward Greta’s home, they saw the most damage.
Trees lay prostrate near the shore. Branches and drift tossed upon
the still active waves. “I must hurry home at once,” said Greta. “The
storm has gone that way.”
43. “I’ll go with you,” declared Jean, thinking of the motto, for the
thought of going frightened her and she would have preferred to
know what had happened to Jimmy Standish, her friend, Billy Baxter
and the rest of the boys. But she and Molly and Nan had gotten
Greta into coming for breakfast. If the family were unharmed by the
storm and Greta had a scolding or worse, she would stand by her.
“I’ll go, too,” said Molly; but Grace heard them.
“Wait, girls,” said Grace. “I think that I hear the boys calling.”
The girls listened.
“Wah-hoo-oo-oo-oo-oo!” came the long-drawn call.
“Oo-ey, oo-ey, oo-ey,” answered Grace, all smiles, for that was
Jimmy.
In a few minutes several boys came crashing through the bushes
and brush, not caring how the wet drops sprinkled them right and
left. “Everybody all right?” asked Jimmy, who was in the lead, Billy
Baxter right behind him. His quick eyes took in Grace and Nan first
and traveled over the rest with some relief.
“Yes,” answered Grace. “No one was out in the storm and the little
cabin stood; but some of us got inside just in time. I should have
had more sense than to go off for a hike and breakfast when it felt
like a storm, even if we did not notice any signs when we left so
early. I’ve been wondering about you.”
“All of us have,” Jean added, “and Greta is worrying about her
folks across the lake. This is Greta Klein. Greta, this is Nan’s brother,
Jimmy. He’s in charge at the boys’ camp, just as Grace French is
here.”
“I was certainly thankful to hear you call, Jimmy,” said Grace,
while Greta and Jimmy acknowledged the introduction after a
44. fashion, for matters were on an informal footing. Jean had merely
announced facts.
“We would have been around when it first began to look like a bad
storm, but we were off, too, out of sight, on the other shore of the
peninsula to begin with, then ’way around in the woods. Like you,
we started early and there is a little fisherman’s shack there. We
made it to our camp, though, but we had to stay till she blew over
then. As soon as we could, we ran out where we could see your roof
and it was still on. So we hoped that you were all right. Gee-
whilikins, didn’t it get dark?”
“Jimmy brought ‘first aid’ and everything,” said Dan Pierce. “Would
Greta like to have us go around with her?”
“That is a fine idea, Dan,” said Grace, and Billy wished that he had
thought of it. “I thought of going around with Greta, as soon as we
knew about your camp. I was sure that you would get some sort of
a message through pretty soon, unless you were all blown away.
Suppose you three boys come with Greta and me, and maybe Molly,
and Jean. They spoke of going. Do you think that you could stand it,
girls, if anything has happened there?” This question was spoken in
a lower tone, for the benefit of Jean and Molly only.
“‘Sans peur,’ Grace,” said Jean stoutly. “Get Molly to tell you all
about everything while we go.”
“Couldn’t we go in the boats now?” asked Molly, but caught
herself short. “Oh, girls, we never thought to look and see if the
boats are there yet!”
They were not, as the assembled company soon found out when
they ran around to the lake side of the cottage. There was no sign
either of Greta’s boat or theirs. “Our canoes were high and dry and
under shelter,” said Jimmy, “but the row-boats and the little motor
are goners as far as we know.”
45. “Some of them may turn up,” hopefully inserted Billy. “Let’s go,
Jimmy.”
“All right, kid, when the girls are ready. By the way, Grace, tell
them all to look out for trees or branches that might be ready to fall.
We’ll have to go on the edge of the woods and through it in some
places, isn’t that so, Greta?”
“Yes, sir.”
Senior Jimmy smiled at the “sir,” then happened to think. Yes, he
was out of school, and he’d be in the office with his father till he
earned enough money, in a year or so, to start to college. Say, he
was grown up, after all.
“Greta,” asked Molly, soon after they started through the woods,
“how old were you when you were ‘sick’?”
“It was four years ago, and Mother says that I am sixteen.”
“You don’t look any older than I do, and I’m fifteen. Well, yes, you
do look older in one way, but then you’ve done so much hard work, I
guess.”
The going was difficult. They scarcely stopped to examine the
curious freaks of the storm in the woods. Afterward they learned
that there was a comparatively small area damaged by the “twister,”
though the storm was general. Jimmy said that he thought the
twister must have stooped and risen again, in an erratic fashion, to
fell some trees, take off the tops of others and cut almost a path
before it in places.
It was some time before they came into sight of the Klein house.
There it stood, as ramshackle as ever and with the additional loss of
the roof over Greta’s attic. As they reached the road which ran
between the woods and the place, Greta ran, the rest following as
rapidly as they could.
46. The yard was strewn with rubbish and a few excited chickens ran
about as Greta appeared; but she dashed into the house, calling to
see where her mother and the children were. There was no
response. Greta looked anxious, as she came from the rear of the
house to say that no one was downstairs.
Jimmy insisted on accompanying Greta upstairs to see if they
could be there, hurt, perhaps, when the roof went off. They found
the attic pretty well demolished and the ceiling had fallen in the
bedroom below; but there were no signs of any one having been
there when it happened. “We’ll look to see if the horse and the old
wagon are here,” said Greta, running down the stairs and outdoors.
“Maybe they started away before the storm began. Mother was very
anxious last night and seemed to think that—her husband—was in
trouble.”
There lay the explanation of the absence. Neither horse nor
wagon were to be found. The dogs were gone. The lone cow in the
pasture was unhurt. “She probably wakened up early,” said Greta,
“and just went to the village to see what had become of him. Thank
you all for coming with me. I’ll just wait here and straighten up the
best I can till they come. It was a good thing they went, unless they
might have gotten caught in the storm.”
“I don’t think we should leave you here alone, Greta, to find out
later what did happen. Billy and I can walk across to the village and
find out if they are in any trouble. Where would she be likely to go?”
“There is one woman there that Mother stops to see when she
goes to town. If there were any trouble about—him—she would ask
Mrs.—well, let me write the name for you. It’s a long German name.
I hate to have you take all that trouble, and the long walk after all
your hiking, too. I just don’t know what to do this time.”
“We’re going, Greta. It is the only thing to do.”
“I’ll make some coffee for you first.”
47. “No, we had breakfast and we’ll get something in town. Honest,
we’ll do it.”
The discussion came to an end suddenly, for the attention of
everyone was diverted by the appearance of a light buggy and a
toiling horse that was splashing through mud and water on the dirt
road. The man who was driving was leaning out to look at the
damage of the storm and viewing with surprise the number of
people in the front yard. “Hello,” he called, “is Greta Klein there?”
Greta came running forward to meet the man who drove up,
turned his wheel and clambered heavily out of the buggy. Jean
happened to stand nearest and heard the most of the low
conversation that took place, though she stepped back a little.
“I’m sorry to tell you, Greta, that your pa was took sudden last
night and your ma was sent fur. She got up an’ took the little ones
an’ why she didn’t wake you up I don’t know. Mebbe she isn’t quite
right, fur she says that you ain’t her child an’ she’s terrible upset
becuz he wuz gone when she got there. The children wuzn’t half
dressed an’ she wants their clothes.”
“Does she want me to come?”
“No, but I would. That woman she stays with says to bring you.”
Greta turned to Jean. Her face was white, but her lips were set
firmly. “I’ll have to go. Did you hear what happened to Jacob Klein,
Jean?”
“Yes. Go and get ready and I’ll tell the rest.”
Grace, however, stepped up to the messenger and asked what his
news was about Mrs. Klein. “We are friends of Greta’s from a couple
of camps on the lake. She took breakfast with us this morning and
was kept by the storm.”
48. “Oh, she did. Well, all I have to say is that it’s a good thing she
has friends. If you know anything about Klein you’ll know that what
happened was likely to happen to a man with his habits. There was
a terrible quarrel where he was drinking and Klein was hurt. That’s
all I know except his wife’s ravings. She’s got the hysterics, I think.”
“Is she likely to hurt Greta?”
“Oh, no. But she seems to have took a dislike to Greta, they say.”
“I see.” Grace went into the house to see if she could help Greta in
any way. Greta was trying to find the children’s clothes in the midst
of the destruction wrought by the fallen ceiling, and hearing Grace’s
footsteps, she looked out of the door.
“Don’t try to come up, Miss French. I’m finding their clothes and
we can clean them up when I get into town.”
“Well, I just want to tell you, Greta, to come right to us at the
camp if you need a place to go. I don’t quite understand what the
man told me but it is clear that things are strange.”
“Yes, they are. Ask Molly and Jean and Nan to tell you what they
know. And after I help Mother through this, I’ll be glad to come. I
want to find a place to work and the girls thought they could help
me.”
“We all can, Greta. Don’t worry.”
It was not long before Greta had been driven away. She had
locked the door and taken a bundle of clothing with her. Cheerful
waves from the girls saw her off and Jean told her not to forget to
come to the camp as soon as she could.
There was another long tramp back to camp, for there was no
boat to take them over, but Grace invited the boys to stay for as big
49. a meal as they could get up on short notice. “Open some cans of
beans, Grace,” suggested Jimmy, “and heat ’em up.”
“Beans it shall be,” laughed Grace, “but we’ll have some other
things, too. Think it up, girls, on the way.”
Camp, however, afforded a pleasant surprise. There stood Mr.
Standish and Mr. Lockhart in front of the house, drawn there by the
sounds of arrival, and while Nan and Fran rushed “madly on,” as
Jean said, Mr. Standish came from the house. “Oh, there you are!”
she exclaimed in relief. “We just got here and while we saw that the
cottage is all right, we were worried to death for fear something had
happened to you. Your father and Mr. Lockhart were just starting to
the boys’ camp to see if they were all right.”
“Here are Jimmy and Billy and Dan to tell you all about the time
they had,” said Nan, hugging her mother. “We weren’t very scared,
Mother,—‘sans peur,’ you know, but we have a lot to tell you about
Greta Klein, a girl that lives near here.”
“Got a big description of the storm for the paper, Dad,” Jimmy
informed Mr. Standish.
“All right. Write it up for me. I heard about the storm up here and
we had the edge of it at home. Wires were down, so I thought we’d
better drive up. Such roads. We came over the shaky bridge and
may have to swim back.”
“In that case, I’ll stay with the girls,” suggested Mrs. Standish,
laughing. “It was an awful ride, but I was thinking of you and the
girls and could not get here fast enough, Jimmy. Where are the rest
of the boys?”
“Back at camp, I suppose. We came up here to see if the girls had
escaped.”
50. Further explanations followed. Mrs. Lockhart was found inside,
where she had been setting forth fruit and baked things of all sorts,
gathered up hastily when they decided to come. Part of it was saved
for the Wizards who were at their camp, but the rest, with what the
girls had, made a great dinner that was eaten merrily, though Mr.
Standish offered a fervent grace of gratitude at its beginning.
Jean and Molly gave a partial account of the mystery about Greta.
“She isn’t their child at all,” said Jean. “It’s dreadfully sad, of course,
but not so bad for Greta as if they were her parents and had been
good to her. Greta is a fine girl all right. She’s going to do everything
she can for them, I know.”
“Perhaps Mother could train her to help us and she could go to
school,” said Leigh. “I’m glad that my father and mother are away,
not to be worried about the storm.”
“Me, too,” said Jean, “but the folks will be back next week, I
think.”
“We shall take good word to every one at home,” said Mrs.
Standish, “and if we can help that poor child get a start, we will.
There is something for the S. P.’s to do.”
52. CHAPTER XVII
THE MYSTERIES DISCLOSED
That Jean Gordon would have any personal interest in the mystery
connected with Greta was the last thing she would have guessed
until Greta came back two weeks later and appeared at the door of
“Sans Souci,” as the name over the cottage door now announced.
Gently Greta knocked. Hesitantly she came in, when several girls,
who were doing the morning work after what was a late breakfast,
called a happy, “Come in Greta! Glad you’re back.” Molly ran up and
took from Greta’s hand a suitbox which she was carrying, probably
her substitute for a grip, Molly thought. Impulsive Jean did more,
running up and throwing her arms around Greta. “Why, you look like
a twin sister to the S. P.’s now,” she exclaimed. “Who fixed your hair
that pretty way? My, I wish I had curly hair!”
Greta laughed at this. “I fixed it, as much like yours as I could,”
she replied.
Grace, who had frowned at Jean’s too frank comments, now
joined in the general smiles and added her greeting. “Of course you
have come to stay a while with us, Greta?”
“Just a few days, Miss French, if you haven’t already found some
place for me to start working.”
“There will be no hurry, Greta. You need a little vacation. The boys
say that some one else is moving into your house.”
53. “And we have seen from the lake that the house is being
repaired,” Nan added.
It took some time for all the explanations. The Klein place had
been taken over by the man who had bought the rest of the farm
land originally attached to the few acres left. It was rented now. Mrs.
Klein and the two children were starting for Idaho, where a sister
lived. “I am free,” said Greta, “though it was a hard way for it to
happen.”
To Molly and Jean alone Greta told the details of her mother’s
revelations. “She was hysterical, as I was told, but by the time I got
there she was glad to have me take care of the children. I think that
she told them I wasn’t her child so that I would have no share in the
little bit of property. She was that way. She did not realize that all I
wanted was to get away!
“Of course, she did not say a word about how her Greta died and
I didn’t tell her what Molly heard. There was no use in making her
feel worse than she did. She said that the night Greta died there was
a dreadful lake storm and more than one boat went down on Lake
Michigan. Jacob Klein felt so terrible about losing Greta that he
walked and walked and walked through the woods and clear across
to Lake Michigan before he knew it. I suppose he did, for it’s only
thirty miles or so, and he may have had the horse or a boat at that.
He never told her the truth about anything. He wanted to get away,
and he could have taken one of the boats and gone out by the river.”
“I think that it’s farther than you think, Greta,” said Molly. “Were
you ever there?”
“No. I wasn’t anywhere! But however that was, he found me out
in Lake Michigan, lashed to something and unconscious. Isn’t it
queer that none of my dreams or flashes of remembering had a boat
in them? But I was afraid of the water at first, till Jacob Klein made
54. Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
textbookfull.com