Skip to content

Commit caa2a4f

Browse files
committed
Merge remote-tracking branch 'origin/dmw'
* origin/dmw: issue #590: whoops, import missing test modules issue #590: rework ParentEnumerationMethod to recursively handle bad modules issue #627: reduce the default pool size in a child to 2. tests: add a few extra service tests. docs: some more hyperlink joy docs: more hyperlinks docs: add domainrefs plugin to make link aliases everywhere \o/ docs: link IS_DEAD in changelog docs: tweaks to better explain changelog race
2 parents 8d16f65 + c81f366 commit caa2a4f

File tree

17 files changed

+661
-477
lines changed

17 files changed

+661
-477
lines changed

docs/ansible_detailed.rst

Lines changed: 47 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -175,16 +175,10 @@ Noteworthy Differences
175175

176176
your_ssh_username = (ALL) NOPASSWD:/usr/bin/python -c*
177177

178-
* The `buildah <https://docs.ansible.com/ansible/latest/plugins/connection/buildah.html>`_,
179-
`docker <https://docs.ansible.com/ansible/2.6/plugins/connection/docker.html>`_,
180-
`jail <https://docs.ansible.com/ansible/2.6/plugins/connection/jail.html>`_,
181-
`kubectl <https://docs.ansible.com/ansible/2.6/plugins/connection/kubectl.html>`_,
182-
`local <https://docs.ansible.com/ansible/2.6/plugins/connection/local.html>`_,
183-
`lxc <https://docs.ansible.com/ansible/2.6/plugins/connection/lxc.html>`_,
184-
`lxd <https://docs.ansible.com/ansible/2.6/plugins/connection/lxd.html>`_,
185-
and `ssh <https://docs.ansible.com/ansible/2.6/plugins/connection/ssh.html>`_
186-
built-in connection types are supported, along with Mitogen-specific
187-
:ref:`machinectl <machinectl>`, :ref:`mitogen_doas <doas>`,
178+
* The :ans:conn:`~buildah`, :ans:conn:`~docker`, :ans:conn:`~jail`,
179+
:ans:conn:`~kubectl`, :ans:conn:`~local`, :ans:conn:`~lxd`, and
180+
:ans:conn:`~ssh` built-in connection types are supported, along with
181+
Mitogen-specific :ref:`machinectl <machinectl>`, :ref:`mitogen_doas <doas>`,
188182
:ref:`mitogen_su <su>`, :ref:`mitogen_sudo <sudo>`, and :ref:`setns <setns>`
189183
types. File bugs to register interest in others.
190184

@@ -199,16 +193,14 @@ Noteworthy Differences
199193
artificial serialization, causing slowdown equivalent to `task_duration *
200194
num_targets`. This will be addressed soon.
201195

202-
* The Ansible 2.7 `reboot
203-
<https://docs.ansible.com/ansible/latest/modules/reboot_module.html>`_ module
204-
may require a ``pre_reboot_delay`` on systemd hosts, as insufficient time
205-
exists for the reboot command's exit status to be reported before necessary
206-
processes are torn down.
196+
* The Ansible 2.7 :ans:mod:`reboot` may require a ``pre_reboot_delay`` on
197+
systemd hosts, as insufficient time exists for the reboot command's exit
198+
status to be reported before necessary processes are torn down.
207199

208200
* On OS X when a SSH password is specified and the default connection type of
209-
``smart`` is used, Ansible may select the Paramiko plug-in rather than
210-
Mitogen. If you specify a password on OS X, ensure ``connection: ssh``
211-
appears in your playbook, ``ansible.cfg``, or as ``-c ssh`` on the
201+
:ans:conn:`~smart` is used, Ansible may select the :ans:conn:`paramiko_ssh`
202+
rather than Mitogen. If you specify a password on OS X, ensure ``connection:
203+
ssh`` appears in your playbook, ``ansible.cfg``, or as ``-c ssh`` on the
212204
command-line.
213205

214206
* Ansible permits up to ``forks`` connections to be setup in parallel, whereas
@@ -345,19 +337,12 @@ command line, or as host and group variables.
345337
File Transfer
346338
~~~~~~~~~~~~~
347339

348-
Normally `sftp(1)`_ or `scp(1)`_ are used to copy files by the
349-
`assemble <http://docs.ansible.com/ansible/latest/modules/assemble_module.html>`_,
350-
`copy <http://docs.ansible.com/ansible/latest/modules/copy_module.html>`_,
351-
`patch <http://docs.ansible.com/ansible/latest/modules/patch_module.html>`_,
352-
`script <http://docs.ansible.com/ansible/latest/modules/script_module.html>`_,
353-
`template <http://docs.ansible.com/ansible/latest/modules/template_module.html>`_, and
354-
`unarchive <http://docs.ansible.com/ansible/latest/modules/unarchive_module.html>`_
355-
actions, or when uploading modules with pipelining disabled. With Mitogen
356-
copies are implemented natively using the same interpreters, connection tree,
357-
and routed message bus that carries RPCs.
358-
359-
.. _scp(1): https://linux.die.net/man/1/scp
360-
.. _sftp(1): https://linux.die.net/man/1/sftp
340+
Normally :linux:man1:`sftp` or :linux:man1:`scp` are used to copy files by the
341+
:ans:mod:`~assemble`, :ans:mod:`~aws_s3`, :ans:mod:`~copy`, :ans:mod:`~patch`,
342+
:ans:mod:`~script`, :ans:mod:`~template`, :ans:mod:`~unarchive`, and
343+
:ans:mod:`~uri` actions, or when uploading modules with pipelining disabled.
344+
With Mitogen copies are implemented natively using the same interpreters,
345+
connection tree, and routed message bus that carries RPCs.
361346

362347
This permits direct streaming between endpoints regardless of execution
363348
environment, without necessitating temporary copies in intermediary accounts or
@@ -373,15 +358,15 @@ Safety
373358
^^^^^^
374359

375360
Transfers proceed to a hidden file in the destination directory, with content
376-
and metadata synced using `fsync(2) <https://linux.die.net/man/2/fsync>`_ prior
377-
to rename over any existing file. This ensures the file remains consistent at
378-
all times, in the event of a crash, or when overlapping `ansible-playbook` runs
379-
deploy differing file contents.
361+
and metadata synced using :linux:man2:`fsync` prior to rename over any existing
362+
file. This ensures the file remains consistent at all times, in the event of a
363+
crash, or when overlapping `ansible-playbook` runs deploy differing file
364+
contents.
380365

381-
The `sftp(1)`_ and `scp(1)`_ tools may cause undetected data corruption
382-
in the form of truncated files, or files containing intermingled data segments
383-
from overlapping runs. As part of normal operation, both tools expose a window
384-
where readers may observe inconsistent file contents.
366+
The :linux:man1:`sftp` and :linux:man1:`scp` tools may cause undetected data
367+
corruption in the form of truncated files, or files containing intermingled
368+
data segments from overlapping runs. As part of normal operation, both tools
369+
expose a window where readers may observe inconsistent file contents.
385370

386371

387372
Performance
@@ -499,11 +484,11 @@ Ansible may:
499484
* Create a directory owned by the SSH user either under ``remote_tmp``, or a
500485
system-default directory,
501486
* Upload action dependencies such as non-new style modules or rendered
502-
templates to that directory via `sftp(1)`_ or `scp(1)`_.
487+
templates to that directory via :linux:man1:`sftp` or :linux:man1:`scp`.
503488
* Attempt to modify the directory's access control list to grant access to the
504-
target user using `setfacl(1) <https://linux.die.net/man/1/setfacl>`_,
505-
requiring that tool to be installed and a supported filesystem to be in use,
506-
or for the ``allow_world_readable_tmpfiles`` setting to be :data:`True`.
489+
target user using :linux:man1:`setfacl`, requiring that tool to be installed
490+
and a supported filesystem to be in use, or for the
491+
``allow_world_readable_tmpfiles`` setting to be :data:`True`.
507492
* Create a directory owned by the target user either under ``remote_tmp``, or
508493
a system-default directory, if a new-style module needs a temporary directory
509494
and one was not previously created for a supporting file earlier in the
@@ -569,9 +554,9 @@ in regular Ansible:
569554
operations relating to modifying the directory to support cross-account
570555
access are avoided.
571556

572-
* An explicit work-around is included to avoid the `copy` and `template`
573-
actions needlessly triggering a round-trip to set their temporary file as
574-
executable.
557+
* An explicit work-around is included to avoid the :ans:mod:`~copy` and
558+
:ans:mod:`~template` actions needlessly triggering a round-trip to set their
559+
temporary file as executable.
575560

576561
* During task shutdown, it is not necessary to wait to learn if the target has
577562
succeeded in deleting a temporary directory, since any error that may occur
@@ -601,10 +586,10 @@ DNS Resolution
601586
^^^^^^^^^^^^^^
602587

603588
Modifications to ``/etc/resolv.conf`` cause the glibc resolver configuration to
604-
be reloaded via `res_init(3) <https://linux.die.net/man/3/res_init>`_. This
605-
isn't necessary on some Linux distributions carrying glibc patches to
606-
automatically check ``/etc/resolv.conf`` periodically, however it is necessary
607-
on at least Debian and BSD derivatives.
589+
be reloaded via :linux:man3:`res_init`. This isn't necessary on some Linux
590+
distributions carrying glibc patches to automatically check
591+
``/etc/resolv.conf`` periodically, however it is necessary on at least Debian
592+
and BSD derivatives.
608593

609594

610595
``/etc/environment``
@@ -728,9 +713,7 @@ configuration of each task.
728713
Buildah
729714
~~~~~~~
730715

731-
Like `buildah
732-
<https://docs.ansible.com/ansible/2.6/plugins/connection/buildah.html>`_ except
733-
connection delegation is supported.
716+
Like the :ans:conn:`buildah` except connection delegation is supported.
734717

735718
* ``ansible_host``: Name of Buildah container (default: inventory hostname).
736719
* ``ansible_user``: Name of user within the container to execute as.
@@ -771,9 +754,7 @@ When used as the ``mitogen_doas`` connection method:
771754
Docker
772755
~~~~~~
773756

774-
Like `docker
775-
<https://docs.ansible.com/ansible/2.6/plugins/connection/docker.html>`_ except
776-
connection delegation is supported.
757+
Like the :ans:conn:`docker` except connection delegation is supported.
777758

778759
* ``ansible_host``: Name of Docker container (default: inventory hostname).
779760
* ``ansible_user``: Name of user within the container to execute as.
@@ -789,9 +770,7 @@ connection delegation is supported.
789770
FreeBSD Jail
790771
~~~~~~~~~~~~
791772

792-
Like `jail
793-
<https://docs.ansible.com/ansible/2.6/plugins/connection/jail.html>`_ except
794-
connection delegation is supported.
773+
Like the :ans:conn:`jail` except connection delegation is supported.
795774

796775
* ``ansible_host``: Name of jail (default: inventory hostname).
797776
* ``ansible_user``: Name of user within the jail to execute as.
@@ -807,9 +786,7 @@ connection delegation is supported.
807786
Kubernetes Pod
808787
~~~~~~~~~~~~~~
809788

810-
Like `kubectl
811-
<https://docs.ansible.com/ansible/2.6/plugins/connection/kubectl.html>`_ except
812-
connection delegation is supported.
789+
Like the :ans:conn:`kubectl` except connection delegation is supported.
813790

814791
* ``ansible_host``: Name of pod (default: inventory hostname).
815792
* ``ansible_user``: Name of user to authenticate to API as.
@@ -823,9 +800,7 @@ connection delegation is supported.
823800
Local
824801
~~~~~
825802

826-
Like `local
827-
<https://docs.ansible.com/ansible/2.6/plugins/connection/local.html>`_ except
828-
connection delegation is supported.
803+
Like the :ans:conn:`local` except connection delegation is supported.
829804

830805
* ``ansible_python_interpreter``
831806

@@ -852,10 +827,9 @@ additional differences exist that may break existing playbooks.
852827
LXC
853828
~~~
854829

855-
Connect to classic LXC containers, like `lxc
856-
<https://docs.ansible.com/ansible/2.6/plugins/connection/lxc.html>`_ except
857-
connection delegation is supported, and ``lxc-attach`` is always used rather
858-
than the LXC Python bindings, as is usual with ``lxc``.
830+
Connect to classic LXC containers, like the :ans:conn:`lxc` except connection
831+
delegation is supported, and ``lxc-attach`` is always used rather than the LXC
832+
Python bindings, as is usual with ``lxc``.
859833

860834
* ``ansible_python_interpreter``
861835
* ``ansible_host``: Name of LXC container (default: inventory hostname).
@@ -873,10 +847,9 @@ than the LXC Python bindings, as is usual with ``lxc``.
873847
LXD
874848
~~~
875849

876-
Connect to modern LXD containers, like `lxd
877-
<https://docs.ansible.com/ansible/2.6/plugins/connection/lxd.html>`_ except
878-
connection delegation is supported. The ``lxc`` command must be available on
879-
the host machine.
850+
Connect to modern LXD containers, like the :ans:conn:`lxd` except connection
851+
delegation is supported. The ``lxc`` command must be available on the host
852+
machine.
880853

881854
* ``ansible_python_interpreter``
882855
* ``ansible_host``: Name of LXC container (default: inventory hostname).
@@ -1001,8 +974,7 @@ When used as the ``mitogen_sudo`` connection method:
1001974
SSH
1002975
~~~
1003976

1004-
Like `ssh <https://docs.ansible.com/ansible/2.6/plugins/connection/ssh.html>`_
1005-
except connection delegation is supported.
977+
Like the :ans:conn:`ssh` except connection delegation is supported.
1006978

1007979
* ``ansible_ssh_timeout``
1008980
* ``ansible_host``, ``ansible_ssh_host``

0 commit comments

Comments
 (0)