Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs: User guide overhaul, part 1 #63056

Merged
merged 35 commits into from
Oct 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
3b62f92
Updates intro to user guide
acozine Aug 14, 2019
b4783ab
moves concepts content into shared snippet, adds it to main User Guide
acozine Aug 15, 2019
b63a5c3
revise page on become
acozine Aug 15, 2019
2799cd9
first review of ad-hoc page
acozine Aug 15, 2019
87b7d68
moves background jobs example to async page
acozine Aug 15, 2019
40f7041
light edit of the BSD page
acozine Aug 15, 2019
6adc79a
light edit of the dynamic inventory page
acozine Aug 15, 2019
e5f7503
adds links to ad-hoc page
acozine Sep 17, 2019
9337187
adds placeholder page for info about logging and no_log
acozine Aug 15, 2019
2c0a7ff
adds page about connections
acozine Sep 19, 2019
645dbf1
Sanding the modules intro page
acozine Oct 1, 2019
7aa3818
Revise patterns page
acozine Sep 14, 2019
19265b9
Edit getting started page
acozine Aug 15, 2019
aebe5bd
Revise the intro_inventory file
acozine Aug 15, 2019
a3dc5ed
Edits index header and TOC for User Guide
acozine Aug 15, 2019
82f7f6d
put logging page in reference section
acozine Oct 2, 2019
829f3f8
fix CI errors
acozine Oct 2, 2019
8e97815
Update docs/docsite/rst/user_guide/playbooks_async.rst
acozine Oct 7, 2019
e515651
Update docs/docsite/rst/user_guide/intro_adhoc.rst
acozine Oct 7, 2019
e338ee4
Update docs/docsite/rst/user_guide/intro_inventory.rst
acozine Oct 7, 2019
2846168
update logging page per samccann's feedback
acozine Oct 7, 2019
573e4eb
Explicit code-blocks help translation, adhoc page
acozine Oct 7, 2019
527962d
more samccann feedback, add TODO notes
acozine Oct 7, 2019
8891a78
samccann feedback on inventory page
acozine Oct 7, 2019
9073b74
samccann feedback on inventory intro
acozine Oct 7, 2019
1cc0308
explicit code blocks, become page
acozine Oct 7, 2019
0607ebc
headers fixed on become page
acozine Oct 7, 2019
1e740f8
explicit code blocks, collections
acozine Oct 7, 2019
d2ee43b
explicit code blocks, CLI [age
acozine Oct 7, 2019
dca39b3
explicit code blocks, connections page
acozine Oct 7, 2019
925db9c
explicit code blocks, rolling upgrades page
acozine Oct 7, 2019
17c7350
Copy-edit intro to dynamic inventory
acozine Oct 7, 2019
265557c
explicit code blocks, BSD page
acozine Oct 7, 2019
608b5cc
explicit code blocks, intro inventory
acozine Oct 7, 2019
8ff70df
more editing of getting started
acozine Oct 7, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/docsite/rst/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ Ansible releases a new major release of Ansible approximately three to four time
reference_appendices/module_utils
reference_appendices/special_variables
reference_appendices/tower
reference_appendices/logging


.. toctree::
Expand Down
2 changes: 2 additions & 0 deletions docs/docsite/rst/installation_guide/intro_installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ Currently Ansible can be run from any machine with Python 2 (version 2.7) or Pyt

This includes Red Hat, Debian, CentOS, macOS, any of the BSDs, and so on.

When choosing a control node, bear in mind that any management system benefits from being run near the machines being managed. If you are running Ansible in a cloud, consider running it from a machine inside that cloud. In most cases this will work better than on the open Internet.

.. note::

macOS by default is configured for a small number of file handles, so if you want to use 15 or more forks you'll need to raise the ulimit with ``sudo launchctl limit maxfiles unlimited``. This command can also fix any "Too many open files" error.
Expand Down
37 changes: 5 additions & 32 deletions docs/docsite/rst/network/getting_started/basic_concepts.rst
Original file line number Diff line number Diff line change
@@ -1,37 +1,10 @@
***************************************
**************
Basic Concepts
***************************************
**************

These concepts are common to all uses of Ansible, including network automation. You need to understand them to use Ansible for network automation. This basic introduction provides the background you need to follow the examples in this guide.

.. contents:: Topics
.. contents::
:local:

Control Node
================================================================================

Any machine with Ansible installed. You can run commands and playbooks, invoking ``/usr/bin/ansible`` or ``/usr/bin/ansible-playbook``, from any control node. You can use any computer that has Python installed on it as a control node - laptops, shared desktops, and servers can all run Ansible. However, you cannot use a Windows machine as a control node. You can have multiple control nodes.

Managed Nodes
================================================================================

The network devices (and/or servers) you manage with Ansible. Managed nodes are also sometimes called "hosts". Ansible is not installed on managed nodes.

Inventory
================================================================================

A list of managed nodes. An inventory file is also sometimes called a "hostfile". Your inventory can specify information like IP address for each managed node. An inventory can also organize managed nodes, creating and nesting groups for easier scaling. To learn more about inventory, see :ref:`the Working with Inventory<intro_inventory>` section.

Modules
================================================================================

The units of code Ansible executes. Each module has a particular use, from administering users on a specific type of database to managing VLAN interfaces on a specific type of network device. You can invoke a single module with a task, or invoke several different modules in a playbook. For an idea of how many modules Ansible includes, take a look at the :ref:`list of all modules <modules_by_category>` or the :ref:`list of network modules<network_modules>`.

Tasks
================================================================================

The units of action in Ansible. You can execute a single task once with an ad-hoc command.

Playbooks
================================================================================

Ordered lists of tasks, saved so you can run those tasks in that order repeatedly. Playbooks can include variables as well as tasks. Playbooks are written in YAML and are easy to read, write, share and understand. To learn more about playbooks, see :ref:`about_playbooks`.
.. include:: ../../shared_snippets/basic_concepts.txt
14 changes: 14 additions & 0 deletions docs/docsite/rst/reference_appendices/logging.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
**********************
Logging Ansible output
**********************

By default Ansible sends output about plays, tasks, and module arguments to your screen (STDOUT) on the control node. If you want to capture Ansible output in a log, you have three options:

* To save Ansible output in a single log on the control node, set the ``log_path`` :ref:`configuration file setting <intro_configuration>`. You may also want to set ``display_args_to_stdout``, which helps to differentiate similar tasks by including variable values in the Ansible output.
* To save Ansible output in separate logs, one on each managed node, set the ``no_target_syslog`` and ``syslog_facility`` :ref:`configuration file settings <intro_configuration>`.
* To save Ansible output to a secure database, use :ref:`Ansible Tower <ansible_tower>`. Tower allows you to review history based on hosts, projects, and particular inventories over time, using graphs and/or a REST API.

Protecting sensitive data with ``no_log``
=========================================

If you save Ansible output to a log, you expose any secret data in your Ansible output, such as passwords and user names. To keep sensitive values out of your logs, mark tasks that expose them with the ``no_log: True`` attribute. However, the ``no_log`` attribute does not affect debugging output, so be careful not to debug playbooks in a production environment. See :ref:`keep_secret_data` for an example.
29 changes: 29 additions & 0 deletions docs/docsite/rst/shared_snippets/basic_concepts.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Control node
============

acozine marked this conversation as resolved.
Show resolved Hide resolved
Any machine with Ansible installed. You can run commands and playbooks, invoking ``/usr/bin/ansible`` or ``/usr/bin/ansible-playbook``, from any control node. You can use any computer that has Python installed on it as a control node - laptops, shared desktops, and servers can all run Ansible. However, you cannot use a Windows machine as a control node. You can have multiple control nodes.

Managed nodes
=============

The network devices (and/or servers) you manage with Ansible. Managed nodes are also sometimes called "hosts". Ansible is not installed on managed nodes.

Inventory
=========

A list of managed nodes. An inventory file is also sometimes called a "hostfile". Your inventory can specify information like IP address for each managed node. An inventory can also organize managed nodes, creating and nesting groups for easier scaling. To learn more about inventory, see :ref:`the Working with Inventory<intro_inventory>` section.

Modules
=======

The units of code Ansible executes. Each module has a particular use, from administering users on a specific type of database to managing VLAN interfaces on a specific type of network device. You can invoke a single module with a task, or invoke several different modules in a playbook. For an idea of how many modules Ansible includes, take a look at the :ref:`list of all modules <modules_by_category>`.

Tasks
=====

The units of action in Ansible. You can execute a single task once with an ad-hoc command.

Playbooks
=========

Ordered lists of tasks, saved so you can run those tasks in that order repeatedly. Playbooks can include variables as well as tasks. Playbooks are written in YAML and are easy to read, write, share and understand. To learn more about playbooks, see :ref:`about_playbooks`.
12 changes: 12 additions & 0 deletions docs/docsite/rst/user_guide/basic_concepts.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. _basic_concepts:

****************
Ansible concepts
****************

These concepts are common to all uses of Ansible. You need to understand them to use Ansible for any kind of automation. This basic introduction provides the background you need to follow the rest of the User Guide.

.. contents::
:local:

.. include:: /shared_snippets/basic_concepts.txt