20 May 2014
Collecting use cases
In my first post I wrote about myself and my attendance in GSoC 2014. I’ve already taken a look at Salt and wrote a proof of concept code. You can find it here.
Recently I met with my mentor and got my first task: collect use cases. The configuration management is a huge area and there is not just one software on the market: Salt, Chef, Puppet, Ansible (these are the most popular ones).
You can find below the summed up use cases that we managed to make up:
- A lot of computers send their logs to a central log server,
- syslog-ng listens on more than one interface and forwards the logs to a central log server,
- you want to do some application layer filtering on log messages,
- you may want to store application specific configuration files under a conf.d directory,
- you might have template configuration files which can be used in more than one place (e.g. data centers),
- grids: you got N new computers then you want them to apply the configuration of the “old” machines.
In the case of Salt, the requirements of a general modul are:
- It should be some sort of high level stuff,
- you may say: “I want a new destination, which is …”,
- the users should have the opportunity to define the desired state (“I want a new destination to be created…”)
- it’d be nice to generate syslog-ng configuration from YAML files,
- you might say: “Here is a file, take this as your config”
- the infrastructure management is very significant. The syslog-ng configuration must be generatable (by using meta data).
I have some ideas about a Jinja templated solution, but I need more information about Salt to implement them. If you have any suggestions, feel free to share it with me!
Till next time,
Tibor Benke
at 00:00