Do the target systems need to have pre-requisites installed for Ansible to work?

Hello,

I’m a little confused about how Ansible works: Since its “clientless” it makes it sound like you don’t need to install software on the target hosts in order to run playbooks to configure them. From the documentation:

“Ansible works by connecting to your nodes and pushing out small programs, called “Ansible modules” to them. Ansible then executes these modules (over SSH by default), and removes them when finished.”

This sounds like the only place you would need to install prerequisite software would be on the “control host” where Ansible is installed, not on the remote hosts you want to configure. However, When looking at the documentation for the modules, I see things like this:

“The below requirements are needed on the host that executes this module.”
boto
boto3
botocore
python >= 2.6

What is “the host that executes this module”? Is this the control host where you installed Ansible or the remote host that you want to change with the playbook?

Thank You

I really hate it when people tell me to read the manual, but if you’re a visual learner like me, there are plenty of cheap courses on udemy.com or even free on utube. :blush:

Gaetano Giacalone

LinkedIn

DockerHub

GitHub

Hello,

I’m a little confused about how Ansible works: Since its “clientless” it
makes it sound like you don’t need to install software on the target hosts
in order to run playbooks to configure them. From the documentation:

“Ansible works by connecting to your nodes and pushing out small programs,
called "Ansible modules" to them. Ansible then executes these modules (over
SSH by default), and removes them when finished.”

This sounds like the only place you would need to install prerequisite
software would be on the “control host” where Ansible is installed, not on
the remote hosts you want to configure. However, When looking at the
documentation for the modules, I see things like this:

“The below requirements are needed on the host that executes this module.”
boto
boto3
botocore
python >= 2.6

What is “the host that executes this module”? Is this the control host
where you installed Ansible or the remote host that you want to change with
the playbook?

These are required on the host you want to change.

V/r,
James Cassell

The answer to your question is “Yes and no.”

The actual Ansible software and Ansible modules and Ansible configuration files only get installed on the control host.

The client hosts still need some basic software for Ansible to connect to them and run, such as Python and certain Python modules, and probably SSH keys.

These are usually part of a “base” system install. They aren’t specific to Ansible, so they’re not typically considered “part of an Ansible installation”. But it’s possible that you still need to install a few things on the clients for Ansible to work properly.

I hope that explains it.

–EbH