Tuesday, June 22, 2010

Daddy, are we there yet?

On any project it's immensely satisfying to reach a well-defined milestone. And so it was with the RHEVM-API project, when my colleague Mark McLoughlin and I got our first milestone out the door yesterday.

So where are we at with this?

Well, 0.9-milestone1 is intended as a way-point to show how the official RESTful API for RHEV-M is evolving. Hopefully it'll motivate a few interested folks who've been sitting on the sidelines to grab a download, explode the tarball and have a quick play with what we've done so far. Maybe even ping us with some feedback on the list. So if you are a RHEV-M user with an eye to the future, here's your chance to get in at the basement and have some real influence on the shape of RESTful interaction with the Red Hat Cloud infrastructure.

For most folks, the API docco will probably be the first port of call (see under docs in the distro, no surprises there). The API reference is a quick read that'll give you a holistic picture of how the API is shaping up. The RESTifarians will immediately note that we've taken a moderately "high REST" approach, nice and HATEOAS-y :)

But if you'd like to get your hands a little dirty, the next step is grab one of our webapps and fire it up in your favorite servlet container (Apache Tomcat, JBoss, whatever takes your fancy). We use RESTEasy as our server-side JAX-RS infrastructure and tie it all together with Spring. We've provided two .war flavors, one that integrates with the RHEV-M PowerShell API (and thus must be run on Windows), and another giving a mocked-up implementation that can be run anywhere and offers a good feel for how the interactions are structured.

On the client side, the best way to get started is to use our interactive CLI shell. Just take a peek at the README under rhevm-admin, then launch bin/rhevm-admin{.bat} and take it from there. The supported commands are are fairly self-evidently named, vms:add, storagedomains:list, networks:remove and the likes, and all provide brief man-page style docco via a useful --help option. Anyone who has previously used the Apache Felix Karaf shell will get a strong sense of déjà vu from the command recall, tab-completion etc. And in the engine room, there's the rock-solid CXF JAX-RS implementation.

So go on, download it and knock yourself out!

No comments:

Post a Comment