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 parameter options is not there in the engine whereas in the schema it is optional
- for StorageDomain.format command 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