vCloud HCL generator for Terraform

vCloud Director is one of the VMware products which help service providers with the public cloud delivery. As with the most VMware products, developers can communicate with it by API. So if something has API, it may have its own Terraform Provider! To be honest, I use vSphere Provider more than vCloud, but sometimes it’s better to use Terraform instead of using GUI or even PowerCLI. Of course, I don’t save the states of my infrastructure, because I don’t need to destroy or change it later, but I can save my time during the creation of new infrastructure. One of Continue reading

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

How to create credentials in Jenkins

Every system, application or another solution has some authentication providers. Sometimes it’s a local password storage, sometimes administrator can implement AD (or another LDAP), Radius, OAuth etc. Nobody can reach the system without username and password, private key, secret token etc. Words below are so obvious that I feel stupid for writing them. But anyway it’s a very important entry into my today post – how to create credentials in Jenkins. Because even Jenkins has to use credentials in its projects and builds. If you have ever used Jenkins, you probably know that you can pass username and password as a 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

Ansible MySQL role – creating databases and users

When you have only one local database server dedicated to your application, there are no problems with creating a database and a user. But the problem appears when we want to create many databases and users manually. Of course we can create a bash script and run it everytime we want to create a new database and user, but there is another and easier way. This way is called Ansible. Ansible is a really helpful and excellent tool for automation. I have tried to use Ansible anytime since I have heard about it the first time. Some time ago I 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

Fun with PowerCLI – how to get Windows VMs in vCloud Director

Honestly speaking, I’m in love with PowerCLI. I know that VMware admin cannot optimize his job without PowerCLI, but in my case it’s a higher level of scripting love. At first, I want to stress that my scripting experience started with Linux systems and its scripting languages. I have been in awe of how excellent PowerShell can be since I decided to simplify my work with Windows Servers. Of course VMware administration has enforced me to become friends with PowerShell. New cmdlets, new possibilities, and – last but not least – the best way for managing and configuring VMware vSphere 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

This article is outdated! Unfortunately, this article is outdated, so please be careful when you will implement this solution! 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 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