cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rohit Yadav <bhais...@apache.org>
Subject Re: [GSoC] Introduction and Project Discussion
Date Sat, 27 Apr 2013 16:44:27 GMT
Hi Shiva,

On Sat, Apr 27, 2013 at 1:29 AM, Shiva Teja <shivatejau@gmail.com> wrote:

> Hi all,
>
> I am Shiva Teja, an undergrad student from IIT Mandi, India. I will be
> participating in GSoC this year. I'd like to work on the new CloudStack UI
> with bootstrap project[1]. I've been experimenting with API for the past
> few days. After reading a couple of blog posts by Sebastien, his recent
> hack on this[2] and a recent discussion[3] on the mailing list about making
> CloudStack API RESTfull, here are the things I plan to do.
>

Have you started working on your plan or just proposing? Hope you have a
setup and tried CloudStack on DevCloud. For starters I suggest you to
download, build and deploy CloudStack, play around APIs, cloudmonkey (a
CLI) and the API Discovery service because both of your idea proposals are
around APIs.

1. A more "human", RESTfull wrapper API on top of CloudStack API using
> Flask python framework. Something like "GET /users" will directly
> correspond to "listUsers" API command. "DELETE /user/<id>" will correspond
> to the respective "deleteUser" API call.
>

It's tricky, first you should get a full list of entities. It's a lot of
hard work if you do it manually but you can do smartly if you use Api
Discovery. There are more than 300+ APIs in CloudStack, now groupped as per
entities (see a package like org.apache.cloudstack.api.<entitiy>.<api cmd
class>).

So, first you need to classify the entities, get it checked (like write
tests) and then define these operations. Few of us are inclined towards
rewriting an API server that is RESTful and not query based. The challenge
there is to reuse present cmd classes, one way is to use reflections and
another round of api annotations refactoring. Easiest way would be to just
fix/add/reuse Api Discovery, or write something use metaprogamming that
auto generates your wrapper.

I'm floating these ideas so you can think about it and come up with a
strategy that creates maintainable, extendable code which would require
less time to implement it.

2. A complete UI designed using Twitter Bootstrap and Backbone.js.
> Obviously this will use the API that I'll be making.
>

+1 This is a fantastic idea, a better, faster, modular UI that is
responsive is much appreciated and we will have an alternative to the
default one.

Avoid sending direct emails to anyone and feel free to reach out to the dev
ML, email like a boss™.

Happy hacking!

Cheers.

(An app made using Bootstrap and Backbone.js:
> http://coenraets.org/directory/ )
>
> Any suggestions/comments ?
>
> [1] https://issues.apache.org/jira/browse/CLOUDSTACK-1778
> [2] https://github.com/runseb/cloudstack-flask
> [3]
>
> http://mail-archives.apache.org/mod_mbox/cloudstack-dev/201304.mbox/%3C20130424083847.GA11354%40cloud-2.local%3E
>
> Thanks,
> Shiva Teja.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message