For the proper automation of a service using puppet, it’s necessary to ensure the service can be installed repeatedly, and that the service is fully up and ready when it is built. To ensure this, I’m using the following process, using nova:
- Create an instance and use it to do experimentation with the service.
- Document the service, along with the installation process on wikitech, after ensuring the service is working properly.
- Create a second instance. Following the documentation written, puppetize the service.
- Create a third instance. Ensure the puppetized service runs properly when initialized from scratch.
- Kill all three instances, and replace the instances in the test cluster.
When a service changes in puppet, follow the above cycle as well.
Using this process, I can be assured the puppet manifests, as written, will allow me to repeatedly install this service.