cloudstack-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chris <cdca...@gmail.com>
Subject Re: Possible to upload/download a VM?
Date Fri, 13 Jun 2014 22:34:49 GMT
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 <cdcasey@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.vasekar@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" <cdcasey@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 <pdion@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 <cdcasey@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! <nux@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" <cdcasey@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
>> >> > >
>> >> >
>> >>
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message