@@ -313,12 +313,12 @@ system, or even (yes, really) making sound effects. Some examples are contained
...
@@ -313,12 +313,12 @@ system, or even (yes, really) making sound effects. Some examples are contained
Connection Type Plugins
Connection Type Plugins
-----------------------
-----------------------
By default, ansible ships with a 'paramiko' SSH, native ssh (just called 'ssh'), and 'local' connection type. Release 0.8 also
By default, ansible ships with a 'paramiko' SSH, native ssh (just called 'ssh'), and 'local' connection type, and an accelerated connection type named 'fireball'. All of these can be used
added an accelerated connection type named 'fireball'. All of these can be used
in playbooks and with /usr/bin/ansible to decide how you want to talk to remote machines. The basics of these connection types
in playbooks and with /usr/bin/ansible to decide how you want to talk to remote machines. The basics of these connection types
are covered in the 'getting started' section. Should you want to extend Ansible to support other transports (SNMP? Message bus?
are covered in the 'getting started' section. Should you want to extend Ansible to support other transports (SNMP? Message bus?
Carrier Pigeon?) it's as simple as copying the format of one of the existing modules and dropping it into the connection plugins
Carrier Pigeon?) it's as simple as copying the format of one of the existing modules and dropping it into the connection plugins
directory.
directory. The value of 'smart' for a connection allows selection of paramiko or openssh based on system capabilities, and chooses
'ssh' if OpenSSH supports ControlPersist, in Ansible 1.2.1 an later. Previous versions did not support 'smart'.
@@ -48,10 +48,12 @@ systems). Use this to get an idea what might happen, but is not a substitute fo
...
@@ -48,10 +48,12 @@ systems). Use this to get an idea what might happen, but is not a substitute fo
Connection Type, Connection Plugin
Connection Type, Connection Plugin
++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++
Ansible by default talks to remote machines over SSH using a library called 'paramiko'. It also supports using native OpenSSH,
Ansible by default talks to remote machines through pluggable libraries. Ansible supports native OpenSSH ('ssh'), or a python
which if you have a new-enough open SSH, is equally fast, but also enables some features like Kereberos and jump hosts. This is
implementation called 'paramiko'. OpenSSH is preferred if you have a new-enough open SSH, and also enables some features
govered in the getting started section. There are also other connection types like 'fireball' mode, which must be bootstrapped
like Kereberos and jump hosts. This is covered in the getting started section.
over SSH but is very fast, and local mode, which acts on the local system. Users can also write their own connection plugins.
There are also other connection types like 'fireball' mode, which must be bootstrapped
over one of the SSH based types but is very fast, and local mode, which acts on the local system.
Users can also write their own connection plugins.
Conditionals
Conditionals
++++++++++++
++++++++++++
...
@@ -85,8 +87,9 @@ docs section.
...
@@ -85,8 +87,9 @@ docs section.
Fireball Mode
Fireball Mode
+++++++++++++
+++++++++++++
By default Ansible uses SSH for connections -- either Paramiko (the actual default) or a common alternative, native Open SSH. Some users
By default Ansible uses SSH for connections -- either Paramiko or a common alternative, native Open SSH. (Ansible tries to use
may want to execute operations even faster though, and they can if they opt in on running an ephmeral message bus. What happens is Ansible
'ssh' by default if possible in Ansible 1.2.1 and later, and before defaulted to Paramiko). Some users
may want to execute operations even faster though, and they can if they opt in on running an ephmeral message bus, 'fireball'. What happens is Ansible
will start talking to a node over SSH, and then set up a temporary secured message bus good only to talk from one machine, that will
will start talking to a node over SSH, and then set up a temporary secured message bus good only to talk from one machine, that will
self destruct after a set period of time. This means the bus does not allow management of any kind after the time interval has expired.
self destruct after a set period of time. This means the bus does not allow management of any kind after the time interval has expired.
...
@@ -379,10 +382,10 @@ file transfer) can be achieved with Ansible's copy, template, and fetch resource
...
@@ -379,10 +382,10 @@ file transfer) can be achieved with Ansible's copy, template, and fetch resource
SSH (Native)
SSH (Native)
++++++++++++
++++++++++++
Ansible by default uses Paramiko. Native openssh is specified with "-c ssh" (or a config file, or a directive in the playbook)
Native openssh as an Ansible tranpsort is specified with "-c ssh" (or a config file, or a directive in the playbook)
and can be useful if wanting to login via Kerberized SSH or use SSH jump hosts, etc. Using a client that supports ControlMaster
and can be useful if wanting to login via Kerberized SSH or use SSH jump hosts, etc. In 1.2.1, 'ssh' will be used if the OpenSSH
and ControlPersist is recommended for maximum performance -- if you don't have that and don't need Kerberos, jump hosts, or other
on the control machine is sufficiently new, by default. Previously Ansible selected 'paramiko' as a default.
features, paramiko (the default) is a fine choice. Ansible will warn you if it doesn't detect ControlMaster/ControlPersist capability.
Using a client that supports ControlMaster and ControlPersist is recommended for maximum performance -- if you don't have that and don't need Kerberos, jump hosts, or other features, paramiko (the default) is a good choice. Ansible will warn you if it doesn't detect ControlMaster/ControlPersist capability.
The ssh password to use (this is insecure, we strongly recommend using --ask-pass or SSH keys)
The ssh password to use (this is insecure, we strongly recommend using --ask-pass or SSH keys)
ansible_connection
ansible_connection
Connection type of the host. Candidates are local, ssh or paramiko. Default is paramiko
Connection type of the host. Candidates are local, ssh or paramiko. The default is paramiko before Ansible 1.2, and 'smart' afterwards which detects whether usage of 'ssh' would be feasible based on whether ControlPersist is supported.
ansible_ssh_private_key_file
ansible_ssh_private_key_file
Private key file used by ssh. Useful if using multiple keys and you don't want to use SSH agent.
Private key file used by ssh. Useful if using multiple keys and you don't want to use SSH agent.