One of the things we do a lot of is configure Parallels Plesk Panel. Virtually all of that configuration management is done by running Plesk command line tools or (occasionally) by poking values directly into MySQL tables. Both actions are 100% equivalent to the actions “normally” performed with the file module:
You can use a template to generate 100% of the configuration
You can set the configuration using either the Plesk tools or SQL statements
You can test the configuration using either the Plesk tools or SQL statements
Since you can set+test, you can make an idempotent module
Essentially, Plesk is ripe to be managed by an ansible module except it doesn’t use files.
This makes me think that I should write a Plesk module and, perhaps, a MySQL module (because there are a couple of things that need to be done right at the database level).
One of the things we do a lot of is configure Parallels Plesk Panel. Virtually all of that configuration management is done by running Plesk command line tools or (occasionally) by poking values directly into MySQL tables. Both actions are 100% equivalent to the actions “normally” performed with the file module:
You can use a template to generate 100% of the configuration
You can set the configuration using either the Plesk tools or SQL statements
You can test the configuration using either the Plesk tools or SQL statements
Since you can set+test, you can make an idempotent module
Essentially, Plesk is ripe to be managed by an ansible module except it doesn’t use files.
This makes me think that I should write a Plesk module and, perhaps, a MySQL module (because there are a couple of things that need to be done right at the database level).
What do you think?
Definitely.
A MySQL management module could be very interesting!
The Plesk module should hopefully be able to use plesk commands once the DB is up and not have to resort to SQL commands, which could be more tricky.
There is definitely a need for an accompanying playbook to tie everything together (and this would be great for that contrib repo I’m trying to resurrect too).
A MySQL management module could be very interesting!
Cool. In that case, I will be glad to contribute it once it is written.
The Plesk module should hopefully be able to use plesk commands once the DB is up and not have to resort to SQL commands, which could be more tricky.
I agree. Now if only Parallels would give us 100% control via their API and/or tools. For instance, if the IP address of the server changes (as it does on Amazon EC2 every time an instance restarts), it is darned near impossible to reconfigure Plesk via their supported tools. OTOH, it is trivial to update one line in one MySQL table and then run one Plesk command to update all of the Apache config files and restart Apache.
There is definitely a need for an accompanying playbook to tie everything together (and this would be great for that contrib repo I’m trying to resurrect too).
I will certainly include some playbook examples. Our playbook will end up being very specific to our internal needs.