vCAC (vRA) Cloud Client is GA!

This is something that has gone a bit under the radar generally speaking (even mine!). A couple of days ago, VMware released its vRealize Cloud Client. But what is it you ask?
Well, essentially cloud client is a tool built to automate various tasks within vCAC 6.X, like:

 

  • Creating blueprints / catalog items
  • Requesting catalog items
  • Activating vCAC Actions on existing items
  • Creating IaaS Endpoints
  • Automate SRM fail-overs under vCAC management(!!!)
  • Launch vCO Workflows (!!!!)
  • Write scripts using cloudclient cli

A Bit of Background

So, this awesome great tool, was initially built internally to help support some of the complex automation we do around here at VMware R&D , hence, cloudclient is now in version v3.0. Personally, I like tools like these, that come out directly from an engineering necessity. Mainly, because they come from the purest of use-cases – our own VMware internal use-cases.

Unlike vCAC CLI which went out as GA with vCAC 6.1, and is also more of a cli tool to operate vCAC’s REST APIs, CloudClient lets you do a lot of things within vCAC , with simple, one-lined commands!

What Can You Use it For?

From a customer perspective, first this tool brings great openstack-novacli-like functionality and can help your developers to consume Infrastructure as a Service, without interacting with the vCAC GUI, and to automate the request of machines using scripts.

So lets say I want to test a build using Jenkins, I can call cloud client from any shell (cmd / linux) or external script, and request a predefined catalog vm for my testing automatically. After that, you can list your items and operate on the VM / MutliMachine environment you got with cloudclient.

Using Cloud Client

First, grab cloudclient ! After you’ve done that, you’ll need to make sure that wherever you run it (bash / cmd ) ‘java’ is set as an operable program – meaning , you have the “C:\program files\Java\jre7\bin\” folder configured to your ‘Path’ environment variable so you can run java.exe from where you’re running cloudclient.

After everything is set, just run cloudclient.bat / cloudclient.sh (and accept the EULA once, be patient! this awesome cli thing is FREE ! )
Once you accepted the EULA, you should see this:

Screen Shot 2014-10-20 at 20.44.07

Next , if you’re wondering about the options in this thing, is to type ‘help’ which will show you all commands available with CloudClient.
Keep in mind, that you can always use the Tab key to auto-complete what commands can come next! Also, if you’re clicking Tab and nothing appears, just try adding minus signs like: “vra command –” and then press tab to see what parameters are available.

In order to log-in to vRA, we’ll type:

[code]vra login userpass –user user@domain.com –password MyPassword –server vcac-va.domain.com –tenant mytenant
[/code]

If you’ve done it right, you should get a ‘Successful’ prompt back! For out next example, lets list all available catalog items:

[code]vra catalog list[/code]

The output should be:
catalog list

And finally, to make a request happen, we’ll need to perform a command similar to this:

[code]vra catalog request submit –groupid vmdemo –id CentOSx64 –reason Because –properties vminfo.project=ERP,provider-VirtualMachine.CPU.Count=2,provider-VirtualMachine.Memory.Size=2048[/code]

Inspecting this command carefully, you can see i’ve submitted a couple of properties with the request:

  • vminfo.project
  • provider-VirtualMachine.CPU.Count
  • provider-VirtualMachine.Memory.Size

So CPU Count & Memory Size are regular vCAC (vRA) properties, though when submitted through API , they need to have the ‘provider-‘ prefix , which is the same as saw when exploring the REST API through Firefox.

Some behaviour changes with 6.0 / 6.1 – In 6.1, if CPU/Memory are not set, request will go through with minimum CPU/Memory for the blueprint. In 6.0 (though I haven’t tested it) I believe the request will fail. So FYI :)

I must say, this is just a very short introduction to cloudclient and it’s capabilities. So go ahead, explore it, and if any more posts are needed – i’ll be sure to write them.

So leave your comments below! If you want, the official download page for CloudClient is linked Here


Comments
Harvey Specter
Posted at 12:52 am October 25, 2014
John
Reply
Author

Is there a way –properties can allow special characters? I have some property values that are just text boxes that will have spaces and some that have email group names. I can’t put single or double quotes around the values. Any ideas on this? You can post back here or post it on twitter. Thanks.

    Harvey Specter
    Posted at 4:59 pm October 25, 2014
    Kushmaro
    Reply
    Author

    i’ll ask the devs on monday, and let you know.

Harvey Specter
Posted at 7:25 pm November 4, 2014
Gary
Reply
Author

Any chance you could use one of the application services catalog items as an example request? I’m digging into it with firebug now but you exposure might come to it quicker than I.

    Harvey Specter
    Posted at 3:54 pm November 6, 2014
    Kushmaro
    Reply
    Author

    It would take me a while to get a working system that contains Applications unfortunately

Harvey Specter
Posted at 12:59 pm November 27, 2014
CraigG
Reply
Author

Interestingly there is an issue with provider-VirtualMachine.LeaseDays:

Hopefully they will fix this at some point!

(‘Error : [Rest Composite Exception]: ( [Rest Error]: {Status code: 400}, {Error code: 20117} , {Error Source: null}, {Error Msg: The data specified within the request is invalid.}, {System Msg: The data specified within the request is invalid.} ) ( [Rest Error]: {Status code: 400}, {Error code: 50505} , {Error Source: null}, {Error Msg: System exception.}, {System Msg: com.vmware.vcac.platform.content.literals.StringLiteral cannot be cast to com.vmware.vcac.platform.content.literals.IntegerLiteral} ) \n’, ”)

Harvey Specter
Posted at 10:23 pm December 2, 2014
Sean
Reply
Author

Also chasing extending lease capability.

Harvey Specter
Posted at 4:09 pm June 22, 2015
Beso
Reply
Author

Hi Kushmaro,
i need your help to resolve an issue.
I’m working on vRA 6.2.1 and i’m trying to test the request of vms from CloudClient but vRA ends the request with the following error: INNER EXCEPTION: Conversion failed when converting from a character string to uniqueidentifier.

I notice that the output of “vra catalog list” is quite different from mine: there is not Business Group nor Business Group ID columns. (Could be this a problem?)

Do you have any suggest to make the CloudClient work?

Thanks a lot,
Stefano

Harvey Specter
Posted at 11:00 pm October 28, 2015
Kristan
Reply
Author

The bug with leasedays is still not fixed as of 3.3.1-2966416

Leave a Reply

Navigation