Ah…so long since my last post! I have been extremely busy lately – as odd as it is in these times of Covid19 / stay at home (except if you are Mr Cummings of course) etc. … But let’s keep this space PC.
So since I have recently started at a new company, I worked in a few things, but since those are mostly around Active Directory (which is well known enough) I felt no urge to post much. I also learned a lot in terms of web development, but as I did not really had much time to develop any original and meaningful work, I also skipped that.
However as I just did some testing / proof of concept on a project, I thought tho share some of my experiences.
In our current environment we have a hyper-converged infrastructure (this time Simplivity, courtesy of HP, as opposed to VxRail by DELL in my previous work). Of course the questin came forward: how to simplify the VM deployment? As I recently part-took in a workshop on Azure Devops and I already had some tests done on VMWare meets Terraform, I decided to implement this for our environment. I followed the guides part 1 and part 2.
As the guides are as per above, I refrain from repeating the steps in great details. What I would add to them: the example they provide is pretty OK, but it of course needs some customization.
The process loosely follows the guides above. I am using a core win server vm as a build agent. I store the template files on a local repo synced to AzureDevops.
– The build agent executes the work to create the artefacts.
– This is followed by a deployment, where the secrets from the key vault will be inserted into the .tf file during the build, and the agent executes terraform init, plan and deploy processes.
– Finally a cleanup removes residual files from the agent.
At the end of the deployment (process took about 8-9 min, but I guess it depends on the size of the template) I have a nice blank Windows server, joined to our domain.
The biggest caveat I found during the process: Terraform (or the VMWare provider) is extra sensitive about the version of VMware tools – used for the customization. One would imagine 11.0.1 is still OK to use even though the latest version is 11.0.6. Well, not really. I could not copy VM-s that were below this. True, in the cluster I worked there was no 11.0.5 version, so I can’t say if only the latest or only the latest few versions are acceptable. But I can say 11.0.1 was instantly killing my pipeline.
Anyway, I think this is enough from the “devops trenches” for today. Fabrice out.