VM template assembly process at glance
By Gabor Puhalla on Jun 29, 2009
Deploy the software in a Virtual Machine according to the technical design and save it, that's really all you need to do.
This is the third 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.
Let us take a look at steps that can lead us to the specific set of VM templates that can satisfy your requirements on a high level. Later blog entries will explain separate steps in greater detail. So, here we go:
- Create JeOS instance: Take an existing JeOS (Just Enough Operating System) VM saved in one specific v12n format. Assign HW resources and set network configuration according to your technical design. We will touch on the OpenSolaris JeOS that we used for building the Web Space Server 10 VM Template in a subsequent entry.
- Add layered software: Install and configure layered software (web containers and/or applications that you want to expose through the template). Create default users.
- Add template internals: Add license and copyright information. Add/modify, start-up scripts. Integrate administration interfaces. Set up the network paramteres. Integrate out-of-the box experience (welcome message to the CLI, start-up gui/web page).
- Clean-up the template: Test the image. Remove hard code (references to the physical machine, where it is deployed). Clean-up log files, test data. Clean-up unused file System space (set zeros).
- Finalize the template: Assign a name to the virtual disk. Integrate license process, if applicable (e.g. license acceptance through capabilities of the OVF format).
- Convert VM: Convert the image to virtualization formats of your choice.
- Compress VMs: Determine the naming convention for your files. Compress to compression formats of your choice.
Well, we probably never followed this process perfectly, when developing the Sun GlassFish Web Space Server 10 VM Template. It was evolving along the development of the VM template and it still keeps improving. Current steps may be changing, new steps may be introduced, terminology may be changing too. It should, however, give a good sense for steps we went through and it could, hopefully, help you starting your VM template development too.
Find the next entry in the series here.