Detaching and Deleting Independent Disks in vCloud Director via REST API

Yesterday while working on one of the production issue where we had to deprovision a tenant environment in vCloud Air, I noticed that independent disks were preventing automated deprovision of the environment and the error messages were loud and clear in the log files.

It was a new issue for me so I started reading about independent disks in vCloud Director and want to share few things about this.

First of all independent Disk feature in vCD is completely different from an Independent Disk in vSphere. Independent disks can be shared across multiple vApps/VM’s in vCloud Director. This feature was first introduced in vCD v5.1.

Following quote from vCloud Architecture Toolkit document rightly explains about independent disks

The use of independent disks with vCloud Director allows updates of virtual machines without impacting the underlying data.

The feature is designed to enable users to create virtual disks which can be attached to and detached from virtual machines. There is no functionality to control this feature from the vCD UI and this can be controlled via API’s only. 

When you create an independent disk, it is associated with an organization vDC but not with a virtual machine. After the disk has been created, the disk owner or an administrator can attach it to any virtual machine deployed in that vDC, detach it from a virtual machine, and remove it from the vDC.

Presence of Independent disks in vCD can be seen on navigating to Org > Administration > Org vDC > Independent Disks tab. If you right click on any of the disk you will not see any action window opening. 


In this post I am going to demonstrate how we can detach/delete independent disks from VM via API calls. Lets get started.

For sake of this demonstration, I have used some hypothetical names for Org and Org vDC.

Step 1: Obtain vCD Auth token code

# curl -sik -H “Accept:application/*+xml;version=5.6” -u “admin@system” -X POST https://vCD-FQDN/api/sessions | grep auth

Enter host password for user ‘admin@system’:

x-vcloud-authorization: Auth

Step 2: Locate your Org 

# curl -sik -H “Accept:application/*+xml;version=5.6” -H “x-vcloud-authorization:Auth-X GET https://vCD-FQDN/api/org/

On using the above API call, you will see a href to all your Org that are present in vCD. For your next query chose the href of the org where independent disks are lying.  

<Org href="https://vCD-FQDN:443/api/org/08356307-2939-42d3-a2a2-aeccef6478e4" name="ABC" type="application/"/>

<Org href="https://vCD-FQDN:443/api/org/2b729e6f-588e-49c4-964f-89b2e744c075" name="DEF" type="application/"/>

<Org href="https://vCD-FQDN:443/api/org/fc432145-f1f3-42f6-a26f-eeb3d306a405" name="GHI" type="application/"/>

Step 3: Locate your Org vDC

# curl -sik -H “Accept:application/*+xml;version=5.6” -H “x-vcloud-authorization: Auth” -X GET https://vCD-FQDN:443/api/org/fc432145-f1f3-42f6-a26f-eeb3d306a405 | grep vdc

<Link rel="down" href="https://vCD-FQDN:443/api/vdc/adf0929b-a107-4671-9f85-b629b744c2b7" name="VDC1" type="application/vnd.vmware.vcloud.vdc+xml"/> read more

Replacing vCD SSL Certificates in a Multi Cell Environment

After a long wait I finally got chance to work on vCloud Director ssl certificates. This was the only component in my lab which was still using self-signed certs and that encouraged me to do something new in lab.

A note on vCD SSL certificates

vCloud Director like any other VMware product needs a certificate to be installed on the device that it uses for communication with the other products. By default vCD uses a self-signed certificate. If you have a certificate authority in your environment then you can get the certs created in advance before installing vCloud director and save your self from pain of messing with certificates at later stages. read more

Troubleshooting Failed Org Network Creation in vCloud Director

Today while working in my lab, I observed that while creating a new VDC in vCD was failing because org network failed to create.

On navigating to Org VDC list and clicking on error, it read the error load and clear that org vdc network can’t be created.


On navigating to Org VDC Networks section and clicking on error, I was able to identify what has caused the network creation failure.


The error stack was reading as below:

[ 114db22d-fc14-4c87-9030-36d2316aff8b ] Cannot deploy organization VDC network (f1514426-647e-4a03-a5a9-fafa4d73bb58)
com.vmware.vcloud.api.presentation.service.InternalServerErrorException: Cannot create network “dvs.VCDVSRouted-NW-9ab02973-9ded-4c4b-8826-4a52bdf2d6cf” from VXLAN network pool “urn:uuid:5c9de104-0f40-4cec-898f-985ee1fce1d6”. Make sure vShield Manager infrastructure is properly configured and there are segment IDs available. read more

Troubleshooting Mysterious Catalog Item in vCloud Director

Few days back while working on one of the customer ticket, I came across an incident where customer was reporting that he is not able to see one of his template in his catalog. He sent the VM via ODT to vCloud Air to be imported in his catalog.

I verified that VM was missing from catalog but was present in vCenter. I tried to import the VM again in Catalog by selecting the option “Import from vSphere” but to my surprise the VM was showing up in the list for selection.

corpsql01 not listing

I have never seen such behaviour in VCD. Even if import of template is failed midway, the item is listed in catalog with a question mark against it and status of item reads as “failed to create read more

Installing RabbitMQ for vCloud Director

In this post we will learn how to install RMQ for vCloud Director. Before jumping into any lab activity, lets learn first what is RabbitMQ nd why we need it.

What is RabbitMQ?

RabbitMQ is an open source message-queuing software which helps in facilitating message exchange between 2 or more applications. The exchange of messages is done via queue which is defined by administrator. An application can publish a message to the queue which can be retrieve or consumed by a different application. read more

Find Snapshot Creation Date of a vCloud Director VM

Last month while working on a customer ticket, I came across a request from customer where he wanted to know snapshot creation date for one of his VM as he can not find this detail from vCD UI.

To confirm this, I logged into vCD and navigated to my test lab to see what are the information available.

On navigating through vCD I found that vCD only tells that whether or not snapshot exists for a vApp/VM.

You can see in below screenshot in top right corner that there is no option for selection snapshot creation date. read more

Storage Migrate a vCloud Director VM using Rest API

If you are using vCloud Director in your environment and if you have ever tried doing a Storage vMotion of a VM from vSphere directly, you will notice a warning saying that its not recommended to modify the entity since its managed by VCD.


This is because of the the fact that with VCD, the management layer lies with itself and not with vSphere. All changes to the entities should be made via vCD and not vSphere.

Although doing a storage migration will not break anything but as a best practice we should avoid that. read more

Delete Stale Org Networks and Edge Gateway from vCloud Director

Today while working in production, I came across an issue where the edge VM’s backing the edge gateway were not present in vCenter (no idea how they got deleted). Due to this I was not able to delete the Org network from vCD. Any attempt to delete the Org network was failing with error


[ f3fcd1fd-cf1c-4a57-a920-504204dceba7 ] Cannot delete organization VDC network DMZ (0dff6592-df7c-4e02-a106-5f0ed722d601)
Cannot update edge gateway "urn:uuid:f41b9f5a-0389-4781-ae0d-4b9cd19e9756" read more

Install vCloud Director 8 with High Availability

vCloud Director 8.0 is the latest version available for service providers and can be downloaded from here.

It’s been quite sometime that I am dealing with vCloud Director in our production environment and as well as my test lab. In past I have written a post on how to install vCloud Director 5.5. You can also read the entire vCloud Director post series from Here

Since v8 is out there in market for sometime, I decided to try my hands on it and implement that in my homelab.

There are various posts available on internet about what is vCloud Director and what it does. So I will not talk much about it and jump directly into action. read more

Unable to start vApp-Invalid vApp properties:Invalid property value size

I recently deployed vSphere replication appliance in vCloud Director and while powering it on I was facing one error

Unable to start vAPP- Invalid vApp properties:Invalid property value size

Due to this power on operation on vApp was failing time and again.

I checked the vCD logs and did not found any error messages for my vApp. All I got was few debug messages:


<em>2016-05-29 09:56:25,597 | INFO | nf-activity-pool-272 | VC20VirtualServer | Created device change list for [name = vrs01 (3fd990d6-6ee2-4618-8446-9067f8ecdd02), valref = [vcId=03dc414f-6385-43e5-b95f-1d7ca8db3aa8, moref=vm-5205]] for synchronizing nics. | requestId=cf0ea3dc-8541-4d5a-b37b-fad3b3cde71b,request=POST https://x.x.x.x/cloud/amf,requestTime=1464515782276,remoteAddress=,userAgent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML…,accept=*/* method=vAppService.updateVAppVmWithStorageClass vcd=1d114aae-e514-4fc6-a30d-8d5fc7c8c286,task=1fb5f553-e269-4a76-8632-ccf9bb1c5b9d activity=(,urn:uuid:1fb5f553-e269-4a76-8632-ccf9bb1c5b9d) activity=(,urn:uuid:56dc4e55-a460-4ac9-9dab-7eb5f76e5248)</em> read more

Building a Private Cloud with vCloud Director-Part 14-Migrating VM from vSphere Infrastructure to private Cloud using vCloud Connector

In our last post  of this series we have learnt what is vCloud connector and what it does.

Now its time to see vCloud Connector in action. In this post we will learn how to migrate a VM from existing vSphere Infrastructure to a private cloud running on vCloud Director.

vCloud Connector has server/node type architecture where there will be one server and one node for each type of cloud. Also we require a node to be deployed for vSphere Infrastructure.

In my last post Installing/Configuring vCloud Connector I have deployed a server and also a node for my vSphere infrastructure. After that we have to deploy a new node for the private cloud (running on vCloud director) read more

Troubleshooting Datastore Cluster Disappearance Issue in vCloud Director

Today I was facing a weird issue in my vCloud Lab. All my datastores have disappeared from vCloud Director and the storage policy was not showing any datastore. I have included a few snapshots from my lab here:

1: Storage Policies was not listing any datastore


2: Selecting Datastore and Datastore Cluster was not listing any datastore either


3: Due to this my Provider vDC was not able to see any datastores


4: And since Provider vDC had no visibility to any datastore, my Organization vDC was throwing this alert read more

Building a Private Cloud with vCloud Director-Part 13-Installing and Configuring vCloud Connector

In this post we will see how to deploy vCloud Connector and use it to facilitate a hybrid cloud architecture. Before going into installation and configuration part first lets see what is vcloud connector

What is vCloud connector?

The VMware vCloud Connector is a tool that facilitates hybrid cloud computing for organizations. The vCloud Connector essentially helps to orchestrate and administer the migration of VM’s across different data centers and clouds.

VMware vCloud Connector links your internal private cloud with public clouds, so you can manage them as a single hybrid environment and transfer workloads back and forth. read more

Importing vApp into vCloud Director catalog from vSphere

In this post I am going to cover how to import a vApp running on vSphere to a catalog in vCloud director.

I have a VM “server2k3” in my vSphere environment which I will be exporting as vApp in my public catalog in vcloud director.


I have selected my organization which have rights to publish catalogs to other organizations in my vCloud director environment. From Catalogs tab I selected option import from vSphere.


from vCenter server list select your vCenter and then select the VM which will be imported. Give a name and description for the imported VM. read more

Building a Private Cloud with vCloud Director-Part 12-Deploying vApps from Catalogs

In our last post Creating and Publishing Catalogs we have seen how to create a public catalog and share it with organizations present in your cloud infrastructure. Also I have populated the public catalog with one server 2003 vApp.

In this post we will see how an organization named “developers” deploy a new vApp from the public catalog that is shared with it. So Lets begin

Login to vcd web interface and go to Manage and Monitor tab and select organizations. In right hand side of the window double click on developers to open it. read more