1

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.

2
  • 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. – Peter Muryshkin Jan 4 '20 at 17:10
  • 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. – Peter Muryshkin Jan 4 '20 at 17:16
2

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, there you can find other agent-less tools.

Not listed on Wikipedia is Fabric, a simple Python library to execute remote shell commands. It is agent-less as well.

1
  • 1
    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 Jan 8 '20 at 15:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.