Chef Blogs

kitchen-vra Update

JJ Asghar | Posted on | announcements | community | partners

I’m happy to announce a new feature that has been merged into the upstream kitchen-vra driver. You now have the ability to use the Catalog Names instead of the Catalog IDs for your instances.

If you use VMware vRealize Automation everyday like I do, this is a really important addition to kitchen-vra. I would like to highlight an addition and thank our community member, rupeshpatel88 from Mastercard, for the amazing work. rupeshpatel88 used their knowledge of both Chef and VMware to figure out something that was completely overlooked.

Let me paint a picture of this feature enhancement. Originally, when you set up your.kitchen.yml you would have to do something like the following:

platforms:
  - name: centos7
    transport:
      username: "root"
      password: "Chef1s@wsome"
    driver:
      catalog_id: a42bde94-1e2f-44ca-b79b-dbd1a13cb676
      memory: 4096
      cpus: 2

As you can see, that catalog is a UUID in this example. As a human, that is extremely annoying to use. We did have a couple suggestions to acquire this ID, and some are as follows. First, you could install our knife vrealize plugin, set it up and do something like this:

~$ knife vra catalog list
Catalog ID                            Name                          Description                               Status     Subtenant
a42bde94-1e2f-44ca-b79b-dbd1a13cb676  CentOS7 Base                                                            published
034b0da2-2e18-4519-b99b-6e8f3ecc706a  Windows2012 Base                                                        published

In some cases this works, but in more restrictive environments, you can’t just install more software on your workstations. Instead, we suggest you open up vRA, click on one of the Catalog IDs, and look at the full URL. Take that UUID, like in the below picture, and plug it in to your .kitchen.yml. 

Luckily, this was the past. Thanks to rupeshpatel88 we now have the ability to use the Catalog Name and just put it into your .kitchen.yml The exact same example now is:

platforms:
  - name: centos7
    transport:
      username: "root"
      password: "Chef1s@wsome"
    driver:
      catalog_name: "CentOS7 Base"
      memory: 4096
      cpus: 2

To take advantage of this awesome usability enhancement, please update your kitchen-vra gem. We look forward to continuing improving the integrations we have with VMware and Chef as a community!