It could be more convenient to have a way to simulate the result of the puppet configuration in a local environment before actually committing it.
The octocalog-diff is working well to see the impacts of a change, but it does not allow to really check if the services will be functional.
The current status of the poc is :
[x] Create a base debian 10 image for virtualbox
[x] Create a vagrant configuration on few servers to test and detect the configurations to adapt
[x] initiate a usage documentation
[] [in progress] adapt the configuration to be able to test locally without interference with the other environments
[] extend the configuration to more servers and iterate on the previous section
Some annoying issues are already detected :
- [fixed] The dns configuration installed on the server is not compatible with local test
- [fixed] The network configuration is defined per host and needs to be adapted to deploy the same server in a different network configuration
- Icinga configuration uses the certificate created by the puppet agent when it talks with the puppet master. In the current POC using only the "puppet apply" way, there are persistent errors complaining for missing files
- For the moment, the provisioning use a script adapted from the octocatalog-diff one, but it forces to commit the changes before being able to test in vagrant, it should be improved to make the provisioning more smooth