<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<base href="x-msg://2/">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-GB link=blue vlink=purple style='word-wrap: break-word;
-webkit-nbsp-mode: space;-webkit-line-break: after-white-space'>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>There are plenty of ways for services to be autonomous and
loosely coupled.  In fact, I’d say any remote API allows your
services to be exactly that, regardless of interaction style.  REST is a
pretty specific term, excluding many well-designed remote APIs.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>I agree that it’s the best choice for our public APIs, but
I’d argue that there are many occasions even within OpenStack today that
it’s not the right choice.  You acknowledge that yourself by optionally
allowing for a pub/sub API, and even those two don’t exhaust the sensible
options.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Ewan.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> Jorge Williams
[mailto:jorge.williams@rackspace.com] <br>
<b>Sent:</b> 31 December 2010 18:31<br>
<b>To:</b> Ewan Mellor<br>
<b>Cc:</b> John Purrier; openstack@lists.launchpad.net<br>
<b>Subject:</b> Re: [Openstack] [RFC] OpenStack Scope and projects<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<div>

<div>

<p class=MsoNormal>On Dec 31, 2010, at 6:45 AM, Ewan Mellor wrote:<o:p></o:p></p>

</div>

<p class=MsoNormal><br>
<br>
<o:p></o:p></p>

<div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Why include C / C++ as “blessed” languages, when
we’re not using them at the moment?  I see no reason that they
should be called out any more than any other mainstream language (and frankly,
I’ll be saddened if we start writing lots of C++, at least for the
current proposed projects, because I don’t think it would be appropriate).</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'> </span><o:p></o:p></p>

</div>

</div>

<div>

<p class=MsoNormal><o:p> </o:p></p>

</div>

<div>

<p class=MsoNormal>I think the idea here is that if we have performance issues
we could write extension modules in C / C++.  I agree it's probably not a
good idea to implement an entire service  in C. <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p> </o:p></p>

</div>

<p class=MsoNormal><br>
<br>
<o:p></o:p></p>

<div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Why specify that both public and private APIs must be
RESTful?  I would rather that people thought about the right interaction
model for their project, rather than being RESTful by fiat.  I think that
RESTful is the right choice for the public Nova, Glance, and Swift APIs, but it
won’t always be the right model for all APIs in the future.</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'> </span><o:p></o:p></p>

</div>

</div>

<div>

<p class=MsoNormal><o:p> </o:p></p>

</div>

<div>

<p class=MsoNormal>REST  allows our services to be autonomous and loosely
coupled, it also allows our customers to integrate with us easily.  I
think it's appropriate for our service model to use REST by default.   We
should consider situations where that's not the right model on a case-by-case
basis. <o:p></o:p></p>

</div>

<p class=MsoNormal><br>
<br>
<o:p></o:p></p>

<div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>In terms of inclusion or affiliation criteria, I think we should
include the following:</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'> </span><o:p></o:p></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span style='font-size:11.0pt;
font-family:Symbol;color:#1F497D'>·</span><span style='font-size:7.0pt;
color:#1F497D'>        <span
class=apple-converted-space> </span></span><span style='font-size:11.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'>The software should be
designed for scale.  OpenStack technologies and affiliates should be
usable at datacenter scale, otherwise they don’t belong in this
project.  We could add a stronger statement here about being
“horizontally scalable” or “designed without single points of
failure”, but I’m not sure whether that’s a good idea or
whether it would be more restrictive than we want.</span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span style='font-size:11.0pt;
font-family:Symbol;color:#1F497D'>·</span><span style='font-size:7.0pt;
color:#1F497D'>        <span
class=apple-converted-space> </span></span><span style='font-size:11.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'>The software should work with
all the other existing OpenStack components (or at least it needs to be
strongly flagged if they don’t).  For example, a storage component
should work with all hypervisors.  This might be a problem for Sheepdog,
which advertises itself as KVM-specific, and while I don’t want to reject
affiliation just because of that, I think we should be pushing people so that
we can swap components in and out at will.  I don’t want OpenStack
to be a mishmash of technologies, some of which work together, some of which
don’t.</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

</div>

<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'>

<div>

<div>

<p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'>Cheers,</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-family:"Calibri","sans-serif";color:#1F497D'> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Ewan.</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'> </span><o:p></o:p></p>

</div>

<div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt;
border-width:initial;border-color:initial'>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm;
border-width:initial;border-color:initial'>

<div>

<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Tahoma","sans-serif"'>From:</span></b><span class=apple-converted-space><span
lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> </span></span><span
lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'><a
href="mailto:openstack-bounces+ewan.mellor=citrix.com@lists.launchpad.net">openstack-bounces+ewan.mellor=citrix.com@lists.launchpad.net</a><span
class=apple-converted-space> </span>[mailto:openstack-bounces+ewan.mellor=citrix.com@lists.launchpad.net]<span
class=apple-converted-space> </span><b>On Behalf Of<span
class=apple-converted-space> </span></b>John Purrier<br>
<b>Sent:</b><span class=apple-converted-space> </span>30 December 2010
21:00<br>
<b>To:</b><span class=apple-converted-space> </span><a
href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
<b>Subject:</b><span class=apple-converted-space> </span>[Openstack] [RFC]
OpenStack Scope and projects</span><o:p></o:p></p>

</div>

</div>

</div>

<div>

<p class=MsoNormal> <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US>I would like to present for discussion a
statement on the scope and projects that are considered core to OpenStack in
the short term (2011). Additionally, this is a proposal to
“formalize” how OpenStack includes and associates projects that are
closely tied to the project but not part of the core.</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US>Why is this important to discuss? I believe
it drives conversations about what to implement (priorities), how to implement
(in Python in the core, through an extension mechanism, or via a published
API). It is also important that the community is relatively on the same page
about what OpenStack is, and what is outside the charter.</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US>Once the community has reached consensus
the Project Oversight Board should review and publish as part of the overall
project charter.</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US>Key concepts (proposed):</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US>OpenStack is scoped in the short term (ie.
today and through 2011) to the following<span class=apple-converted-space> </span><u>core</u><span
class=apple-converted-space> </span>components (note this is subject to
modification by the Project Oversight Committee):</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:11.0pt;font-family:Symbol'>·</span><span lang=EN-US
style='font-size:7.0pt'>        <span
class=apple-converted-space> </span></span><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Cloud and
Automation Infrastructure (Nova)</span><span style='font-size:11.0pt;
font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:72.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:7.0pt'> <span class=apple-converted-space> </span></span><span
lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Virtual
Machine Provisioning and Management (Compute)</span><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:72.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:7.0pt'> <span class=apple-converted-space> </span></span><span
lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Virtual
Image Management and Tools (Glance)</span><span style='font-size:11.0pt;
font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:72.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:7.0pt'> <span class=apple-converted-space> </span></span><span
lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Virtual
Volume Provisioning and Management (Block Storage)</span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:72.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:7.0pt'> <span class=apple-converted-space> </span></span><span
lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Virtual
Network Provisioning and Management (Network)</span><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:72.0pt'>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:11.0pt;font-family:Symbol'>·</span><span lang=EN-US
style='font-size:7.0pt'>        <span
class=apple-converted-space> </span></span><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Large Scale Data
Storage and Processing (Swift)</span><span style='font-size:11.0pt;font-family:
"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:72.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:7.0pt'> <span class=apple-converted-space> </span></span><span
lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Highly
Available Object Storage</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US>The core projects are under project and
governance control of the OpenStack open source project. These components will
make up the OpenStack distribution packages that can be picked up by downstream
distributions (such as Ubuntu). In order to ensure that there is ubiquitous
distribution of the core OpenStack projects the development
languages/environments will be limited to C, C++, and Python (other
languages/runtimes that are ubiquitously available times might be considered by
the POC in the future).</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US>OpenStack core projects will be presented
as a series of services and will follow a common and agreed to service
architecture. This will include:</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:11.0pt;font-family:Symbol'>·</span><span lang=EN-US
style='font-size:7.0pt'>        <span
class=apple-converted-space> </span></span><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>A public RESTful API</span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:11.0pt;font-family:Symbol'>·</span><span lang=EN-US
style='font-size:7.0pt'>        <span
class=apple-converted-space> </span></span><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>A private RESTful
management API</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:11.0pt;font-family:Symbol'>·</span><span lang=EN-US
style='font-size:7.0pt'>        <span
class=apple-converted-space> </span></span><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Optionally, a
pub/sub notification interface</span><span style='font-size:11.0pt;font-family:
"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:11.0pt;font-family:Symbol'>·</span><span lang=EN-US
style='font-size:7.0pt'>        <span
class=apple-converted-space> </span></span><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>An extension
interface to allow specific service behaviors to be plugged in</span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US><image001.jpg></span><o:p></o:p></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Proprietary
or open source modules may be plugged into the extension interface to provide
deployment specific features and functionality. For example: OpenStack will
provide a general interface for elastic block storage to the Compute nodes. A
vendor, contractor, or hoster may plug a specific implementation of block
storage under the service, i.e. proprietary interface to NetApp storage, and
interface to Sheepdog block storage, etc.</span><span style='font-size:11.0pt;
font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>These
extension modules have no defined OpenStack requirements, save they conform to
the defined extension interface for the service. Language selection,
distribution models, source license, etc. are all defined and controlled by the
implementer(s).</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Note
that the “public” service API’s are not necessarily exposed
to OpenStack developers directly. For instance, the programming model for Nova
will present a singular API endpoint, yet may expose Virtual Image or Virtual
Volume operations. This aggregation of API functionality should be consistent
across the OpenStack projects to allow a consistent programming model and,
ultimately, is under the direction of the POC.</span><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>In
addition, there will be a concept of “affiliated” or
“compatible” services for OpenStack that live outside of the core
projects. These will generally be cloud services that extend the functionality
of the base (core) OpenStack distribution. It is encouraged that these services
be built using the same core service architectural concepts. Since these
projects live outside of the core OpenStack projects they have the following
characteristics:</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>1.</span><span
lang=EN-US style='font-size:7.0pt'>      <span
class=apple-converted-space> </span></span><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>They are not
subject to the OpenStack governance model or process. The governance will be
the responsibility of the contributor(s).</span><span style='font-size:11.0pt;
font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>2.</span><span
lang=EN-US style='font-size:7.0pt'>      <span
class=apple-converted-space> </span></span><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>The responsibility
for distribution will be on the contributor(s). These are optional OpenStack
projects and may or may not be picked up by the downstream distributions.</span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div style='margin-left:36.0pt'>

<p class=MsoNormal style='text-indent:-18.0pt'><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>3.</span><span
lang=EN-US style='font-size:7.0pt'>      <span
class=apple-converted-space> </span></span><span lang=EN-US
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>OpenStack does not
impose any language or runtime constraints on these services. The contributors
need to weigh their runtime environment requirements against ease of
development and desired ubiquity of distribution and deployment.</span><span
style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US>Examples of potential services include
Database, Platform, Monitoring, etc. implementations.</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US>A graphical view:</span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US><image002.jpg></span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US> </span><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:black'> </span><o:p></o:p></p>

</div>

</div>

<p class=MsoNormal><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif"'>_______________________________________________<br>
Mailing list:<span class=apple-converted-space> </span><a
href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
Post to     :<span class=apple-converted-space> </span><a
href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe :<span class=apple-converted-space> </span><a
href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
More help   :<span class=apple-converted-space> </span><a
href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><o:p></o:p></span></p>

</div>

</blockquote>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<pre><o:p> </o:p></pre><pre>Confidentiality Notice: This e-mail message (including any attached or<o:p></o:p></pre><pre>embedded documents) is intended for the exclusive and confidential use of the<o:p></o:p></pre><pre>individual or entity to which this message is addressed, and unless otherwise<o:p></o:p></pre><pre>expressly indicated, is confidential and privileged information of Rackspace.<o:p></o:p></pre><pre>Any dissemination, distribution or copying of the enclosed material is prohibited.<o:p></o:p></pre><pre>If you receive this transmission in error, please notify us immediately by e-mail<o:p></o:p></pre><pre>at abuse@rackspace.com, and delete the original message.<o:p></o:p></pre><pre>Your cooperation is appreciated.<o:p></o:p></pre></div>

</div>

</body>

</html>