Return-Path: Delivered-To: apmail-incubator-libcloud-archive@minotaur.apache.org Received: (qmail 89659 invoked from network); 14 Jan 2010 20:56:55 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 14 Jan 2010 20:56:55 -0000 Received: (qmail 88910 invoked by uid 500); 14 Jan 2010 20:56:54 -0000 Delivered-To: apmail-incubator-libcloud-archive@incubator.apache.org Received: (qmail 88879 invoked by uid 500); 14 Jan 2010 20:56:54 -0000 Mailing-List: contact libcloud-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: libcloud@incubator.apache.org Delivered-To: mailing list libcloud@incubator.apache.org Received: (qmail 88869 invoked by uid 99); 14 Jan 2010 20:56:54 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Jan 2010 20:56:54 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of paul@querna.org designates 209.85.211.182 as permitted sender) Received: from [209.85.211.182] (HELO mail-yw0-f182.google.com) (209.85.211.182) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Jan 2010 20:56:46 +0000 Received: by ywh12 with SMTP id 12so30997ywh.21 for ; Thu, 14 Jan 2010 12:56:24 -0800 (PST) MIME-Version: 1.0 Received: by 10.90.240.20 with SMTP id n20mr1430544agh.67.1263502584669; Thu, 14 Jan 2010 12:56:24 -0800 (PST) In-Reply-To: <1263217273.3439.227.camel@urgyen> References: <1263217273.3439.227.camel@urgyen> Date: Thu, 14 Jan 2010 12:56:24 -0800 Message-ID: <4239a4321001141256l2985bc39o138d4bc191c8c6d6@mail.gmail.com> From: Paul Querna To: libcloud@incubator.apache.org Content-Type: text/plain; charset=UTF-8 X-Virus-Checked: Checked by ClamAV on apache.org Subject: Re: [libcloud] Voxel support - how to handle sizes and creates On Mon, Jan 11, 2010 at 5:41 AM, Upayavira wrote: > I've mostly implemented support for Voxel in libcloud. > > I've done everything but create_node and list_sizes, as I haven't yet > worked out how best to implement them. > > My main question is that libcloud expects discrete "sizes", whereas at > Voxel the memory/CPU are not tied to the disk usage. A 10 core device > could have a 10Gb disk while a 1 core device could have a 1Tb disk. Yup, several providers allow this kind of variable NodeSize. I think the best thing we can do is in two parts: 1) Add a features["list_sizes"] dict, with: - variable_disk - variable_cores - variable_memory If these features attributes are set, its an indicator to a user of the driver, they are safe to set arbitrary values on the NodeSize object. 2) We should make a sensible set of default NodeSizes, this is what the vcloud driver does for example with regards to memory. I would suggest just making a set of NodeSizes that is roughly the same as what amazon or rackspace offer. This keeps the library easy to use for people who just want a node quickly, but also provides an API defined way for variable NodeSize objects. Thoughts? Thanks, Paul