You will need to clean-up and finalize your VM template, when continuing its development according to the process
introduced in a previous entry of this series.
This is the sixth entry in a series that's objective is to share our
experience with building VM templates. Rather then describing a general
approach or process, we are sharing our experience through the
specific example of building the Sun Glassfish Web Space Server 10 VM
Template that we announced in June this year.
The objective of the clean-up phase is testing your template and removing the garbage that you may have created throughout the development and testing process. We will avoid digging into the testing process since that will be specific to your VM template's requirements and specifications. Cleaning can help reducing the overall size of the image, make the image independent on specifics of your development environment and ease the use. Consider the cleaning the following:
- Logs of the installed software - both the OS and layered software
- Configuration of the installed software - test users, specific host names. etc.
- Unused file system space and swap space of the OS - set zeros
- Virtualization software specific content - making the templates content independent on any given virtualization software (this means inclusion of appropriate drivers for the the virtualization software and appropriate OS configuration)
- Temporary files - e.g. download location of new packages that you were adding to the template during the development process or testing logs
You should also consider disabling services that you don't want to run by default - e.g. SSH or reduce
the number of Apache domains, if you don't use all that are started by
The finalization step (step 5) is straightforward. You will need to chose a reasonable name for the virtual disc included in your VM template. Choosing a generic (platform independent) name can make your life easier. You will save some time and effort on both development and maintenance. You should also think about making your VM template configuration file (e.g OVF) independent on any given virtualization software and integrate your license experience to it too if possible.
You should have your master VM template ready once you are done with these steps. Conversion of the template to virtualization formats of your choice and their compression will be discussed as the next (last) steps in this series.