<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:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@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;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Times New Roman \, serif";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
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:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle25
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1550804781;
        mso-list-type:hybrid;
        mso-list-template-ids:-1662908632 -1358936964 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:778;
        mso-level-number-format:bullet;
        mso-level-text:\F0F0;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:SimSun;
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></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 bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hi Ben,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Sorry for the burden.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">It took more effort than I expected.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Finally, I think I understand what you guys have told me again and again.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks very much for putting up with me and my questions.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">-chen<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> Ben Swartzlander [mailto:ben@swartzlander.org]
<br>
<b>Sent:</b> Thursday, February 05, 2015 8:23 AM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [Manila]Questions about using not handle share-servers drivers with "Flat network"<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>
<p class="MsoNormal">On 02/04/2015 07:01 PM, Li, Chen wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span style="color:#1F497D">Hi,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks very much for the reply.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Really sorry for the late response.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:12.0pt;font-family:"Times New Roman , serif","serif"">In your case if you have a driver that doesn't handle share servers, then the network is complete out of scope for Manila. Drivers
 that don't manage share servers have neither flat not segment networking in Manila, they have NO networking.</span><o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><![if !supportLists]><span style="font-family:Wingdings"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman""> 
</span></span></span><![endif]><span style="color:#1F497D">So, you mean there is no way I can work as I want, right ?</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">But, is it possible to enable that ?</span><o:p></o:p></p>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><br>
I think you missed the point when I say networking is out of scope for non-share-server-handling drivers. All that that means is that Manila will not be involved with the management of the network resources for the backend or the network paths between the clients
 and the server. The reason for this is to allow administrators to configure the network however they like. Arbitrarily complicated network designs are possible when you use a driver with driver_manages_share_servers=False because you're free to do what you
 want and Manila doesn't care.<br>
<br>
I think people sometimes forget that Manila doesn't want to be involved with network management. We only touch the network where it's unavoidable, such as when we have to create new virtual machines that need to be reachable over the network from existing VMs.
 There already exist many other great tools inside and outside of OpenStack for doing network management and we want to avoid duplicating or overlapping with their functionality as much as possible.<br>
<br>
</span><span style="font-size:12.0pt;font-family:"Times New Roman","serif";color:#1F497D"> </span><span style="font-size:12.0pt;font-family:"Times New Roman","serif"">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">If you noticed, we’re trying to enable HDFS in manila:  <a href="https://blueprints.launchpad.net/manila/+spec/hdfs-driver">https://blueprints.launchpad.net/manila/+spec/hdfs-driver</a></span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">That’s the main reason I want to emphasize on my driver do not handle share server.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Big data users want to have a unify storage when they’re working in cloud.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Because instances are not reliable resource in cloud. Put data together with instances while making sure data’s reliability would be complicated.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">The biggest difference between HDFS and all currently backends manila support is:
</span><o:p></o:p></p>
<p class="MsoNormal" style="text-indent:9.0pt"><span style="color:#1F497D">HDFS has different control path and data path.
</span><o:p></o:p></p>
<p class="MsoNormal" style="text-indent:9.0pt"><span style="color:#1F497D">For a HDFS cluster, it has one name node and multi data nodes.</span><o:p></o:p></p>
<p class="MsoNormal" style="text-indent:9.0pt"><span style="color:#1F497D">Client would talk to “name node” first, get data location and then talk to data nodes to get data.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">   The “Export location” represent “name node” information only.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><![if !supportLists]><span style="font-family:Wingdings"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman""> 
</span></span></span><![endif]><span style="color:#1F497D">We can’t put any “share-server” in the middle of user instances and HDFS cluster.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">But, it do possible to let the HDFS work in the cloud with restrictions</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><![if !supportLists]><span style="font-family:Wingdings"><span style="mso-list:Ignore">ð<span style="font:7.0pt "Times New Roman""> 
</span></span></span><![endif]><span style="color:#1F497D">It can only support one  share-network at one time.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">This actually restrict the ability of the manila backend, no multi-tenancy at all.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">We want to use HDFS like this:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Connect users’ “share-network” and “HDFS-cluster-network” by router.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Similar to currently generic driver’s behavior when “connect_share_server_to_tenant_network = False” while no “share-server” exist.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Access control is achieved based on its own user.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">We can add some access control based on keystone users and keystone tenants to avoid bad users to connect to HDFS cluster at very beginning if that’s possible.
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Thanks.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">-chen</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> Ben Swartzlander [<a href="mailto:ben@swartzlander.org">mailto:ben@swartzlander.org</a>]
<br>
<b>Sent:</b> Wednesday, January 28, 2015 12:35 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Subject:</b> Re: [openstack-dev] [Manila]Questions about using not handle share-servers drivers with "Flat network"</span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">On 01/27/2015 06:39 PM, Li, Chen wrote:<o:p></o:p></p>
<p class="MsoNormal">Hi list,<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">I have some questions.<o:p></o:p></p>
<p class="MsoNormal">Hope can get help from you guys.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Manila has two driver modes.<o:p></o:p></p>
<p class="MsoNormal">For handle share server drivers, the share-network is easy to understand.<o:p></o:p></p>
<p class="MsoNormal">For not handle share-servers drivers, manila request admin to do everything before manila-share service start, and when the service is running, it only serves requests do not contain "share-network".<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">I kept confusing about which/why users would create shares without "share-network". Although when working with this kind of driver, the manila-share service can only support one specific network restricted by the backend. But “users” do
 not know backends, they should always want to create shares with "share-network", because users always want to connect shares to their instances that lives in the cloud with “share-network”.<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal">Then I have been told that these shares created without "share-network" are assumed to be used on a "public network". 
<o:p></o:p></p>
<p class="MsoNormal">The "public network" do make a clear explanation about why "share-network" not matter anymore.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">But, when I build my cloud with Manila, what I want to do is let backends to serve my “Flat network”.
<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">I want to have 2 backends in Manila, both of them are “<b><i>not</i></b> handle share-servers drivers”.<o:p></o:p></p>
<p class="MsoNormal">I set 192.168.6.253 for backend1 and create a “Flat network” in neutron with subnet 192.168.6.0/24 with IP range from 192.168.6.1-192.168.6.252.<o:p></o:p></p>
<p class="MsoNormal">I set 192.168.7.253 for backend2 and create a “Flat network” in neutron with subnet 192.168.7.0/24 with IP range from 192.168.7.1-192.168.7.252.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><br>
<br>
<o:p></o:p></span></p>
<pre>__________________________________________________________________________<o:p></o:p></pre>
<pre>OpenStack Development Mailing List (not for usage questions)<o:p></o:p></pre>
<pre>Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><o:p></o:p></pre>
<pre><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></pre>
<p class="MsoNormal">The reason I build  my cloud like this is because I want to do some performance tests on both backends, to compare the two backends.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">I think it should not hard to do it, but manila do not support that currently.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">So, is this the behavior should work  ?<o:p></o:p></p>
<p class="MsoNormal">Or anything else I missed ?<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
</blockquote>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:12.0pt;font-family:"Times New Roman , serif","serif""><br>
Manila needs to support backends that can create share servers and backends that can't create share servers. We do this because of the reality that different storage systems have different capabilities and designs, and we don't want to block anything that can
 reasonably described as a shared filesystem from working with Manila.<br>
<br>
For the purposes of Manila, a share server is a logically isolated instance of a file share server, with its own IP address, routing tables, security domain, and name services. Manila only tracks the existence of share servers that were created as the result
 of a share-create operation. Share servers created by manila have IP addresses assigned by Manila, and can be expected to be deleted by Manila sometime after the last share on that share server is deleted. Backends that simply create shares on a preexsting
 storage systems are not referred to as share servers and networking concerns for those systems are out of scope for Manila.<br>
<br>
The reason we distinguish between so-called "flat" and "segmented" networks is to accommodate the reality that in the real world, storage systems often exist inside labs and datacenters where the network is not under the control of the storage admin. This was
 a key point we identified during Juno and one of the major reasons for the network rearchitecture during Kilo. If a storage controller is connected into a flat subnet it may be able to create share servers on that subnet, but nothing more fancy. To participate
 in multiple subnets some form of network virtualization or segmentation is required and oftentimes that's not possible either due to lack of support on the storage controller, lack of support in the network due to physical or administrative limitations, or
 even lack of sophistication on the part of the deployer (don't discount this last one -- the difficulty of getting the network right is a major blocker for admins who want to try out Manila).<br>
<br>
What flat network means from Manila's perspective is that share servers may be created but only on a network predefined by the administrator, and not on any tenant-defined network. Connectivity between the tenant network and the share server network is considered
 out of scope for Manila. Segmented network means that Manila presumes complete control of the network through some powerful plugin such as Neutron such that Manila can connect share servers to any network specified by the tenant, and Manila assumes responsibility
 for establishing any needed routes.<br>
<br>
In your case if you have a driver that doesn't handle share servers, then the network is complete out of scope for Manila. Drivers that don't manage share servers have neither flat not segment networking in Manila, they have NO networking.<br>
<br>
I'll do a followup mail on the UI changes that are coming around share networks and the mess that they have become. For now, you just have to know that share networks should not be used with drivers that don't manage share servers, and they should be used with
 drivers that do manage share servers.<br>
<br>
-Ben Swartzlander</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><br>
<br>
<br>
<o:p></o:p></span></p>
<pre>__________________________________________________________________________<o:p></o:p></pre>
<pre>OpenStack Development Mailing List (not for usage questions)<o:p></o:p></pre>
<pre>Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><o:p></o:p></pre>
<pre><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><o:p></o:p></pre>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman","serif""><o:p> </o:p></span></p>
</div>
</body>
</html>