Yeah, either solution will fix this issue for managed storage in general (ex. SolidFire, CloudByte).
On Tue, Sep 9, 2014 at 9:58 AM, Francois Gaudreault < fgaudrea...@cloudops.com> wrote: > That's great Punith :) > > Thanks for handling this one. I am not too worried about the option, as > long as it fixes SF integration for 4.5 :) > > FG > > On Tue, Sep 9, 2014 at 11:55 AM, Mike Tutkowski < > mike.tutkow...@solidfire.com> wrote: > >> Thanks for the info, Punith! >> >> Does that mean you are fixing the issue via Option2? >> >> On Tue, Sep 9, 2014 at 7:52 AM, Punith S <punit...@cloudbyte.com> wrote: >> >>> yes mike, >>> >>> w.r.t to option 1: >>> it will be like creating a VM w.r.t ISO, where admin will have to >>> specify the os disk(ROOT) disk size. >>> >>> for option 2: >>> i have figured out the issue, post downloading the template to S3, >>> cloudstack will again download the template from S3 to staging nfs store. >>> here we need to access the file and process it with VHD processor in >>> order to calculate the virtualsize but we are skipping this process, >>> hence the virtual size is not being calculated while using the S3 or >>> swift. >>> >>> the templates already present in the staging nfs storage cannot be >>> applied to this process. >>> >>> for option 3: >>> it's convenient to calculate the template virtual size while it is being >>> copied from s3 to staged nfs store instead of staged nfs to primary, >>> since admin might be using more than one primary stores. >>> >>> i'm fixing the issue, will post the patch ASAP for 4.5.snapshot. >>> >>> thanks! >>> >>> On Tue, Sep 9, 2014 at 11:13 AM, Mike Tutkowski < >>> mike.tutkow...@solidfire.com> wrote: >>> >>>> By the way, for anyone new to this issue, this is what we're referring >>>> to here: >>>> >>>> https://issues.apache.org/jira/browse/CLOUDSTACK-7406 >>>> >>>> On Mon, Sep 8, 2014 at 11:41 PM, Mike Tutkowski < >>>> mike.tutkow...@solidfire.com> wrote: >>>> >>>>> Great :) Then a question might be, "Is it too late in the game to >>>>> interrogate the template to discover its virtual size if we're just about >>>>> to copy the template to primary storage?" >>>>> >>>>> If it's not, this might be the place to run the logic to figure out >>>>> the virtual size. >>>>> >>>>> Really, there are three big possibilities: >>>>> >>>>> 1) Just ask the end user to provide the virtual size (not commenting >>>>> here on what happens for already-uploaded templates) >>>>> >>>>> or >>>>> >>>>> 2) Figure out the virtual size when the template is copied from object >>>>> storage to secondary storage and update the DB with this info (not sure >>>>> what happens if the template has already been copied to >>>>> (secondary-storage) >>>>> NFS because it was used before) >>>>> >>>>> or >>>>> >>>>> 3) Figure out the virtual size when the template is about to be copied >>>>> from secondary storage to primary storage >>>>> >>>>> On Mon, Sep 8, 2014 at 11:35 PM, Sanjeev Neelarapu < >>>>> sanjeev.neelar...@citrix.com> wrote: >>>>> >>>>>> Mike, >>>>>> >>>>>> You are right. Template gets copied to (secondary-storage) NFS before >>>>>> being copied to primary storage >>>>>> >>>>>> -Sanjeev >>>>>> >>>>>> -----Original Message----- >>>>>> From: Mike Tutkowski [mailto:mike.tutkow...@solidfire.com] >>>>>> Sent: Tuesday, September 09, 2014 10:55 AM >>>>>> To: dev@cloudstack.apache.org >>>>>> Cc: Punith S; Francois Gaudreault >>>>>> Subject: Re: S3/Swift Problem around Virtual Size >>>>>> >>>>>> Hi Will, >>>>>> >>>>>> Thanks for the input! >>>>>> >>>>>> I like the idea of storing the virtual size as metadata in S3 or >>>>>> Swift although this could require that the end user provide this value >>>>>> when >>>>>> uploading the template. >>>>>> >>>>>> However, if we have the ability to determine the virtual size of the >>>>>> template after it gets downloaded to (secondary-storage) NFS and we're >>>>>> able >>>>>> to update the database with this info, then it would seem we would never >>>>>> need to ask the user for this value. >>>>>> >>>>>> Either way, the tricky part might be if the template in object >>>>>> storage has already been downloaded to (secondary-storage) NFS (say it >>>>>> was >>>>>> used before). In this case, we won't need to download it to >>>>>> (secondary-storage) NFS again (at least not in the same zone), so we >>>>>> won't >>>>>> have an easy opportunity to figure out the virtual size upon download >>>>>> from >>>>>> object storage. >>>>>> >>>>>> I wonder if it's too late in this process if we figured out the >>>>>> virtual size before the copied template (now on (secondary-storage) NFS) >>>>>> gets copied to primary storage. If we could do it at this point, then we >>>>>> wouldn't have to worry about fixing the "legacy" situation because it >>>>>> would >>>>>> just work out naturally. We would look in the DB to see if the virtual >>>>>> size >>>>>> for this template is known and, if not, we could figure out the virtual >>>>>> size before downloading from (secondary-storage) NFS to primary storage >>>>>> each time. (Although I'm thinking this would come too late in the process >>>>>> because we may have already asked the primary-storage plug-in to create >>>>>> the >>>>>> necessary volume.) >>>>>> >>>>>> By the way, I'm assuming that a template gets copied to >>>>>> (secondary-storage) NFS before being copied to primary storage. I'm not >>>>>> super familiar with how this process works. >>>>>> >>>>>> Talk to you later, >>>>>> Mike >>>>>> >>>>>> On Mon, Sep 8, 2014 at 10:59 PM, Will Stevens <wstev...@cloudops.com> >>>>>> wrote: >>>>>> >>>>>> > My two cents on the topic. >>>>>> > >>>>>> > Ideally we would save the size in the object store metadata and >>>>>> > retrieve it from the metadata if it is set. If it is not set in the >>>>>> > object store metadata, then when it is fetched, we have to put it on >>>>>> > NFS and determine the size (then ideally save the metadata back to >>>>>> the >>>>>> > object store) and remove the NFS copy. >>>>>> > >>>>>> > This way the NFS copy approach is only ever done once and then the >>>>>> > data is populated (for backwards compatibility). For all templates >>>>>> > created after the patch, the metadata would be stored and retrieved >>>>>> > without the need for the NFS copy. >>>>>> > >>>>>> > Is this feasible? >>>>>> > >>>>>> > Will >>>>>> > >>>>>> > >>>>>> > *Will STEVENS* >>>>>> > Lead Developer >>>>>> > >>>>>> > *CloudOps* *| *Cloud Solutions Experts >>>>>> > 420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6 w cloudops.com *|* >>>>>> tw >>>>>> > @CloudOps_ >>>>>> > >>>>>> > On Tue, Sep 9, 2014 at 12:48 AM, Mike Tutkowski < >>>>>> > mike.tutkow...@solidfire.com> wrote: >>>>>> > >>>>>> > > Hi Punith, >>>>>> > > >>>>>> > > Thanks for putting in time on this! >>>>>> > > >>>>>> > > So, option 1 occurs after we download the template to S3 or Swift. >>>>>> > > We >>>>>> > then >>>>>> > > have to copy it to NFS so that we can determine the virtual size? >>>>>> > > Relatively slow, but it would work. >>>>>> > > >>>>>> > > If we went this route, would we then delete that template from the >>>>>> > > NFS share since its immediate purpose was so we could figure out >>>>>> the >>>>>> > > virtual size or would we leave it on that share? >>>>>> > > >>>>>> > > Option 2 is to allow the user who uploads such a template to >>>>>> specify >>>>>> > > the size needed for the root disk (i.e. at least the virtual size >>>>>> of >>>>>> > > the template...perhaps larger)? >>>>>> > > >>>>>> > > Does that sound like I understood the options? >>>>>> > > >>>>>> > > Thanks! >>>>>> > > Mike >>>>>> > > >>>>>> > > On Mon, Sep 8, 2014 at 10:34 PM, Punith S <punit...@cloudbyte.com >>>>>> > >>>>>> > wrote: >>>>>> > > >>>>>> > > > hi mike, >>>>>> > > > >>>>>> > > > i have figured out the issue, in NFS secondary storage the >>>>>> virtual >>>>>> > > > size >>>>>> > > is >>>>>> > > > been calculated by the VHD Processor by accessing the vhd >>>>>> template. >>>>>> > > > >>>>>> > > > but in case of S3, cloudstack is not able to access the template >>>>>> > > > but it only gets to know the physical size of the template! >>>>>> > > > >>>>>> > > > in order to solve this, we need to download the template from S3 >>>>>> > > > to another secondary nfs storage and access the template to >>>>>> > > > calculate the virtual size. >>>>>> > > > >>>>>> > > > if the above solution seems to be complicated, we shall have a >>>>>> > > > quick >>>>>> > fix >>>>>> > > > where virtual size i.e the size of the SAN volume shall be >>>>>> > > > created(like small-20g, medium-40g) for people using the >>>>>> templates from S3. >>>>>> > > > >>>>>> > > > any feedback's ? >>>>>> > > > >>>>>> > > > >>>>>> > > > >>>>>> > > > On Tue, Sep 9, 2014 at 6:34 AM, Mike Tutkowski < >>>>>> > > > mike.tutkow...@solidfire.com> wrote: >>>>>> > > > >>>>>> > > >> Hi Punith, >>>>>> > > >> >>>>>> > > >> Have you been able to make any progress with regards to this >>>>>> > > >> Swift/S3 issue? >>>>>> > > >> >>>>>> > > >> Thanks! >>>>>> > > >> Mike >>>>>> > > >> >>>>>> > > >> On Wed, Aug 27, 2014 at 7:43 AM, Punith S >>>>>> > > >> <punit...@cloudbyte.com> >>>>>> > > wrote: >>>>>> > > >> >>>>>> > > >> > hi >>>>>> > > >> > >>>>>> > > >> > think i had a timeout problem! >>>>>> > > >> > on the second try the template has been downloaded to the S3 >>>>>> > > >> > bucket >>>>>> > > and >>>>>> > > >> > the management server shows the status as download complete >>>>>> > > >> > with >>>>>> > > >> template >>>>>> > > >> > size as 1.6G instead of its virtual size 20G. >>>>>> > > >> > >>>>>> > > >> > and i see the template's status as Download Complete but it >>>>>> > > >> > seems it >>>>>> > > is >>>>>> > > >> > not getting installed ! refer the attachment >>>>>> > > >> > >>>>>> > > >> > can anyone explain the "installing template" after the >>>>>> download >>>>>> > > >> completes ? >>>>>> > > >> > >>>>>> > > >> > >>>>>> > > >> > On Wed, Aug 27, 2014 at 9:18 AM, Marcus <shadow...@gmail.com >>>>>> > >>>>>> > wrote: >>>>>> > > >> > >>>>>> > > >> >> Per Edisons comments about not knowing the image size, can't >>>>>> > > >> >> we >>>>>> > just >>>>>> > > >> set >>>>>> > > >> >> some headers and store metadata with the template in S3 to >>>>>> > > >> >> save the virtual size when the template is registered? I'm >>>>>> > > >> >> assuming here that the >>>>>> > SSVM >>>>>> > > >> does >>>>>> > > >> >> the work of pulling the template in and uploading to S3. Or >>>>>> it >>>>>> > could >>>>>> > > be >>>>>> > > >> >> stored in the template table? >>>>>> > > >> >> On Aug 26, 2014 9:11 PM, "Francois Gaudreault" < >>>>>> > > >> fgaudrea...@cloudops.com> >>>>>> > > >> >> wrote: >>>>>> > > >> >> >>>>>> > > >> >> > Looks like your SSVM cannot reach Internet properly? >>>>>> > > >> >> > >>>>>> > > >> >> > FG >>>>>> > > >> >> > >>>>>> > > >> >> > On 2014-08-26, 11:14 AM, Punith S wrote: >>>>>> > > >> >> > >>>>>> > > >> >> >> hi francois, >>>>>> > > >> >> >> >>>>>> > > >> >> >> since i'm not having a swift setup, i'm using the s3 >>>>>> bucket. >>>>>> > > >> >> >> >>>>>> > > >> >> >> and as you recommended i got the SSVM up with seeded nfs >>>>>> > storage, >>>>>> > > >> >> >> >>>>>> > > >> >> >> post that i removed the nfs secondary storage and added >>>>>> the >>>>>> > > >> >> >> S3 >>>>>> > > with >>>>>> > > >> >> >> staging nfs store as the new sec storage, since you >>>>>> cannot >>>>>> > > >> >> >> have >>>>>> > > any >>>>>> > > >> nfs >>>>>> > > >> >> >> secondary storage while using the S3. >>>>>> > > >> >> >> >>>>>> > > >> >> >> on registering the a new template, i'm getting template >>>>>> > > >> >> >> status >>>>>> > > >> >> as*Unable >>>>>> > > >> >> >> to execute HTTP request: No route to host* in >>>>>> > > >> >> >> managementserver.log >>>>>> > > >> >> >> >>>>>> > > >> >> >> 2014-08-26 20:41:07,502 DEBUG >>>>>> [o.a.c.s.RemoteHostEndPoint] >>>>>> > > >> >> >> (Timer-24:ctx-b68380cd) Sending command >>>>>> > > >> org.apache.cloudstack.storage. >>>>>> > > >> >> >> command.DownloadProgressCommand to host: 10 >>>>>> > > >> >> >> 2014-08-26 20:41:07,507 DEBUG [c.c.a.t.Request] >>>>>> > > >> (Timer-24:ctx-b68380cd) >>>>>> > > >> >> >> Seq 10-5684105679694996125: Sending { Cmd , MgmtId: >>>>>> > 52242179434, >>>>>> > > >> via: >>>>>> > > >> >> >> 10(s-142-VM), Ver: v1, Flags: 100011, >>>>>> [{"org.apache.cloudstack. >>>>>> > > >> >> >> >>>>>> > > >> >>>>>> storage.command.DownloadProgressCommand":{"jobId":"d43a17c9-3b03- >>>>>> > > >> 4ff9- >>>>>> > > >> >> >> 8906-e1d155981e86","request":"GET_STATUS","hvm":true," >>>>>> > > >> >> >> >>>>>> > > >> >>>>>> description":"centext","maxDownloadSizeInBytes":53687091200,"id":209," >>>>>> > > >> >> >> resourceType":"TEMPLATE","installPath":"template/tmpl/2/ >>>>>> > > >> >> >> >>>>>> 209/209-2-b624436c-5f37-30d4-8eaf-81582eb0d39d","_store":{" >>>>>> > > >> >> >> >>>>>> com.cloud.agent.api.to.S3TO":{"id":14,"uuid":"e4afd7bb-39ea >>>>>> > > >> >> >> - 4128-ab93-f8a09b1d5e03","bucketName":"test-cloudstack", >>>>>> > > >> >> >> "httpsFlag":false,"created":"Aug 26, 2014 8:16:24 >>>>>> > > >> >> PM","enableRRS":false," >>>>>> > > >> >> >> maxSingleUploadSizeInBytes":5368709120}},"url":"http:// >>>>>> > > >> >> >> >>>>>> download.cloud.com/templates/builtin/centos56-x86_64.vhd.bz >>>>>> > > >> >> >> 2 >>>>>> > > >> >> >> >>>>>> > > >> >> >>>>>> > > >> >>>>>> > > >>>>>> > >>>>>> ","format":"VHD","accountId":2,"name":"209-2-b624436c-5f37-30d4-8eaf-8 >>>>>> > 1582eb0d39d","wait":0}}] >>>>>> > > >> >> >> } >>>>>> > > >> >> >> 2014-08-26 20:41:07,556 DEBUG [c.c.a.t.Request] >>>>>> > > >> >> >> (AgentManager-Handler-10:null) Seq >>>>>> 10-5684105679694996125: >>>>>> > > >> >> Processing: { >>>>>> > > >> >> >> Ans: , MgmtId: 52242179434, via: 10, Ver: v1, Flags: 10, >>>>>> > > >> >> >> [{"com.cloud.agent.api.storage.DownloadAnswer":{" >>>>>> > > >> >> >> jobId":"d43a17c9-3b03-4ff9-8906-e1d155981e86"," >>>>>> > > >> >> >> downloadPct":0,"errorString":"No route to >>>>>> > host","downloadStatus":" >>>>>> > > >> >> >> DOWNLOAD_ERROR","installPath":"template/tmpl/2/209/209-2- >>>>>> > > >> >> >> b624436c-5f37-30d4-8eaf-81582eb0d39d","templateSize": >>>>>> > > >> >> >> 0,"templatePhySicalSize":0,"result":true,"details":"No >>>>>> > > >> >> >> route to host","wait":0}}] } >>>>>> > > >> >> >> >>>>>> > > >> >> >> but i don't see any logging happening in secondary >>>>>> storage >>>>>> > > >> >> >> vm's >>>>>> > > >> >> cloud.log >>>>>> > > >> >> >> >>>>>> > > >> >> >> not sure this error is happening due to S3! >>>>>> > > >> >> >> >>>>>> > > >> >> >> >>>>>> > > >> >> >> thanks! >>>>>> > > >> >> >> >>>>>> > > >> >> > >>>>>> > > >> >> > >>>>>> > > >> >> > -- >>>>>> > > >> >> > Francois Gaudreault >>>>>> > > >> >> > Gestionnaire de Produit | Product Manager - Cloud >>>>>> Platform & >>>>>> > > Services >>>>>> > > >> >> > t:514-629-6775 >>>>>> > > >> >> > >>>>>> > > >> >> > CloudOps Votre partenaire infonuagique | Cloud Solutions >>>>>> > > >> >> > Experts >>>>>> > > >> >> > 420 rue Guy | Montreal | Quebec | H3J 1S6 >>>>>> > > >> >> > w: cloudops.com | tw: @CloudOps_ >>>>>> > > >> >> > >>>>>> > > >> >> > >>>>>> > > >> >> >>>>>> > > >> > >>>>>> > > >> > >>>>>> > > >> > >>>>>> > > >> > -- >>>>>> > > >> > regards, >>>>>> > > >> > >>>>>> > > >> > punith s >>>>>> > > >> > cloudbyte.com >>>>>> > > >> > >>>>>> > > >> >>>>>> > > >> >>>>>> > > >> >>>>>> > > >> -- >>>>>> > > >> *Mike Tutkowski* >>>>>> > > >> *Senior CloudStack Developer, SolidFire Inc.* >>>>>> > > >> e: mike.tutkow...@solidfire.com >>>>>> > > >> o: 303.746.7302 >>>>>> > > >> Advancing the way the world uses the cloud >>>>>> > > >> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>> > > >> >>>>>> > > > >>>>>> > > > >>>>>> > > > >>>>>> > > > -- >>>>>> > > > regards, >>>>>> > > > >>>>>> > > > punith s >>>>>> > > > cloudbyte.com >>>>>> > > > >>>>>> > > >>>>>> > > >>>>>> > > >>>>>> > > -- >>>>>> > > *Mike Tutkowski* >>>>>> > > *Senior CloudStack Developer, SolidFire Inc.* >>>>>> > > e: mike.tutkow...@solidfire.com >>>>>> > > o: 303.746.7302 >>>>>> > > Advancing the way the world uses the cloud >>>>>> > > <http://solidfire.com/solution/overview/?video=play>*™* >>>>>> > > >>>>>> > >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Mike Tutkowski* >>>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>>> e: mike.tutkow...@solidfire.com >>>>>> o: 303.746.7302 >>>>>> Advancing the way the world uses the cloud >>>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> *Mike Tutkowski* >>>>> *Senior CloudStack Developer, SolidFire Inc.* >>>>> e: mike.tutkow...@solidfire.com >>>>> o: 303.746.7302 >>>>> Advancing the way the world uses the cloud >>>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>>> >>>> >>>> >>>> >>>> -- >>>> *Mike Tutkowski* >>>> *Senior CloudStack Developer, SolidFire Inc.* >>>> e: mike.tutkow...@solidfire.com >>>> o: 303.746.7302 >>>> Advancing the way the world uses the cloud >>>> <http://solidfire.com/solution/overview/?video=play>*™* >>>> >>> >>> >>> >>> -- >>> regards, >>> >>> punith s >>> cloudbyte.com >>> >> >> >> >> -- >> *Mike Tutkowski* >> *Senior CloudStack Developer, SolidFire Inc.* >> e: mike.tutkow...@solidfire.com >> o: 303.746.7302 >> Advancing the way the world uses the cloud >> <http://solidfire.com/solution/overview/?video=play>*™* >> > > -- *Mike Tutkowski* *Senior CloudStack Developer, SolidFire Inc.* e: mike.tutkow...@solidfire.com o: 303.746.7302 Advancing the way the world uses the cloud <http://solidfire.com/solution/overview/?video=play>*™*