Hi everyone,

For a while now, multiple providers and people have been working on command
line libraries (python-novaclient, bototools, etc.) for managing their
services. The problem with those libraries is that each provider exposes
their own interface which is usually a lot different than other libraries.
This makes switching from one library to another or using multiple
libraries at once painful.

I think it's time to build a quality command line library for managing
cloud services built on top of Libcloud.

Goals:

- Support all the services and providers which are supported by Libcloud
- Build it as a framework (reusable components) so other people can use it
as a base for building their own command line libraries
- Expose a standard and easy to use command line interface
- Easy to maintain (no copy and paste, should use introspection wherever
possible) - hopefully we will be able to reuse some of the code from the
GSoC project
- Full test suite
- Support two types of output - friendly human readable output (with colors
and styles if terminal supports it) and machine readable output (JSON)
- Release it as a separate library from Libcloud so it's not tied to the
Libcloud release cycle

As far as the actual coding goes we have two options:

1. Start from scratch
2. Try to re-use Roman's lc-tools library (
https://github.com/novel/lc-tools/)

If we think we should go with #2 we should:

1. Talk to Roman
2. Evaluate how much sense it actually makes a.k.a. does it meet some of
our goals or re-using it will just cause more work

Please provide your comments / feedback / concerns.

Thanks,
Tomaz

Reply via email to