Description of problem: When trying to create a template from SDK or REST api, there is an option to select the alias of the template's disk. In REST (for example): <template> <name>temp_from_1</name> <vm id='4c5d042e-bd34-4280-a0eb-2985863ffb15'> <disks> <disk id='2b997211-ad7a-48ba-b2f0-cf3264ea4447'> <alias>new_name</alias> </disk> </disks> </vm> </template> The new created template id is: 15c4415c-205d-474d-a626-6b7c29caac94 The response: in /api/templates/15c4415c-205d-474d-a626-6b7c29caac94/disks <disk href= "/api/templates/15c4415c-205d-474d-a626-6b7c29caac94/disks/50bfde29-379b-4cdf-b629-e2538f4464c1" id="50bfde29-379b-4cdf-b629-e2538f4464c1"> <actions> <link href= "/api/templates/15c4415c-205d-474d-a626-6b7c29caac94/disks/50bfde29-379b-4cdf-b629-e2538f4464c1/export" rel="export"/> <link href= "/api/templates/15c4415c-205d-474d-a626-6b7c29caac94/disks/50bfde29-379b-4cdf-b629-e2538f4464c1/copy" rel="copy"/> </actions> <name>vm_99_Disk1</name> ********* NOT AS EXPECTED ********* <template href= "/api/templates/15c4415c-205d-474d-a626-6b7c29caac94" id="15c4415c-205d-474d-a626-6b7c29caac94"/> <alias>vm_99_Disk1</alias> <image_id>eb6bfa68-bfbe-48ba-aa62-3377105383b6</image_id> <storage_domains> <storage_domain id="5b5b33a0-ca1f-476f-82f0-ccb06437283b"/> </storage_domains> <provisioned_size>5368709120</provisioned_size> <actual_size>1073741824</actual_size> <status> <state>ok</state> </status> </disk> Version-Release number of selected component (if applicable): ovirt-engine-3.5.0-0.0.master.20140605145557.git3ddd2de.el6.noarch How reproducible: 100% Steps to Reproduce: 1. POST in /api/templates/ : 1.1 <template> <name>temp_from_1</name> <vm id={vm_id}> <disks> <disk id={disk_id}> <alias>new_name</alias> </disk> </disks> </vm> </template> 2. Check the response body 3. Actual results: In the response body under the vm_id/disks, check the newly created disk's alias Expected results: the disk's alias should be like the alias that sent in the request body Additional info:
This is actually a wider bug than what is described- Any field which is specified in the REST XML regarding the new template's disks is ignored.
The patch added now makes the REST request for a new template to be correlated with the rsdl_metadata file, which specifies what can be posted and what not. Disk's alias is now specified there and can be changed via REST.
This bug has reproduced on ovirt3.6 master. steps taken: curled a Post call to engine [root@ovirt-gofen-2 Rest-Api-Qe]# cat template.xml <template> <name>temp_from_rest</name> <vm id="5e7816d7-12a0-4cb5-ad06-33fbf72077f4"> <disks> <disk id="cb8d7c33-dcc4-4670-8189-05628389f67e"> <alias>new_name</alias> </disk> </disks> </vm> </template> viewed the template object from the ui and rest, disk's original name apears instead of the new name
Apparently this happens only Gluster storage and works on NFS. We will investigate further.
After checking again on Gluster it seemed to work as well. Regarding the test that was made: currently the vm's disk in the tested environment is not "cb8d7c33-dcc4-4670-8189-05628389f67e", so maybe template.xml should be fixed and tested again? (The vm's disk's ID is "0b8550c3-d6a4-401c-9775-eb0541add05d") Maybe there were changes, but it is likely that the environment wasn't change since the test..
verified on oVirt3.6 master
oVirt 3.6.0 has been released on November 4th, 2015 and should fix this issue. If problems still persist, please open a new BZ and reference this one.