Enabling VMware Big Data Extensions REST API

The more I have interfaced with the VMware Big Data Extensions application, the more important accessibility to the REST API became. Documentation for the REST API is normally not exposed, but you can enable it with a single command on the management server.

# /opt/serengeti/sbin/cfgrestschema on

You can then access the documentation for the REST API at the following URL: http://bde.localdomain:8080/restschema/service?APPLICATION=BigDataExtensions

Important Note: There is a rather large disclaimer on the main page that the REST API is not supported by VMware.

VMware Big Data Extensions Python REST API Scripts

As part of the work I am doing to get VMware Big Data Extensions to integrate with OpenStack Heat, I had to write several Python scripts to test the REST API that BDE offers. I currently have scripts to create clusters and also start|stop|delete clusters within a vSphere environment.

They are functional and were a good introduction to Python — I’ve been a PERL coder since the mid-1990s — though I am sure there are improvements that could still be made. I have put the scripts up in the Virtual Elephant GitHub repository.

I will make disclaimer that the createRestAPI.py script will not work out of the box for non-Hadoop cluster types, unless you modify several of the jar files BDE uses. I have been able to work with another engineer who assisted me in adding some of functionality that was missing in order to create Mesos clusters.

There will be an upcoming post that will explain how to expand the current REST API to allow for all cluster types that are setup within BDE can be deployed through the API. Adding this functionality has been an important step my integration efforts.

The testing scripts can be downloaded here.

The code can be reviewed after the break.

Continue reading “VMware Big Data Extensions Python REST API Scripts”