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
