Return-Path: X-Original-To: apmail-cloudstack-dev-archive@www.apache.org Delivered-To: apmail-cloudstack-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AAC94114F6 for ; Tue, 9 Sep 2014 05:44:12 +0000 (UTC) Received: (qmail 20987 invoked by uid 500); 9 Sep 2014 05:44:12 -0000 Delivered-To: apmail-cloudstack-dev-archive@cloudstack.apache.org Received: (qmail 20943 invoked by uid 500); 9 Sep 2014 05:44:12 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 20823 invoked by uid 99); 9 Sep 2014 05:44:11 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Sep 2014 05:44:11 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of mike.tutkowski@solidfire.com designates 209.85.219.41 as permitted sender) Received: from [209.85.219.41] (HELO mail-oa0-f41.google.com) (209.85.219.41) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Sep 2014 05:43:45 +0000 Received: by mail-oa0-f41.google.com with SMTP id i7so11412131oag.14 for ; Mon, 08 Sep 2014 22:43:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=RdLhY9hixUCpOLhc8EX9c/7yY6Ueprf23paAb08KeG0=; b=F5VF7AJeG0rOZPzL6CtfyVsQpdvkpKAh5nAYAKNVKHRkpLwkVsN30rXUcRdyIsOhpQ HqARvC4ZJ6CGd3fVE9QjLS3g0gD+KhuvD244vrKdRYVQn+PK8n8tmvJZbTavahJf0BZC jieJ6jxRehB9585FlUFdRIDfJ0qPboZtUIH4g0P/G8GlDCuKWAwtdBtD/LBqWE4NRhPp xf0C35i09Rr+vpSf42juO7ZANMQmiiRAtvB1E2z98KFbJx5BtNtXz73Ce3B49rhsi+G4 zQbtZZ8785XG5KS3de/JfJiLim3zux1qSOY4tJPzA0hpnn4I2PB8m9VDMcxx+zAkpJC2 Gtyw== X-Gm-Message-State: ALoCoQkJV+zgtI7xOvygKPtVd+pQFnKvku6e+dsoQ0h7DxXAnjlcUyKRFRJVpIWkFNqz/ZYbLUmK MIME-Version: 1.0 X-Received: by 10.182.224.227 with SMTP id rf3mr8112984obc.70.1410241420875; Mon, 08 Sep 2014 22:43:40 -0700 (PDT) Received: by 10.182.24.106 with HTTP; Mon, 8 Sep 2014 22:43:40 -0700 (PDT) In-Reply-To: References: <77B337AF224FD84CBF8401947098DD8731235398@SJCPEX01CL02.citrite.net> <53FC9336.1020706@cloudops.com> <53FD4C72.9010904@cloudops.com> Date: Mon, 8 Sep 2014 23:43:40 -0600 Message-ID: Subject: Re: S3/Swift Problem around Virtual Size From: Mike Tutkowski To: "dev@cloudstack.apache.org" Cc: Punith S , Francois Gaudreault Content-Type: multipart/alternative; boundary=089e013a05def06f4f05029b6af9 X-Virus-Checked: Checked by ClamAV on apache.org --089e013a05def06f4f05029b6af9 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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.tutkowski@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-storag= e) > 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.neelarapu@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.tutkowski@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 a= ble >> 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-storag= e) >> 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 wo= uld >> just work out naturally. We would look in the DB to see if the virtual s= ize >> 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 proces= s >> 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 >> 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.tutkowski@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 >> > 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.tutkowski@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 >> > > >> >> > > 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 >> > 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" < >> > > >> fgaudreault@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.tutkowski@solidfire.com >> > > >> o: 303.746.7302 >> > > >> Advancing the way the world uses the cloud >> > > >> *=E2=84=A2* >> > > >> >> > > > >> > > > >> > > > >> > > > -- >> > > > regards, >> > > > >> > > > punith s >> > > > cloudbyte.com >> > > > >> > > >> > > >> > > >> > > -- >> > > *Mike Tutkowski* >> > > *Senior CloudStack Developer, SolidFire Inc.* >> > > e: mike.tutkowski@solidfire.com >> > > o: 303.746.7302 >> > > Advancing the way the world uses the cloud >> > > *=E2=84=A2* >> > > >> > >> >> >> >> -- >> *Mike Tutkowski* >> *Senior CloudStack Developer, SolidFire Inc.* >> e: mike.tutkowski@solidfire.com >> o: 303.746.7302 >> Advancing the way the world uses the cloud >> *=E2=84=A2* >> > > > > -- > *Mike Tutkowski* > *Senior CloudStack Developer, SolidFire Inc.* > e: mike.tutkowski@solidfire.com > o: 303.746.7302 > Advancing the way the world uses the cloud > *=E2=84=A2* > --=20 *Mike Tutkowski* *Senior CloudStack Developer, SolidFire Inc.* e: mike.tutkowski@solidfire.com o: 303.746.7302 Advancing the way the world uses the cloud *=E2=84=A2* --089e013a05def06f4f05029b6af9--