I would like to propose to use this thread to gather and discuss software requirements that our clients should meet. Later we'll summarize all the requirements and use them during our work of improving the clients. By reaching listed requirements we'll be able to evaluate the success of our refactoring.
To start this discussion: * API versioning should be encapsulated inside of the client. >From the end user perspective using the code should look something like: import openstack.nova nova = openstack.nova.create_client(...params TBD...) nova.start_server(...) Reasoning for this requirement: If user would have to specify version explicitly his code will only work with specific version of client/api or user would have to write several code paths for different api versions. Implementation: We will have an interface (abstact class) that would contain all the methods available in latest API. Different versions of the API would implement this methods. In case method cannot be implemented with existing API it should raise "UnsupportedOperation" exception. Glossary: user - developer who uses the client/openstack API Please share your thoughts about this requirement/other requirements. Looking forward for your replies, Alexei Kornienko
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev