Many of the jobs in CloudStack are Async jobs. You can query the status /
progress of the job using this API

http://cloudstack.apache.org/docs/api/apidocs-4.2/root_admin/queryAsyncJobR
esult.html

Additionally, you can create VM snapshots in CloudStack too.

All the admin APIs are listed on :
http://cloudstack.apache.org/docs/api/apidocs-4.2/TOC_Root_Admin.html

Thanks,
Amogh

On 6/13/14 1:16 PM, "chris" <[email protected]> wrote:

>So if I understand correctly, what I want to do is something like
>extractVolume, then download the resulting file from the URL in the
>response. It looks like Templates have similar functionality, although I'm
>not sure why I'd use them instead of Volumes.
>
>However, here is my current issue with the .Net SDK: it doesn't have an
>extractVolume command. When I create a custom APIRequest with a command
>parameter of extractVolume (and the other required parameters), the
>response that comes back is an XDocument (not an APIResponse as is stated
>in the design docs), the only element of which is a jobid. I don't see a
>way to query the jobid to get the information that I need.
>
>Any insight would be greatly appreciated.
>
>
>On Fri, Jun 13, 2014 at 11:42 AM, Pierre-Luc Dion <[email protected]>
>wrote:
>
>> Chris,
>>
>> I had to do something similar in Ruby, here is the code:
>> https://gist.github.com/pdion891/793b7d4d1380e3f45c9e
>>
>> This create defined templates from json file in cloudstack which will
>> download it from the URL.
>>
>>
>>
>> Pierre-Luc Dion
>> Architecte de Solution Cloud | Cloud Solutions Architect
>> 855-OK-CLOUD (855-652-5683) x1101
>> - - -
>>
>> *CloudOps*420 rue Guy
>> Montréal QC  H3J 1S6
>> www.cloudops.com
>> @CloudOps_
>>
>>
>> On Fri, Jun 13, 2014 at 12:24 PM, chris <[email protected]> wrote:
>>
>> > Cloudmonkey isn't really an option in my case.
>> >
>> > I wasn't aware that extractVolume could be applied to VMs in anyway.
>>I'll
>> > look into it.
>> >
>> >
>> > On Fri, Jun 13, 2014 at 5:28 AM, Nux! <[email protected]> wrote:
>> >
>> > > Hi,
>> > >
>> > > You can either use the API directly (look at extractVolume) or
>>through
>> > > Cloudmonkey.
>> > > This is how I would use Cloudmonkey to retrieve a volume:
>> > >
>> > > "extract volume id=fe81e6ff-a08f-4601-b2b3-2e02ce2b6588
>> > > zoneid=19345de0-b40b-4cfa-83b6-6d821367afa8 mode=HTTP_DOWNLOAD"
>>which
>> > will
>> > > return:
>> > >
>> > > accountid = 2c4c9cd2-ab73-11e3-b654-9660573836d5
>> > > cmd = org.apache.cloudstack.api.command.user.volume.ExtractVolumeCmd
>> > > created = 2014-06-13T11:24:24+0100
>> > > jobid = 69e6bf53-ab95-44ab-8efc-2f436dba9ecc
>> > > jobprocstatus = 0
>> > > jobresult:
>> > > volume:
>> > > name = ROOT-7
>> > > id = fe81e6ff-a08f-4601-b2b3-2e02ce2b6588
>> > > accountid = 2c4c9cd2-ab73-11e3-b654-9660573836d5
>> > > extractMode = HTTP_DOWNLOAD
>> > > state = DOWNLOAD_URL_CREATED
>> > > url =
>> > >
>> >
>> 
>>https://1-2-3-4.realhostip.com/userdata/32050352-899f-4f56-8e38-018110f8e
>>973.qcow2
>> > > zoneid = 19345de0-b40b-4cfa-83b6-6d821367afa8
>> > > zonename = advsg
>> > > jobresultcode = 0
>> > > jobresulttype = object
>> > > jobstatus = 1
>> > > userid = 2c4cc626-ab73-11e3-b654-9660573836d5
>> > >
>> > > It's the URL field that you are interested in, you can retrieve that
>> > > freely. I do not know if there is an expiry time for it, there might
>> be.
>> > > You can extract templates, snapshots of the volumes of stopped VMs.
>> > >
>> > > HTH
>> > > Lucian
>> > >
>> > >
>> > > --
>> > > Sent from the Delta quadrant using Borg technology!
>> > >
>> > > Nux!
>> > > www.nux.ro
>> > >
>> > >
>> > > ----- Original Message -----
>> > > From: "chris" <[email protected]>
>> > > To: [email protected]
>> > > Sent: Friday, 13 June, 2014 12:19:47 AM
>> > > Subject: Possible to upload/download a VM?
>> > >
>> > > I'm trying to figure out a way to programmatically upload and
>>download
>> VM
>> > > images, and I haven't yet found anything in the docs or playing
>>around
>> in
>> > > the UI that jumps out at me.
>> > >
>> > > To download from OpenStack, the story I would follow is
>> > > 1) Snapshot a VM. This would create an image (or set of images)
>>that I
>> > > could easily download from glance (the image storage service)
>> > > 2) Download the resulting image(s).
>> > >
>> > > Uploading is just as straightforward:
>> > > 1) Upload to glance
>> > > 2) Create an instance.
>> > >
>> > > I can see from what I've looked at so far that CloudStack does
>>things a
>> > bit
>> > > differently. Is there a path to what I want to accomplish?
>>Templates &
>> > > Volumes don't look to have quite what I want, but I could be wrong.
>> > Looking
>> > > at the UI, I couldn't even figure out how to upload local files,
>>only
>> > files
>> > > being served up via HTTP or FTP.
>> > >
>> > > I'm currently using the .NET SDK and CloudStack 4.2.1. I've got to
>>say,
>> > as
>> > > SDKs go, this one has been pretty great to work with. I'm just
>>stumped
>> by
>> > > this task.
>> > >
>> > > Thanks,
>> > > Chris
>> > >
>> >
>>

Reply via email to