It is a disk image (could be raw/cow, preallocated/thin provisioned). But is 
just a file. The REST API doesn't take a file path to convert the disk image 
into a system disk.

-----Original Message-----
From: Itamar Heim [mailto:[email protected]] 
Sent: Monday, January 20, 2014 1:37 PM
To: Satya Vempati; Juan Hernandez; [email protected]
Subject: Re: [Users] Register a disk image via oVirt REST api

On 01/20/2014 11:36 PM, Satya Vempati wrote:
> Well, the crux of the problem is that there doesn't seem to be a way to 
> convert the disk image I have into a disk that the system will recognize.

why, which format is it?

>
> -----Original Message-----
> From: Itamar Heim [mailto:[email protected]]
> Sent: Monday, January 20, 2014 1:32 PM
> To: Satya Vempati; Juan Hernandez; [email protected]
> Subject: Re: [Users] Register a disk image via oVirt REST api
>
> On 01/20/2014 11:30 PM, Satya Vempati wrote:
>> Thanks Juan and Itamar.
>>
>> As Juan said, I am trying take a file that I have that contains the 
>> image of a disk and create a disk in the system with the same content
>>
>>    I am taking a similar approach to the one Juan described. I am creating a 
>> VM and then creating a new disk with the same size and attributes as my disk 
>> image. Then I am replacing the disk image of the new disk with the file that 
>> contains the image of the disk I want.  That seems to work but seemed too 
>> hacky/clumsy. I was hoping there is a more straightforward/clean way to do 
>> this.
>
> you can just place the disk on the storage, register the disk, and attach it 
> to a VM?
>
>>
>> -----Original Message-----
>> From: Juan Hernandez [mailto:[email protected]]
>> Sent: Saturday, January 18, 2014 8:27 AM
>> To: Satya Vempati; [email protected]
>> Cc: Itamar Heim
>> Subject: Re: [Users] Register a disk image via oVirt REST api
>>
>> On 01/17/2014 11:28 PM, Itamar Heim wrote:
>>> On 01/16/2014 07:21 PM, Satya Vempati wrote:
>>>> I have a disk image (i.e. a file) that I want to register as a disk 
>>>> using the REST API.
>>>>
>>>> The REST API works with existing disks, but does the API work with 
>>>> disk images?
>>>
>>> can you pleas explain what do you mean by an image compared to a disk?
>>>
>>
>> I think that what you want is to take a file that you have that contains the 
>> image of a disk and create a disk in the system with the same content.
>>
>> As far as I know we don't have any direct way to do this. You will need to 
>> create an empty disk in oVirt, and then attach it to a virtual machine. Once 
>> it is attached to that virtual machine then you can write to it, but always 
>> via the virtual machine. For example, you can use the API as follows to 
>> create a new disk that isn't attached to any VM:
>>
>> curl \
>> -k \
>> -X POST \
>> -H "Accept: application/xml" \
>> -H "Content-Type: application/xml" \
>> -d "
>> <disk>
>>     <name>newdisk</name>
>>     <size>1073741824</size>
>>     <format>raw</format>
>>     <interface>virtio</interface>
>> </disk>
>> " \
>> -u admin@internal:****** \
>> https://rhel.example.com/api/storagedomains/the_id_of_the_storage_dom
>> a
>> in/disks
>>
>> Then prepare a VM that you will use to copy the contents of your file to the 
>> new disk, and use the API to attach the new disk to this VM (you can 
>> preserve this VM, and use multiple times for this purpose):
>>
>> curl \
>> -k \
>> -X POST \
>> -H "Accept: application/xml" \
>> -H "Content-Type: application/xml" \
>> -d "
>> <disk id='the_id_of_the_disk'/>
>> " \
>> -u admin@internal:****** \
>> https://rhel.example.com/api/vms/the_id_of_the_vm/disks
>>
>> (Note that in order to attach the disk you have to provide the disk 
>> id returned by the API when you created it.)
>>
>> Then activate the disk, so that the VM can see it:
>>
>> curl \
>> -k \
>> -X POST \
>> -H "Accept: application/xml" \
>> -H "Content-Type: application/xml" \
>> -d "
>> <action/>
>> " \
>> -u admin@internal:****** \
>> https://rhel.example.com/api/vms/the_id_of_the_vm/disks/the_id_of_the
>> _
>> disk/activate
>>
>> Now you will have to copy the contents of the file to the disk via the VM. 
>> For example, assuming that you have SSH enabled on that VM and that the disk 
>> device inside the VM is /dev/vdb (it won't allways be this, depends on the 
>> number and order of attached disks) you can do something like this:
>>
>> ssh root@myvm 'cat > /dev/vdb' < myfile.img ssh root@myvm 'sync'
>>
>> Once the contents of the file have been copied you can deactivate the disk 
>> and detach it from this intermediate VM, and maybe attach it to another one.
>>
>> Take into account that all these operations are lengthy ones, specially the 
>> operation to create the disk, and that the RESTAPI will usually return once 
>> the operation is initiated, so you will need to wait till they are finished. 
>> For example, when creating the disk you should poll the state of the VM till 
>> it is "ok".
>>
>> --
>> Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 
>> 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid - C.I.F. 
>> B82657941 - Red Hat S.L.
>>
>

_______________________________________________
Users mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/users

Reply via email to