
As an end-user, I'm hoping to eventually see an OCCI-aware ElasticFox (or similar cloud infrastructure provider dashboard) that can be used to view and manage OCCI deployments. (This may just map to a collection of use cases.) I'm comparing the current features of ElasticFox to the features exposed by the proposed API [1] and I note the following about the API: 1. There is no Noun or Attribute for "Security Groups". The API should allow me to define a network security group (consisting of a collection of protocol+port+CIDR specifications), and allow each network interface to belong to multiple security groups. There was some discussion back in May [2] about networking attributes, but it did not get very far. 2. Amazon has distinct nouns for "Volumes" and "Snapshots". Amazon's snapshots are not mountable, you can only "copy"/"clone" (not sure which OCCI verb is the correct one here) an Amazon EBS snapshot into a new EBS drive. The OCCI API seems to imply that the result of the verb "image" on a drive yields another drive. So there may be a need to introduce either a new noun "drive snapshot" that is not linkable to any compute noun, or to otherwise differentiate between drives that are mountable and drives that are not mountable. 3. Similar to #2, but more generally: how can I, the OCCI consumer, know a-priori (without actually doing it) whether the drive that results from "image"ing an existing drive will be linkable (mountable) to my compute resources? Because some providers may produce a full-fledged drive as a result, and some may produce an unmountable "snapshot". Or, put even more generally, is there some meta-information I can probe at the OCCI API level to discover the noun/verb/attribute combinations that are supported by a particular implementation? 4. How will I be able to discover VM images that are appropriate for my "compute"s? For example, Amazon has public AMIs that I can launch on my instances, and I can filter the ElasticFox view to only show me 64-bit AMIs or otherwise filter them by AMI name. Is this use case covered by OVF, or is it more appropriate at the OCCI level? Thanks. .. Shlomo [1] http://forge.ogf.org/sf/wiki/do/viewPage/projects.occi-wg/wiki/APIDesign [2] http://www.ogf.org/pipermail/occi-wg/2009-May/000633.html

On Thu, Jun 25, 2009 at 3:45 PM, <shlomo.swidler@gmail.com> wrote:
As an end-user, I'm hoping to eventually see an OCCI-aware ElasticFox (or similar cloud infrastructure provider dashboard) that can be used to view and manage OCCI deployments. (This may just map to a collection of use cases.)
That sounds like a great use case - please add it to the wiki! I'm considering similar things for Windows (having already done something like this for Google Apps). You've raised some interesting points which I'll split into separate threads. Sam

On Thu, Jun 25, 2009 at 5:05 PM, Sam Johnston<samj@samj.net> wrote:
On Thu, Jun 25, 2009 at 3:45 PM, <shlomo.swidler@gmail.com> wrote:
As an end-user, I'm hoping to eventually see an OCCI-aware ElasticFox (or similar cloud infrastructure provider dashboard) that can be used to view and manage OCCI deployments. (This may just map to a collection of use cases.)
That sounds like a great use case - please add it to the wiki! I'm considering similar things for Windows (having already done something like this for Google Apps).
OK, I took a first stab at specifying the "Management Dashboard" use case: http://forge.ogf.org/sf/wiki/do/viewPage/projects.occi-wg/wiki/ManagementDas... Comments / Revisions welcome. .. Shlomo

On Thu, Jun 25, 2009 at 3:45 PM, <shlomo.swidler@gmail.com> wrote:
3. Similar to #2, but more generally: how can I, the OCCI consumer, know a-priori (without actually doing it) whether the drive that results from "image"ing an existing drive will be linkable (mountable) to my compute resources? Because some providers may produce a full-fledged drive as a result, and some may produce an unmountable "snapshot". Or, put even more generally, is there some meta-information I can probe at the OCCI API level to discover the noun/verb/attribute combinations that are supported by a particular implementation?
We do advertise verbs (e.g. start, stop, restart) via links, and if you do something like a clone you'll discover the clone via the Location: header, but the premise that you can link anything to anything is useful I think (in the worst case you can throw an error). I started thinking about attributes (e.g. state=ready vs state=offline) but then you need rules which is not particularly RESTful... categories are another option (e.g. a "mountable" category or similar). Sam

On Thu, Jun 25, 2009 at 3:45 PM, <shlomo.swidler@gmail.com> wrote:
4. How will I be able to discover VM images that are appropriate for my "compute"s? For example, Amazon has public AMIs that I can launch on my instances, and I can filter the ElasticFox view to only show me 64-bit AMIs or otherwise filter them by AMI name. Is this use case covered by OVF, or is it more appropriate at the OCCI level?
This one I have a better answer for, in that there should be no "start" verb for a template (e.g. AMI), rather only a "clone" verb which returns a Location: to a new compute resource (pre-linked to any storage and network resources as necessary). We could also bundle templates into a pre-defined category, such that machines that are just not startable (e.g. due to permissions, faults, etc.) don't appear as templates. Sam

On Thu, Jun 25, 2009 at 5:34 PM, Sam Johnston<samj@samj.net> wrote:
On Thu, Jun 25, 2009 at 3:45 PM, <shlomo.swidler@gmail.com> wrote:
4. How will I be able to discover VM images that are appropriate for my "compute"s? For example, Amazon has public AMIs that I can launch on my instances, and I can filter the ElasticFox view to only show me 64-bit AMIs or otherwise filter them by AMI name. Is this use case covered by OVF, or is it more appropriate at the OCCI level?
This one I have a better answer for, in that there should be no "start" verb for a template (e.g. AMI), rather only a "clone" verb which returns a Location: to a new compute resource (pre-linked to any storage and network resources as necessary). We could also bundle templates into a pre-defined category, such that machines that are just not startable (e.g. due to permissions, faults, etc.) don't appear as templates.
Sounds strange to me. Sheep aSheep = new Sheep(); Object dolly = aSheep.clone(); I would expect "dolly" to be of type Sheep, the same type as the object that was cloned. Perhaps the verb "instantiate" is more appropriate to describe the act of "using a template". But it's harder to spell. .. Shlomo
participants (2)
-
Sam Johnston
-
shlomo.swidler@gmail.com