During the SUSE Hack Week 17 i continued the work that i’ve started during the Hack Week 16. In OMV5 the configuration files and services are managed via Salt Stack. This required extensive work in the OMV code base, e.g. all
omv-mkconf scripts had to be rewritten using Jinja2.
The previous command
omv-mkconf to create the configuration files is now superseded by
# omv-mkconf proftpd
# omv-salt deploy run proftpd
You can easily get a list of states via
You can also deploy multiple states at once, e.g.
# omv-salt deploy run nginx interfaces ssh
But the most important and greatest thing is that Salt will take care about that the whole system is in a valid state, this means all configuration files are using the latest data from the database and all services are running or stopped according to the configuration in the database. As a plugin developer it is not necessary anymore to start/stop/restart services on your own in the PHP backend modules, this is done by the Salt states.
omv-salt command also provides the ability to deploy stages. Currently there are 3 stages available:
prepare stage is used to prepare the Salt environment (pillar, modules, states) and the
deploy stage is used to deploy all configuration states at once.
Currently Salt Stack is using Python2 which requires some workarounds in the OMV module because the OMV API is already using Python3, but as soon as Salt is ready for Python3 we will adapt the code and make it use of the OMV Python3 API instead of calling CLI tools.