This week I spent some time analyzing the parameters that must be passed to all of the different VDSM API calls. For those involving complex types (dictionaries with required keys, magic strings, etc) I have attempted to document the required format and meaning of the required data. The document is in the ovirt wiki: http://ovirt.org/wiki/Vdsm_datatypes . Please take a look and correct any inaccuracies. Next, I would like to document complex return values.
One of the reasons I have done this work is in an attempt to drive some improvements into the API redesign I am working on. I think the structure of the parameters and return values should be codified somehow. I noticed in storage_connection.py that there is some validation being performed on the connection information. Do people agree that this could be way forward for field validation? Are there better methods? Thanks for your comments on this issue!