Update: As it's an asynchronous job, I just wasn't waiting long enough for it to give me a useful result. Once I did that, the jobresult from queryAsyncJobResult contained the URL along with some other useful info. Thanks all for the input. It was helpful.
The URL itself contains 10-50-66-41.realhostip.com. I assume I'm supposed to convert that to 10.50.66.41? On Fri, Jun 13, 2014 at 4:41 PM, chris <cdca...@gmail.com> wrote: > I did look at that. Unfortunately, I don't see a way to get the file URL > from the job info. > > For this task, I'm just going to try using RestSharp to manually create > REST requests to the API instead of trying to use the SDK. > > > On Fri, Jun 13, 2014 at 4:08 PM, Amogh Vasekar <amogh.vase...@citrix.com> > wrote: > >> 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 >> <http://cloudstack.apache.org/docs/api/apidocs-4.2/root_admin/queryAsyncJobResult.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" <cdca...@gmail.com> 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 <pd...@cloudops.com> >> >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 <cdca...@gmail.com> 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! <n...@li.nux.ro> 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" <cdca...@gmail.com> >> >> > > To: users@cloudstack.apache.org >> >> > > 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 >> >> > > >> >> > >> >> >> >> >