ansible.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 12 Oct 2020 01:08:41 +0300
changeset 2435 27921ee2c781
parent 2430 315b44793009
child 2438 f570bd31717d
permissions -rw-r--r--
Search path.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2389
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
=========
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
 Ansible
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
=========
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
.. contents::
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
   :local:
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
Debugging Ansible
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
=================
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
Pass ``-vvv`` to Ansible utilities::
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
  ansible -vvv ...
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
  ansible-playbook -vvv ...
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
To debug connection use ``-vvvv``::
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
  ansible -vvvv ...
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
To debug Python modules set ``ANSIBLE_KEEP_REMOTE_FILES`` to ``1`` (it causes Ansible to leave the
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
exact copy of the Python scripts it executed on the target machine)::
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
  ANSIBLE_KEEP_REMOTE_FILES=1  ansible ...
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
There is ``debugger`` keyword that triggers debugger, see `Ansible Debugger
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
<https://docs.ansible.com/ansible/latest/user_guide/playbooks_debugger.html>`_
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
To activate debugger on task::
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
  - name: Execute a command
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
    command: false
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
    debugger: on_failed
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
To activate debugger in ``ansible.cfg``::
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
  [defaults]
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
  enable_task_debugger = True
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
To activate debugger via env var::
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
  ANSIBLE_ENABLE_TASK_DEBUGGER=True ansible-playbook -i hosts site.yml
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
Use ``ansible-lint``::
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
  $ sudo apt install ansible-lint
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
  $ ansible-lint site.yml
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
2390
f2b450fa4f4b Network Debug and Troubleshooting Guide.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2389
diff changeset
    48
https://docs.ansible.com/ansible/latest/network/user_guide/network_debug_troubleshooting.html
f2b450fa4f4b Network Debug and Troubleshooting Guide.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2389
diff changeset
    49
  Network Debug and Troubleshooting Guide.
2389
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
https://stackoverflow.com/questions/42417079/how-to-debug-ansible-issues
6548a372f31f Debugging Ansible.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
  How to debug Ansible issues?
2430
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    52
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    53
Bash completion
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    54
===============
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    55
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    56
https://github.com/ansible/ansible/issues/36397
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    57
  Provide bash-completion script for ansible commands.
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    58
https://docs.ansible.com/ansible/devel/installation_guide/intro_installation.html#shell-completion
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    59
  As of Ansible 2.9 shell completion of the ansible command line utilities is available and provided
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    60
  through an optional dependency called argcomplete.
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    61
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    62
Ansible language
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    63
================
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    64
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    65
https://docs.ansible.com/ansible/latest/user_guide/playbooks_module_defaults.html
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    66
  Module defaults.
2435
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    67
https://docs.ansible.com/ansible/latest/reference_appendices/special_variables.html
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    68
  Magic variables.
2430
315b44793009 Module defaults.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2390
diff changeset
    69
2435
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    70
Search path
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    71
===========
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    72
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    73
Files, templates, variables definitions are looked in ``files``, ``templates``, ``vars`` role / play
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    74
directories first, then in the base directory for role / play.
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    75
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    76
https://docs.ansible.com/ansible/latest/user_guide/playbook_pathing.html
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    77
  Search paths in Ansible.
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    78
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    79
Templates
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    80
=========
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    81
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    82
https://docs.ansible.com/ansible/latest/user_guide/playbooks_templating.html
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    83
  Templating (Jinja2).
27921ee2c781 Search path.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 2430
diff changeset
    84