On 11/05/2013 02:12 PM, Piotr Kliczewski wrote:
Recently I compared vdsmapi-schema.json file and the engine code (IVdsServer interface). I wanted to understand how to build json messages from parameters which are provided by the engine interface.
I would like to understand which interface definition is more accurate and update the other to have consistent information.
I am not sure how to map following engine methods to vdsm commands: getHardwareInfo, getAllVmStats, heartBeat, startSpice, getStorageConnectionsList, getStorageDomainsList, getVGList, changeDisk (maybe VM.changeCD?)
I noticed parameter differences between the schema and the engine code:
- for Host.getVMList command there is isFull attribute in the engine
code but it is not in the schema
- for VM.changeCD and VM.changeFloppy commands the schema contains
DriveSpec whereas in the engine code there is imageLocation
- for VM.setTicket command in the engine existingConnAction and
params parameters are optional whereas in the schema are mendatory
- for Host.delNetwork command parameteroptions is not there in the
engine whereas in the schema it is optional
- for StorageDomain.formatcommand there is no autoDetach parameter in
the engine code
- for StoragePool.disconnect command there is no remove parametere in
the engine code
- for StoragePool.create command there is no lockPolicy parameter in
the schema
- for StoragePool.reconstructMaster command there are no lockPolicy
and hostSpmId parameters in the schema
- for StoragePool.getIsoList command there is no
filenameExtension parameter in the engine code
- for StoragePool.spmStart command there are no
storagePoolFormatType and domVersion parameters in the schema
- for StoragePool.fence command there are no prevID and
prevLVER parameters in the schema
All required parameters can be added to following file if missing. vdsm_api/vdsmapi-schema.json
There are some type mismatches:
- for StorageDomainType type is missing some values in the schema
- for Host.getDeviceList command there are different storage types in
the schema and the engine code
In the schema there is vmID parameter multiple times for following commands: VM.create, VM.migrate, VM.hotplugDisk, VM.hotunplugDisk, VM.hotplugNic and VM.hotunplugNic
Where can I find schema like information about all gluster commands?
Gluster related schema definitions is available in vdsm/gluster/vdsmapi-gluster-schema.json (Mapping between schema name and actual function/verb is still in progress)
vdsm-devel mailing list vdsm-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/vdsm-devel