May 7th, 2015 by JFrappier

Jonathan Frappier Virtxpert

**Disclaimer: I am an EMC employee, this post was not sponsored or in any way required by my employer, it is my experience getting to know this particular product.**

There were two software related announcements at EMC World this week which I found very exciting. Building on the free for no production use of RecoverPoint for Virtual Machines from VMworld 2014, EMC announced the same for ScaleIO. ScaleIO allows you build your own Hyperconverged Infrastructure solution (HCI). This is the same software used in the new VxRack from VCE which was also announced at EMC World.

CoprHDIn addition to ScaleIO, EMC also announced CoprHD which is an open source version of EMC ViPR (@coprhd). ViPR (which is also free for non production use) is a solution that allows you to manage multiple arrays and present those as virtual volumes to hosts. In addition to managing the arrays, it also provides a self-service and automation at the storage layer. EMC ViPR also supports ScaleIO, assuming this carries over to CoprHD you could deploy a fully managed, and automated storage solution on commodity hardware for test/dev or QA (I hope they publish more specific guidelines on just what they mean by “non-production”).

Last, but not least, the community version of the VNXe which you can use to provide full block and file servers on commodity hardware. The vVNX will later come in a supported ROBO and cloud edition.

My hope is that CoprHD, ScaleIO, and the community edition of the vVNX will lead to more solutions being open sourced and offered in a free to use model. CoprHD should be available on GitHub by June, ScaleIO by the end of May, whereas the vVNX is available now for download.


New free software from EMC to build your own SDS solution

Posted in Tech Tagged with: , , , , , , , , , , , , , , , , , , , , , , , , ,

May 7th, 2015 by JFrappier

Jonathan Frappier Virtxpert

As a Windows user I have been looking for a good markdown tool to write in, however most of the tools freely available have been mediocre at best. Enter Visual Studio Code, a (currently) free download from Microsoft that codesupports Windows, OSX, and Linux (OSX/open source gear heads take notice – write software cross platform!). You can download Code without any login from

Once downloaded, it is a pretty a-typical install, no next, next, next – it just works! The UI takes a bit of poking around to get comfortable with, but after just a few minutes all seemed to be working as expected.

Below you can see an example of some markdown syntax in Code.


The toolbar at the top of the image


allows you to change between split screen or single screen and, as I have done above show a preview of what you are writing. This is just a quick hands on, you can see how simple it is to get started. Now that I have found a tool that seems work properly in Windows, my next step is to find a tool for markdown presentations that is also easy to use (in Windows of course:) )

Hands on with Microsoft Visual Studio Code @code

Posted in Tech Tagged with: , , , , , , , , , ,

February 23rd, 2015 by JFrappier

Jonathan Frappier Virtxpert

During the #vBrownBag DevOps series after-show from my Using Ansible to provision VM’s in vCenter, Mike Marseglia asked about options for linting Ansible playbooks. Since I didn’t know, I thought it would be worthwhile to look into it. There is an Ansible-Lint repo on GitHub, reading through the information, it seemed straight forward. Here I am going to have a look at installing and using it against some example playbooks.

Installation should be easy, assuming you’ve got the correct packages installed, see my previous Ansible posts – if you got through that install, you should be able to install this with a single line:

pip install ansible-lint

Once installed you should now be able to do something like this:

ansible-lint clone-vm.yml

The clone-vm.yml is from my #vBrownBag series. As you can see in this screenshot, it suggests I have some trailing whitespace

ansible-lint-whitespaceOnce I tiddy up the extra whitespace in the playbook, no suggestions are returned.

ansible-lint-fixedThat is a pretty basic example, let’s say I’ve missed something such as a { when using vars_prompt, here you can see I have a missing backet for vm


Once again, now that it is fixed, no suggestions are returned. One thing that at least this specific tool does not help with is spacing errors, so your playbook will need to be valid, running ansible-lint here for example where my spacing is incorrect results in an general Ansible error, though it does point out where the error likely is:


Going forward I’ll certainly be looking into using this when writing a playbook to ensure general recommended practices are adhereed to. I’m still on the lookout for a tool that can help with spacing though!

Ansible-lint for playbooks

Posted in Tech Tagged with: , , , , , , ,

February 23rd, 2015 by JFrappier

Jonathan Frappier Virtxpert

I wanted to share some of the example Ansible playbooks used during last Wednesday’s US #vBrownBag. During the show I went over examples of how you can use Ansible to create, clone, and update virtual machines in vCenter without the need for other provisioning tools. Based on my testing (and I’m still learning as well), the items noted in the comments are the bare minimum needed to run the playbook, even though the official documentation may currently state otherwise. If you are already using Ansible for configuration management, this is a handy option to have as you can perform the provisioning tasks without leaving Ansible.

All playbooks have been uploaded to my GitHub Ansible-Test-Playbooks repository (

#vBrownBag Using Ansible with vCenter Examples

Posted in Tech Tagged with: , , , , , , , , , , , , , , , , , ,

February 5th, 2015 by JFrappier

Jonathan Frappier Virtxpert

During the #vDM30in30 challenge I started playing with Ansible to get to know it a bit better. One of the things I was curious about is the ability for Ansible to provision virtual machines directly to vCenter. After all if I am using Ansible to manage the configuration of my servers, it would certainly be nice to have a playbook that also deploys my virtual machine, rather than another provisioning tool.

If you don’t already have Ansible up and running, you can get the dependencies installed and Ansible project cloned from GitHub pretty easily with a vanilla CentOS box. Once Ansible is running and you have a playbook or two under your belt you can take a read at the Ansible vsphere_guest docs. This particular module is a bit lacking, I hope to add some updates soon and see if they get accepted.

As they mention in the docs, you will need to have pysphere installed; PySphere being a Python API to support interaction with vSphere/vCenter. PySphere is easy to install if you were able to follow along with my Installing Ansible from Git post; simply run

sudo pip install -U pysphere

With PySphere installed, you are now ready to create your playbook. The playbook example in the Ansible docs seemed to be missing something. Recall from my other posts you typically specify a host (linux box, not vSphere host) in your inventory file and direct the playbook that that host or groups of hosts, for example:

- hosts: db
  remote_user: virtxpert
  sudo: yes
  - name: update mysql-libs-latest 
    yum: pkg=mysql-libs state=latest

But, as you can see in the document ion, you specify the vSphere/ESXi host and vCenter server in the vsphere_guest task. So after a few iterations of trying to get that to work, I came across this page on GitHub. It shows what appears to be essentially dummy text to satisfy the host requirements in the playbook. So my playbook ends up looking like this:

- hosts:
  connection: local
  user: root
  sudo: false
  gather_facts: false
  serial: 1

  - vsphere_guest:
      vcenter_hostname: vxprt-vc01.vxprt.local
      username: [email protected]
      password: ********
      guest: testansible
      state: powered_on
        size_gb: 1
        type: thin
        datastore: vxprt-esxi01-gold-local
        type: vmxnet3
        network: vm
        network_type: standard
        memory_mb: 1024
        num_cpus: 1
        osid: centos64Guest
        scsi: paravirtual
        datacenter: dc01
        hostname: vxprt-esxi01.vxprt.local

With this playbook format in place, I am now able to run the playbook and have the virtual machine created in vCenter.

Playbook success provisioning virtual machine to vCenter

Playbook success provisioning virtual machine to vCenter

vCenter with virtual machine provisioned from Ansible playbook

vCenter with virtual machine provisioned from Ansible playbook

Up next, play around with vars_prompt in place of some of the item names so when the playbook is run, it will prompt the user for input and using Ansible to clone an existing vSphere template.

Deploying Virtual Machines to vCenter with Ansible

Posted in Tech Tagged with: , , , , , , , , , , , , , , , ,