Creating vSphere VM templates with Packer (part 7) - Further plans

The final (short) post in this series. Now that vSphere templates can be built repeatably, it's time to think about the next steps to take things further.

Creating vSphere VM templates with Packer (part 7) - Further plans

There have been a few challenges and it's been a lot of fun, but now I can build Windows and Linux VM templates in vSphere. Moreover, the process is repeatable and re-useable.

My goal when I started this journey was to simplify the process of creating and updating the templates in my lab. I've done that and it's already paid dividends. Only last week I downloaded a new ISO for Windows Server 2019 that includes all of the latest updates. After a simple change in my JSON file I was able to build new templates that needed only a few patches applying before they were up-to-date.

While I was working through the process outlined in the previous posts in this series I was able to identify a number of plans for taking what I was doing further. The point of this post is just to outline what those plans are.

Other OSs

I've covered Windows Servers and CentOS, but I also want to make sure that I have desktop and server versions of Ubuntu as well as VMware's Photon OS amongst a few others. Partly to see if I can but also because I want to use some of them.

Scheduled / triggered execution with a Code Stream pipeline

What I've done so far still requires me to punch a few keys to kick it off. But what if execution could be triggered via a git merge or commit in to the master branch of my repository? Or, maybe executed on a schedule so that I always have up-to-date templates. I'm planning to achieve this via VMware Code Stream.

Content Libraries in vSphere

How about moving my templates in to a vSphere Content Library automatically? Again, I think that this could be done with Code Stream. It may also be a good use case for VEBA.

Image Profile updates in vRA

While I'm at it, why not get the templates in my vRA 8.x Image Profiles updated automatically?

Environment variables

Grant Orchard called me "dude".

Grant Orchard's reply to my post on Twitter

He also brought up a different way of constructing my Packer templates that I need to learn about.

  1. Introduction
  2. Configuring Packer server and required files
  3. Variables, builders and provisioners
  4. vSphere variables
  5. Windows Server templates
  6. CentOS templates
  7. Further plans (including scheduling packer) <-- $this

My public Packer repository:

mpoore/packer
Packer templates used in my v12n cloud. Contribute to mpoore/packer development by creating an account on GitHub.