Whether you want to build the software, run it, grow the community or just learn more about it, there will be content, workshops and design sessions for you to attend at the OpenStack Summit, Oct 15-18 in San Diego. Stick around Friday for the first OpenStack service day, a 1/2 day beach cleanup.
The current Quantum python client is a very thin wrapper over the API protocol. In Grizzly, we should look improve the python client by making the python library more pythonic and easier to consume by developers. (Note: These changes will fit nicely Ian's proposed session about client lib documentation). In addition to the python library, we will also discuss the CLI and how to improve consistency across the command set.
Python Library Discussion Points:
- The python bindings are a light of a wrapper and leak too much of the wire protocol. For example: client.list_ports() should return a list instead having to do not client.list_ports()['ports'] client.create_port(dict(port=my_port_attributes))
- Adding the specific named params to the client library code. Update the method heirarchy of the client lib to improve code reuse of basic CRUD operations. The interfaces could possibly be created by automatic generation tools. Specific parameter names will help developers understand how the library works.
- Discuss an optional interface to the client bindings that returns proxy objects (ala SQLSoup).
CLI Discussion Points:
- Inconsistent option names
- The parsing frequently breaks on extended attributes if you forget the '--' which is inconsistently used. We should be able to make Cliff parse unknown flags correctly (per Cliff author's Doug H).
- Data type conversions. The CLI should be able to automatically coerce args types vs having to specify type flags such as bool|int.
- Embedded dicts as command line args make the CLI harder to use.
- Better error handling for unknown arguments.
Monday October 15, 2012 1:50pm - 2:30pm