
At IETF meetings, I've seen the chairs ask people to Hum for one proposal or the other - indicating both number of proponents and their strength of conviction... ;-) -- mark Adrian Cole wrote:
Ahh, ok (sorry... still an OCCI newbie). Disregard my last call to arms.
-Adrian
On Tue, Oct 20, 2009 at 9:56 AM, Sam Johnston <samj@samj.net> wrote:
Adrian,
We don't vote... we discuss our way to consensus and escalate if we fail.
Anyway I've had enough for one day/lifetime and I've got a house full of furniture to build tonight. I do wonder how many people here have actually bothered to read the spec and understand the issues though - if you haven't already then please do so now and speak up if anything doesn't make sense.
Sent from my iPhone
On 20/10/2009, at 18:44, Adrian Cole <adrian@jclouds.org> wrote:
As we aren't introducing new information, I think we are at a point where a vote can take place. This issue isn't infinitely complex, and reasonable to model in choices. OCCI desires to be a community process, so let's see where we fall on this.
Do you agree? -Adrian
On Tue, Oct 20, 2009 at 9:39 AM, Alexis Richardson <alexis.richardson@gmail.com> wrote:
Sam,
On Tue, Oct 20, 2009 at 5:31 PM, Sam Johnston <samj@samj.net> wrote:
Alexis,
Sweeping, unjustified statements are intensely frustrating, not to mention unhelpful in the absence of a coherent alternative. If people choose not to disclose conflicts I happen to be aware of then you bet I'll disclose them for them - nothing personal about it.
I don't know what 'conflicts' you are referring to, or how these relate to the matter at hand. If by 'sweeping, unjustified' you refer to the word 'unprecedented' then I shall justify it by pointing out that - at least as I currently understand it - you are proposing use of headers to a *greater* extent than has been done before and to cover a *greater* set of use cases.
Cutting to the chase, both Microsoft and Amazon are using headers for metadata to the same extent as what has been proposed.
Really - to the "same" extent? That seems contrary to what has been asserted on this thread previously.
What premature optimisation? *Not* using XML? Do we really need to drag that carcass out again? Surely Adrian's performance tests put the last nail in that particular coffin.
Premature optimisation = making performance a critical design concern when we want an API.
I have noted Adrian's points as have others.
The question really is about whether we want to be an interface/ protocol like HTTP or some mongrel hybrid of that along with a set of XML, JSON and/or text formats for everything we ever intend to model (knowing that work has already been done by others).
Work that has been done by others and shown to work, is a good thing.
alexis
Sent from my iPhone
On 20/10/2009, at 18:10, Alexis Richardson <alexis.richardson@gmail.com> wrote:
Sam
Cut the personal stuff please.
Re 'unproven', I think the issues people are having are:
* The extent, scope and purpose of your application of headers to metadata is unprecedented - as I understand it. Nobody is saying it has not been done in other and restricted cases.
* Premature optimisation.
alexis
On Tue, Oct 20, 2009 at 4:44 PM, Sam Johnston <samj@samj.net> wrote:
> Gary, > > Please be specific with your objections so as I can have some > hope of > answering them... "several other emails" does not suffice as to > the > best of my knowledge there are no outstanding issues that I have > not > comprehensively and convincingly dealt with. > > Your repeated assertions than HTTP headers are... what is it > now... > "unproven"... are demonstrably unfounded (refer to the various > cloud > APIs referred to by myself and Adrian, including both MS Azure and > Amazon S3, as well as the history of the Internet in general) and > given the frequency, bordering on FUD. > > Regarding performance, OCCI should strive to be as efficient as > possible as it primarily targets public cloud providers who > operate > at > arbitrarily large "cloud" scale. The existing specification is > *extremely* efficient and alternatives would at least want to be > in > the same neighbourhood. Efficiency may be an inconvenient factor > for > whatever your alternative is, but it's critical for many of our > use > cases. > > Finally, you reject OVF without providing any alternative beyond > building a replacement from scratch ourselves, after our second > and > final deadline has just sailed by no less. Have you considered the > implementation cost of this? And in the same breath you accuse my > proposal of being "unproven"? Give me a break... > > Correct me if I'm wrong but the way I see it is that you want to > revert the last 2-3 months of my work because you have an > investment > in an old version of the spec. With each day I spend on OCCI > costing > me well over €1,000 excuse me for being pissed about someon > e with > such a blatantly obvious conflict attacking my work and refusing > to > provide a coherent argument, particularly with no "camera ready" > alternative anywhere in sight. > > Sent from my iPhone > > On 20/10/2009, at 16:51, Gary Mazz <garymazzaferro@gmail.com> > wrote: > > >> I've understood Sam's proposal from the beginning. I have had >> issue >> with from the beginning. >> >> Although I find it very interesting and valuable in terms of >> economy, I have issue with it as the OCCI's primary interface >> implementation for a few reasons which have been outlined in >> several >> other emails. >> >> It appears that Sam has created a new technology, a lower cost >> RPC >> mechanism, which is unproven for both small and wide scale >> deployment. For interoperability, IMO, occi should focus on >> proven >> mainstream technologies as the primary interfaces. I am not >> suggesting, shelving or not supporting Sam's proposal, based on >> market acceptance, it may prove to be one of many occi interface >> implementations. >> >> As for cost saving in interface technologies, I do not buy into >> the >> idea that the occi traffic will be so overwhelming that there >> is a >> requirement to maximally optimize http requests and responses. >> IMO, >> in comparison to images and consumer data occi traffic will be >> insignificant. I think we are worrying about spilled milk while >> the >> house is burning. >> >> There has been some discussion on supporting technologies >> including >> OVF. Whether occi supports OVF has not been fully discussed, >> examined or any consensus reached. I believe adopting >> technologies >> like OVF will only lead to mapping issues between occi attributes >> and the external formats creating a long term management >> headache. >> >> cheers, >> gary >> >> >> Alexis Richardson wrote: >> >>> OK >>> >>> Is Sam's statement something that we can achieve consensus >>> around? >>> >>> a >>> >>> >>> On Tue, Oct 20, 2009 at 12:47 PM, Sam Johnston <samj@samj.net> >>> wrote: >>> >>> >>>> Alexis, >>>> >>>> Seems our posts crossed in the mail. I hope the last one clears >>>> things up >>>> but the fact that you're using OVF and XML/JSON interchangeably >>>> suggests >>>> that you [are possibly one of many who] don't grok the >>>> proposal. >>>> Worse, it >>>> seems you've got it back to front in thinking of the "core" as >>>> metadata, >>>> which is not at all what I had intended. >>>> >>>> The focus is on the resources and their various >>>> representations. >>>> The >>>> metadata (that is, data about data) essentially provides >>>> whatever is >>>> necessary to "glue" these resources together. It is basically >>>> using HTTP as >>>> the meta-model rather than an envelope format like Atom/SOAP >>>> or, >>>> worse, a >>>> meta-model that we have to create ourselves from scratch. >>>> >>>> So it's more like: >>>> >>>> 1) OCCI is compatible with ALL existing formats, eg OVF >>>> >>>> 2) Existing formats are used are used for ALL representations >>>> >>>> 3) ALL additional metadata should be in the headers >>>> >>>> 4) ALL of the core stuff should be in the body (that is, the >>>> metadata in the >>>> headers is just there to support the data and wire it up in >>>> useful >>>> ways) >>>> >>>> I think the confusion stems from your assuming that there is >>>> still >>>> XML/JSON/Atom/etc. representations. There aren't. HTTP headers >>>> provide a >>>> single, performant, interoperable metadata channel that has >>>> already been >>>> both standardised and extensively implemented. >>>> >>>> If you've followed me this far then you should have realised >>>> that >>>> every HTTP >>>> user agent (e.g. Perl's LWP, Python's urllib2, C's libcurl, >>>> etc.) >>>> is already >>>> a basic OCCI client out-of-the-box. The result is that 5-line >>>> scripts like >>>> demo.py are functional with no dependence on client libraries >>>> (that would >>>> absolutely be necessary if you were to start trying to define >>>> your >>>> own >>>> formats). >>>> >>>> Sam >>>> >>>> PS I'm sorry my "bunk" comment came across as referring to you >>>> personally - >>>> it was directed at the argument. >>>> >>>> On Tue, Oct 20, 2009 at 12:44 PM, Alexis Richardson >>>> <alexis.richardson@gmail.com> wrote: >>>> >>>> >>>>> I think what Sam is proposing is the following: >>>>> >>>>> 1) If OCCI can handle 'any' data representation, eg OVF, XML, >>>>> JSON, >>>>> then it needs some core / common model. Otherwise: there can >>>>> be no >>>>> defined behaviour / interop >>>>> >>>>> 2) This core / common model is ALL metadata >>>>> >>>>> 3) ALL this metadata should be in the headers >>>>> >>>>> 4) ALL the non core stuff eg OVF payload, XML representation, >>>>> should be in >>>>> body >>>>> >>>>> Sam - is that right? >>>>> >>>>> a >>>>> >>>>> >>>>> On Tue, Oct 20, 2009 at 11:39 AM, Sam Johnston <samj@samj.net> >>>>> wrote: >>>>> >>>>> >>>>>> On Tue, Oct 20, 2009 at 12:28 PM, Edmonds, AndrewX >>>>>> <andrewx.edmonds@intel.com> wrote: >>>>>> >>>>>> >>>>>>> To that point I'd ask - If we're talking about meta-data >>>>>>> that >>>>>>> infers >>>>>>> there >>>>>>> is some data to accompany it. Where are the examples of this >>>>>>> data? This >>>>>>> would help in forming the full picture. >>>>>>> >>>>>>> >>>>>> Here, from the core spec (using OVF as an example, but >>>>>> could be >>>>>> anything). >>>>>> Request is green, response metadata is yellow & response >>>>>> data/ >>>>>> payload is >>>>>> orange: >>>>>> >>>>>> >>>>>> >>>>>>> GET /us-east/webapp/vm01 HTTP/1.1 >>>>>>> User-Agent: occi-client/1.0 (linux) libcurl/7.19.4 OCCI/1.0 >>>>>>> Host: cloud.example.com >>>>>>> Accept: */* >>>>>>> >>>>>>> >>>>>> < HTTP/1.1 200 OK >>>>>> < Date: Sat, 10 Oct 2009 12:56:51 GMT >>>>>> >>>>>> < Content-Type: application/ovf >>>>>> < Link: </us-east/webapp/vm01;start>; >>>>>> >>>>>> < rel="http://purl.org/occi/action/start"; >>>>>> < title="Start" >>>>>> >>>>>> < Link: </us-east/webapp/build.pdf>; >>>>>> < rel="related"; >>>>>> >>>>>> < title="Documentation"; >>>>>> < type="application/pdf" >>>>>> >>>>>> < Category: compute; >>>>>> < label="Compute Resource"; >>>>>> >>>>>> < scheme="http://purl.org/occi/kind/" >>>>>> < Server: occi-server/1.0 (linux) OCCI/1.0 >>>>>> >>>>>> < Connection: close >>>>>> < >>>>>> < <?xml version="1.0" encoding="UTF-8"?> >>>>>> >>>>>> < <Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema- >>>>>> instance" >>>>>> < xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/ >>>>>> 1" >>>>>> >>>>>> < xmlns="http://schemas.dmtf.org/ovf/envelope/1" >>>>>> < xml:lang="en-US"> >>>>>> >>>>>> ... >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> -----Original Message----- >>>>>>> From: occi-wg-bounces@ogf.org [mailto:occi-wg- >>>>>>> bounces@ogf.org] On >>>>>>> Behalf >>>>>>> Of Alexis Richardson >>>>>>> Sent: 20 October 2009 09:49 >>>>>>> To: Sam Johnston >>>>>>> Cc: Tim Bray; occi-wg@ogf.org >>>>>>> Subject: Re: [occi-wg] confusion about status of link / >>>>>>> headers >>>>>>> >>>>>>> Sam, >>>>>>> >>>>>>> Please don't throw around words like "bunk" willy nilly. >>>>>>> >>>>>>> I have just had a look at >>>>>>> http://www.rackspacecloud.com/cloud_hosting_products/ >>>>>>> servers/ >>>>>>> api >>>>>>> >>>>>>> I can see some limited use of headers for metadata in a few >>>>>>> places. >>>>>>> That's never been controversial. But the understanding >>>>>>> that I >>>>>>> have of >>>>>>> your proposal is to use headers wholesale for all metadata. >>>>>>> Rackspace >>>>>>> don't appear to do that, unless I have misunderstood their >>>>>>> document. >>>>>>> I also may have misunderstood your proposal. If nobody >>>>>>> understands >>>>>>> your proposal except you, then it will not be possible to >>>>>>> gain >>>>>>> consensus around it. >>>>>>> >>>>>>> Are you saying "OCCI metadata should be more like Rackspace >>>>>>> metadata"? >>>>>>> >>>>>>> alexis >>>>>>> >>>>>>> >>>>>>> On Tue, Oct 20, 2009 at 9:07 AM, Sam Johnston >>>>>>> <samj@samj.net> >>>>>>> wrote: >>>>>>> >>>>>>> >>>>>>>> On Tue, Oct 20, 2009 at 9:55 AM, Alexis Richardson >>>>>>>> <alexis.richardson@gmail.com> wrote: >>>>>>>> >>>>>>>> >>>>>>>>> What about compute clouds? >>>>>>>>> >>>>>>>>> >>>>>>>> Rackspace Cloud API for a start: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> HTTP/1.1 204 No Content >>>>>>>>> Date: Mon, 12 Nov 2007 15:32:21 GMT >>>>>>>>> Server: Apache >>>>>>>>> X-Server-Management-Url: >>>>>>>>> https://servers.api.rackspacecloud.com/v1.0/35428 >>>>>>>>> X-Storage-Url: https://storage.clouddrive.com/v1/CloudFS_9c83b-5ed4 >>>>>>>>> X-CDN-Management-Url: >>>>>>>>> https://cdn.clouddrive.com/v1/CloudFS_9c83b-5ed4 >>>>>>>>> X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb >>>>>>>>> Content-Length: 0 >>>>>>>>> Content-Type: text/plain; charset=UTF-8 >>>>>>>>> >>>>>>>>> >>>>>>>> Microsoft Azure uses headers for "attributes" as well, in >>>>>>>> the >>>>>>>> same >>>>>>>> way >>>>>>>> as I >>>>>>>> had originally proposed: >>>>>>>> >>>>>>>> x-ms-meta-name: value Returns a metadata value for the >>>>>>>> container. >>>>>>>> >>>>>>>> However prefer that the header names are static/opaque >>>>>>>> rather >>>>>>>> than >>>>>>>> using >>>>>>>> a >>>>>>>> template and parsing them: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Attribute: name=value >>>>>>>>> >>>>>>>>> >>>>>>>> This to me is cleaner and more self-explanatory, plus it is >>>>>>>> easily >>>>>>>> collapsed >>>>>>>> ala: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Attribute: name1=value1, name2=value2, ... namen=valuen >>>>>>>>> >>>>>>>>> >>>>>>>> Anyway suffice to say that claims this is somehow >>>>>>>> "experimental" are >>>>>>>> bunk. >>>>>>>> >>>>>>>> Sam >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> On Tue, Oct 20, 2009 at 6:19 AM, Adrian Cole <adrian@jclouds.org >>>>>>>>> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>>> Here are options for metadata used in some of the major >>>>>>>>>> storage >>>>>>>>>> clouds >>>>>>>>>> FWIW: >>>>>>>>>> >>>>>>>>>> S3, Rackspace, EMC Atmos, Azure - Headers >>>>>>>>>> Nirvanix - query params in, xml entity out >>>>>>>>>> Mezeo - entity >>>>>>>>>> >>>>>>>>>> Of the ones using headers, S3, Rackspace and Azure use >>>>>>>>>> prefix with >>>>>>>>>> values stored as-us. Atmos joins all metadata together >>>>>>>>>> into >>>>>>>>>> one >>>>>>>>>> header, making parsing trivial (split /,/), but >>>>>>>>>> necessary. >>>>>>>>>> >>>>>>>>>> The most expensive option of the above is entity, where >>>>>>>>>> each >>>>>>>>>> metadata >>>>>>>>>> value is a separate GET. However, entities allow binary >>>>>>>>>> metadata >>>>>>>>>> and >>>>>>>>>> zero restrictions on it, which may be useful. >>>>>>>>>> >>>>>>>>>> In jclouds, we time parsing of response values. A simple >>>>>>>>>> XML doc >>>>>>>>>> with >>>>>>>>>> only several elements written in SAX takes a few ms to >>>>>>>>>> parse. My >>>>>>>>>> log >>>>>>>>>> files are not precise enough to find the overhead in >>>>>>>>>> parsing >>>>>>>>>> headers: >>>>>>>>>> they always start and finish within the same millisecond. >>>>>>>>>> >>>>>>>>>> I hope this background helps, and also helps explain >>>>>>>>>> why I'm >>>>>>>>>> vocal >>>>>>>>>> on >>>>>>>>>> such topics such as headers vs entities :) >>>>>>>>>> >>>>>>>>>> Cheers, >>>>>>>>>> -Adrian >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Mon, Oct 19, 2009 at 4:21 PM, Sam Johnston >>>>>>>>>> <samj@samj.net> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> On Tue, Oct 20, 2009 at 12:57 AM, gary mazzaferro >>>>>>>>>>> <garymazzaferro@gmail.com> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> The http header and key/value pairs need to parsed >>>>>>>>>>>> also, >>>>>>>>>>>> there >>>>>>>>>>>> is >>>>>>>>>>>> no >>>>>>>>>>>> free >>>>>>>>>>>> ride here. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> Every HTTP library I have ever used parses HTTP >>>>>>>>>>> headers and >>>>>>>>>>> puts >>>>>>>>>>> them >>>>>>>>>>> in a >>>>>>>>>>> nice hash for you ready to consume. If we go for "Name: >>>>>>>>>>> Value" >>>>>>>>>>> then >>>>>>>>>>> that's >>>>>>>>>>> all there is to it. If we go for "Attribute: >>>>>>>>>>> name=value" as >>>>>>>>>>> is >>>>>>>>>>> currently >>>>>>>>>>> proposed (which is arguably cleaner, follows cookies' >>>>>>>>>>> "prior art" >>>>>>>>>>> and >>>>>>>>>>> avoids >>>>>>>>>>> Amazon's prefix hack) then you just have to split on >>>>>>>>>>> '='. >>>>>>>>>>> >>>>>>>>>>> To illustrate how clean this is by example: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> #!/usr/bin/python >>>>>>>>>>>> import urllib2 >>>>>>>>>>>> response = urllib2.urlopen('http://cloud.example.com/ >>>>>>>>>>>> myvm') >>>>>>>>>>>> representation = response.read() >>>>>>>>>>>> metadata = response.info() >>>>>>>>>>>> print metadata['occi-compute-cores'] >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> As soon as you start talking about payloads you have to >>>>>>>>>>> fire up a >>>>>>>>>>> parser >>>>>>>>>>> (JSON/XML/Atom/etc.) or write your own (previous text >>>>>>>>>>> rendering) >>>>>>>>>>> which >>>>>>>>>>> is >>>>>>>>>>> significantly more work to do at both design and run >>>>>>>>>>> times. >>>>>>>>>>> Not >>>>>>>>>>> to >>>>>>>>>>> mention >>>>>>>>>>> more work for us to do now and more scope for >>>>>>>>>>> interoperability >>>>>>>>>>> problems. >>>>>>>>>>> >>>>>>>>>>> Sam >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> occi-wg mailing list >>>>>>>>>>> occi-wg@ogf.org >>>>>>>>>>> http://www.ogf.org/mailman/listinfo/occi-wg >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> occi-wg mailing list >>>>>>>>>> occi-wg@ogf.org >>>>>>>>>> http://www.ogf.org/mailman/listinfo/occi-wg >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>> _______________________________________________ >>>>>>> occi-wg mailing list >>>>>>> occi-wg@ogf.org >>>>>>> http://www.ogf.org/mailman/listinfo/occi-wg >>>>>>> --- >>>>>>> ---------------------------------------------------------- >>>>>>> Intel Ireland Limited (Branch) >>>>>>> Collinstown Industrial Park, Leixlip, County Kildare, >>>>>>> Ireland >>>>>>> Registered Number: E902934 >>>>>>> >>>>>>> This e-mail and any attachments may contain confidential >>>>>>> material for >>>>>>> the sole use of the intended recipient(s). Any review or >>>>>>> distribution >>>>>>> by others is strictly prohibited. If you are not the >>>>>>> intended >>>>>>> recipient, please contact the sender and delete all copies. >>>>>>> >>>>>>> >>> _______________________________________________ >>> occi-wg mailing list >>> occi-wg@ogf.org >>> http://www.ogf.org/mailman/listinfo/occi-wg >>> >>> >>>
occi-wg mailing list occi-wg@ogf.org http://www.ogf.org/mailman/listinfo/occi-wg
occi-wg mailing list occi-wg@ogf.org http://www.ogf.org/mailman/listinfo/occi-wg
-- <http://www.sun.com> * Mark A. Carlson * Sr. Architect *Systems Group* Phone x69559 / 303-223-6139 Email Mark.Carlson@Sun.COM