Separating Providers from the Terraform core

Terraform is my favorite tool for infrastructure building and managing. Although I use it mostly for the vSphere and vCloud Director environments (you can see more here), I know that I am far from making full use of it. Hashicorp project is growing so fast, there are some problems with scalability. Moreover, as Hashicorp wrote on their blog, Providers maintaining is quite hard because of their number. Hence decision about separating Providers from the Terraform core. This change will be applied in the 0.10.0-beta1 version of Terraform. This move will help developers not associated with the Hashicorp. No more conflicts with Continue reading

Using Terraform to deploy VM with an additional disk in vSphere

Some time ago I wrote a post, which explains how to deploy VM in vSphere using a Terraform. It’s something like a universal Terraform configuration for vSphere. You don’t need to manually specify any variable. The most vars are based on the variable mappings. Today I want to show you another code – this time you will see how to create a VM with an additional disk. In theory, it doesn’t need many changes, but I am not confined just to create a disk. I also want to make it usable by the Operating System and ensure that disk will Continue reading

Terraform 0.9.0 was released

It has been two weeks since Terraform 0.9.0-beta2 was released, and now we can enjoy a new stable version! It’s a pleasure to say that 3 hours ago Hashicorp has released Terraform 0.9.0. In the current version you can find changes I mentioned in the previous post and of course much more! I think that the most important things in the newest release are Remote Backends and State Locking. Remote Backend replaces remote state and it changes architecture of tracking the state of your infrastructure. You can find more information in the #11286 Pull Request and in official Terraform documentation. There is a Continue reading

Terraform 0.9.0-beta2 was released

Terraform 0.9.0-beta2 was released on 2nd March 2017. It contains some bug fixes (including 0.9.0-beta1 fixes), two features and six improvements. At the same time Hashicorp has released version 0.8.8, which contains, among other, a new provider – Spotinst. Also 0.8.8 version of Terraform introduces a new interpolation – slice. Slice allows you to get “the portion of list between from (inclusive) and to (exclusive)”. Syntax of this interpolation is simple – slice(list, from, to). Moreover there are some new Resources and Data Users and lot of bug fixes. Below you can see the full Release Notes for both versions. If you need more information Continue reading

Deploying vSphere VM with Terraform

Do you know when infrastructure deploying was revolutionized? It was the day when the world saw the Terraform for the first time. Yes, Infrastructure as a Code is a great idea which can simplify our infrastructure provisioning. We can see the full power of the Terraform just with an AWS, but it can be also used with another Cloud Providers. In the Terraform documentation you can find Google Cloud, Digital Ocean, Microsoft Azure, but also private and on-premise providers like Openstack or VMware vSphere. I work with VMware vSphere and VMware vCloud Director, so Terraform is designed for me too! Continue reading

Terraform spec.identity.hostName error with vSphere provider

Today I’ve got a short post. It is especially dedicated to the new Terraform users, who use this tool for automation vSphere virtual machines. It is simply a matter of time till you face this problem. I mean, Terraform spec.identity.hostName error when you try to deploy your vSphere infrastructure. Why? Let me explain. What is the problem? At first I’ll show you the problem. After applying Terraform build, virtual machine is cloning and when a customization operation should start, you see something like this: When does Terraform spec.identity.hostName error appear? I met this problem once and it was caused by my habit and Continue reading