I know the reason why the size of template doesn’t have correct virtual size if 
it’s registered in S3/Swift:
In case of s3/swift, the template is directly stored into s3/swift through 
swift/s3 api, there is no place for cloudstack to look into template, to find 
out the virtual size during template registration.
While, if secondary storage is NFS, the template is first stored on NFS(which 
has file system), cloudstack can unzip the template(if it’s a zipped file), and 
read virtual size from the file, then report back to mgt server.
In order to fix it, we can add some code as: all the templates registered on 
Swift/S3, need to be downloaded to a NFS intermediate storage before it can be 
consumed by primary storage. After the download finished, then we check virtual 
size of template, and report back to mgt server/update DB etc.

From: Mike Tutkowski [mailto:mike.tutkow...@solidfire.com]
Sent: Friday, August 22, 2014 1:38 PM
To: dev@cloudstack.apache.org
Cc: Edison Su
Subject: S3/Swift Problem around Virtual Size

Hi,

This was brought up in a different e-mail thread, but I wanted to make it more 
clear that it's related to CloudStack's download code around S3/Swift, so I'm 
opening up a new thread.

Francois (from CloudOps) noticed today that when he downloaded a template (VHD 
format) to Swift (but it looks like the same applies for S3) that the physical 
and virtual sizes are set to be the same.

This appears to have the following consequence:

You can download a template with a physical size of, say, 3 GB and a root disk 
that's supposed to be, say, 20 GB. Instead of the virtual size showing as 20 
GB, it shows as 3 GB.

This is not an issue with NFS. In that situation, the two sizes are correctly 
accounted for.

What later can happen is the template is downloaded from Swift and takes up an 
unexpected amount of space on the XenServer storage repository (SR).

If there is enough space on the SR, this isn't too big of a deal. However, for 
so-called managed storage plug-ins (examples are SolidFire and CloudByte), this 
will lead to them dynamically creating a SAN volume of the wrong size.

Francois opened up the following ticket:

https://issues.apache.org/jira/browse/CLOUDSTACK-7406

Thanks!

--
Mike Tutkowski
Senior CloudStack Developer, SolidFire Inc.
e: mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>
o: 303.746.7302
Advancing the way the world uses the 
cloud<http://solidfire.com/solution/overview/?video=play>™

Reply via email to