Hi all,
a similar question was already posted on Serverfault
(
http://serverfault.com/questions/693698/config-management-for-nfs-root-cluster) but got turned down as being off-topic.
To summarize:
Is Ansible capable of handling diskless clients that only have read-only storage mounted (besides a TMPFS mount)?
===
Long story (Serverfault, but partially rephrased):
I'm running a Linux cluster where each node PXE boots from a NFS share (read-only). Configuration on system boot is done by
scripts within initrd and in /etc/rc.d/ (manually created).
System updates are done within a VM. The VM's filesystem is then copied to a new folder on the NFS share and modified to our
needs. This is currently still done with CFengine2.
I'm looking into freshing up that process. For that I'd like to know if there are other configuration management systems besides
CFengine (2/3) that allow to modify local directory structures (or remote structures that do NOT represent the currently running
system).
As far as I can tell from my quest so far, there are two types of configuration systems that I'd like to call "online" vs.
"offline" or "master/slave" vs. "slave-less" config management systems. (With slave I mean that the configuration is done for the
currently running system, be it via a separate service (Chef / Puppet) or the master connecting to the slave to run system
commands (Ansible / Salt).)
Examples of master/slave systems are Puppet / Chef / Ansible / Salt as their usual Modus Operandi requires one master node that
controls other slave nodes. They also depend on the slave to get back information of the slave's status. One could probably work
around that but as far as I can tell, those systems are not made to handle a huge amount of files / symlink dependencies that are
necessary to provision the NFS folder that acts as root of network booted clients.
CFengine, on the other hand, is a system that allows you to keep the configuration files in a directory structure and copies that
structure into the target directory. It also allows you to manipulate the content of files depending on different circumstances
(yes, other systems allow that, too). As a bonus you can configure other slaves with CFengine as well.
So the question is: does Ansible allow to manage configuration files / folder structures locally (or on several NFS servers, but
only the folder structures, not the servers themselves) without the need for a running slave? If so, how would you configure such
a thing?
Thank you,
Uwe