GoGrid Management Tools and Library
When we started working with GoGrid, we began using the web interface at my.gogrid.com. It's done pretty well -- powerful and user-friendly. However, after some time we decided to implement our own set of tools -- fortunately, GoGrid provides a great designed API -- for the following reasons:
As a result, now we have a GoGridManager -- a Python module that supports almost all operations provided by the GoGrid API and gg tools -- a set of CLI tools that use GoGridManager.
GoGridManager is also quite easy to use. Here's a basic example:
We have been working for almost half a year now with GoGrid and for many months gg tools has become an everyday tool for us. Recently it was rewritten to use XML responses
from the API and MyGSI support has been added. However, there is a lot of work left to do. For example, Load Balancer API calls are not implemented yet, as we haven't use it so far and
for example, Job and Billing support could be better.
Check GG Tools out on http://github.com/novel/gg/tree/master
Enjoy!
Further reading:
http://wiki.gogrid.com/wiki/index.php/API
http://wiki.gogrid.com/wiki/index.php/MyGSI
- While the UI is good, it has no facilities for automating things. For instance, if you need to create several servers of the same configuration using the web interface you have to create all the servers manually one-by-one, while using gg-tools, you can do something like this:
for i in `seq 5`; do gg-server-add -i 10 -r 2GB -n server$i; done
To create 5 servers with names like server1, server2, ..., server5 of the same configuration. - gg tools allow you to use all the power of the Unix command line. For example, if you need a password for server with ip, say 192.168.0.1, you can do:
gg-password | grep 192.168.0.1
and you will see the password for the required server right on your screen instead of searching in a long list of passwords and servers in the UI. - With the GoGrid UI, you have to remember your login and password. If you're using gg tools, you can configure it once and then do not have to type logins and passwords all the time. If you have it installed on a *nix box with ssh access, you can use it from every place where you have ssh client configured.
As a result, now we have a GoGridManager -- a Python module that supports almost all operations provided by the GoGrid API and gg tools -- a set of CLI tools that use GoGridManager.
GoGridManager is also quite easy to use. Here's a basic example:
(11:53) novel@hybrid:~/zf0 %> python
Python 2.5.2 (r252:60911, Oct 5 2008, 19:24:49)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from GoGridManager import GoGridManager
>>> manager = GoGridManager()
>>> server = manager.get_servers()[0]
>>> print server
server my_go_grid (id = 28940, descr = , state = Started, ip = 173.1.54.221)
>>>
We have been working for almost half a year now with GoGrid and for many months gg tools has become an everyday tool for us. Recently it was rewritten to use XML responses
from the API and MyGSI support has been added. However, there is a lot of work left to do. For example, Load Balancer API calls are not implemented yet, as we haven't use it so far and
for example, Job and Billing support could be better.
Check GG Tools out on http://github.com/novel/gg/tree/master
Enjoy!
Further reading:
http://wiki.gogrid.com/wiki/index.php/API
http://wiki.gogrid.com/wiki/index.php/MyGSI
Labels: cloud, gogrid, python, ~Roman Bogorodskiy

1 Comments:
This post has been removed by a blog administrator.
Post a Comment
Subscribe to Post Comments [Atom]
Links to this post:
Create a Link
<< Home