<p>Regarding <em>no requirements on the target device</em>, of the tools you mention, only Ansible does not need an agent on the host. The minimal requirement to use Ansible modules is Python on the host you want to update. If you don't have Python on hosts you could even send raw commands to the hosts.</p>

<p>Wikipedia has a <a href="https://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software" rel="nofollow noreferrer">list comparing configuration management software</a>, there you can find other agent-less tools.</p>

<p>Not listed on Wikipedia is <a href="http://www.fabfile.org/" rel="nofollow noreferrer">Fabric</a>, a simple Python library to execute remote shell commands. It is agent-less as well.</p>

CC BY-SA 4.0
2020-01-08T15:12:07.510Z
Ansible is very flexible in its support for different passwords and users on various environments, and it supports network devices as well (often with specific modules depending on vendor, but raw mode is a good fallback.)  Ansible can be used in a simple 'run scripts remotely' mode, depending on your needs, or can scale to handle complex requirements like Puppet/Chef, but with less complexity.
RichVel
CC BY-SA 4.0
2020-01-06T06:57:57.190Z
2020-01-06T06:57:57.190Z
conspicillatus
<p>I'm facing the problem, to setup Gateways and Industrial PC's (with SSH access) regularly. All have different default settings. Some have a default root password, some have a default user. Some have a initial fixed IP, some use DHCP.
Some are ARM architecture, some are MIPS. OS varies between Yocto, OpenWRT, Raspian, etc.</p>

<p>I'm looking for a way to somehow script the deployment and execute it automatically.</p>

<p>There are tools like Ansible, Puppet, Chef, etc. but I'm not sure which is best suited for my uscase described above or which isn't at all. In best case the tool has no requirements on the target device and works purely via SSH.</p>

CC BY-SA 4.0
2020-01-04T17:10:19.727Z
Hi and welcome to DevOps Stack SE! Whatever the tooling, so not jump to the implementation to fast. You might want to start with 1) Bring a system to the variety: number of device types per day; is there any number of identical configurations to make x% of all? 2) what is your process, describe what happens exactly before and after you have to do the installation.
Ta Mu
CC BY-SA 4.0
2020-01-04T17:16:55.420Z
To 1) I meant number of devices per day and number of same devices. Could be you might want to capitalize first in understanding "wastes" in your process from Lean point of View.
Ta Mu
<deployment><automation>
How to automatically deploy routers / industrial PC's
Tarion
# How to automatically deploy routers / industrial PC's

(Asked by: username_0 on 2020-01-04)

I'm facing the problem, to setup Gateways and Industrial PC's (with SSH access) regularly. All have different default settings. Some have a default root password, some have a default user. Some have a initial fixed IP, some use DHCP.
Some are ARM architecture, some are MIPS. OS varies between Yocto, OpenWRT, Raspian, etc.

I'm looking for a way to somehow script the deployment and execute it automatically.

There are tools like Ansible, Puppet, Chef, etc. but I'm not sure which is best suited for my uscase described above or which isn't at all. In best case the tool has no requirements on the target device and works purely via SSH.

**Tags:** deployment, automation

> **Comments:**
> **username_1**: Hi and welcome to DevOps Stack SE! Whatever the tooling, so not jump to the implementation to fast. You might want to start with 1) Bring a system to the variety: number of device types per day; is there any number of identical configurations to make x% of all? 2) what is your process, describe what happens exactly before and after you have to do the installation.  
> **username_1**: To 1) I meant number of devices per day and number of same devices. Could be you might want to capitalize first in understanding "wastes" in your process from Lean point of View.  

---

## 1 answers

### Answer by username_2 on 2020-01-06. Score: 2 | Accepted answer

Regarding *no requirements on the target device*, of the tools you mention, only Ansible does not need an agent on the host. The minimal requirement to use Ansible modules is Python on the host you want to update. If you don't have Python on hosts you could even send raw commands to the hosts.

Wikipedia has a [list comparing configuration management software](https://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software), there you can find other agent-less tools.

Not listed on Wikipedia is [Fabric](http://www.fabfile.org/), a simple Python library to execute remote shell commands. It is agent-less as well.

> **Comments:**
> **username_3**: Ansible is very flexible in its support for different passwords and users on various environments, and it supports network devices as well (often with specific modules depending on vendor, but raw mode is a good fallback.)  Ansible can be used in a simple 'run scripts remotely' mode, depending on your needs, or can scale to handle complex requirements like Puppet/Chef, but with less complexity.  

---

