<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 01/07/2015 09:20 PM, Li, Chen wrote:<br>
    </div>
    <blockquote
cite="mid:988E98D31B01E44893AF6E48ED9DEFD401B919F3@SHSMSX101.ccr.corp.intel.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <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:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-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;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
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";}
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";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle25
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.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:454982973;
        mso-list-type:hybrid;
        mso-list-template-ids:-1262050548 1766362248 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:27.0pt;
        text-indent:-.25in;
        font-family:"Times New Roman","serif";
        mso-fareast-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;
        margin-left:63.0pt;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:99.0pt;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:135.0pt;
        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;
        margin-left:171.0pt;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:207.0pt;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:243.0pt;
        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;
        margin-left:279.0pt;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:315.0pt;
        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]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D">Update my
            proposal 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">As a new bird
            for manila, I start using/learning manila with generic
            driver. When I reached driver mode,I became really confuing,
            because I can't stop myself jump into ideas:   share server
            == nova instance   &    svm == share virtual machine ==
            nova instance.<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">Then I tried
            glusterFS, it is working under "single_svm_mode", I asked
            why it is "single" mode, the answer I get is " This is
            approach without usage of "share-servers""  ==>  without
            using "share-servers", then why "single" ??? More confusing
            ! :(<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"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Now I know, the
            mistake I made is ridiculous.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Great thanks to
            vponomaryov & ganso, they made big effort helping me to
            figure out why I'm wrong.<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"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">But, I don't
            think I'm the last one person making this mistake.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">So, I hope we
            can change the driver mode name less confusing and more easy
            to understand.<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"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">First, "svm"
            should be removed, at least change it to ss (share-server),
            make it consistent with "share-server".<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">I don't like
            single/multi, because that makes me think of numbers of
            share-servers, makes me want to ask:" if I create a share,
            that share need multi share-servers ? why ?" 
            <o:p></o:p></span></p>
      </div>
    </blockquote>
    <br>
    <br>
    I agree the names we went with aren't the most obvious, and I'm open
    to changing them. Share-server is the name we have for virtual
    machines created by manila drivers so a name that refers to share
    servers rather than svms could make more sense.<br>
    <span style="color:#1F497D"><o:p><br>
         </o:p></span>
    <blockquote
cite="mid:988E98D31B01E44893AF6E48ED9DEFD401B919F3@SHSMSX101.ccr.corp.intel.com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D">Also, when I
            trying glusterFS (installed it following
            <a class="moz-txt-link-freetext" href="http://www.gluster.org/community/documentation/index.php/QuickStart">http://www.gluster.org/community/documentation/index.php/QuickStart</a>),
            when I testing the GlusterFS volume, it said: "use one of
            the servers to mount the volume". Isn't that means using any
            server in the cluster can work and their work has no
            difference. So, is there a way to change glusterFS driver to
            add more than one "glusterfs_target", and all
            glusterfs_targets are replications for each other. Then when
            manila create a share, chose one target to use. This would
            distribute data traffic to the cluster, higher bandwidth,
            higher performance, right ? ==> This is
            "single_svm_mode", but obviously not "single".<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"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">vponomaryov
            & ganso suggested basic_mode" and "advanced_mode", but I
            think basic/advanced is more driver perspective concept.
            Different driver might already have its own concept of basic
            advanced, beyong manila scope. This would make admin &
            driver programmer confusing.<o:p></o:p></span></p>
      </div>
    </blockquote>
    <br>
    I really do not like basic/advanced. I think you summarized one
    reason why it's a bad choice. The relevant difference between the
    modes is whether the driver is able to create tenant-specific
    instances of a share filesystem server or whether tenants share
    access to a single server.<br>
    <br>
    <blockquote
cite="mid:988E98D31B01E44893AF6E48ED9DEFD401B919F3@SHSMSX101.ccr.corp.intel.com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D">As
            "single_svm_mode" indicate driver just have "information"
            about "where" to go and "how", it is gotten by config opts
            and some special actions of drivers while "multi_svm_mode"
            need to create "where" and "how" with "infomation".<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">My suggestion
            is<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">  
            "single_svm_mode" ==> "static_mode"<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">  
            "multi_svm_mode"  ==> "dynamic_mode".<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">As "where" to
            go and "how" are "static" under "single_svm_mode", but
            "dynamically" create/delete by manila under
            "multi_svm_mode".<o:p>\</o:p></span></p>
        <span style="color:#1F497D"><o:p> </o:p></span></div>
    </blockquote>
    <br>
    Static/dynamic is better than basic/advanced, but I still think we
    can do better. I will think about it and try to come up with another
    idea before the meeting tomorrow.<br>
    <br>
    <blockquote
cite="mid:988E98D31B01E44893AF6E48ED9DEFD401B919F3@SHSMSX101.ccr.corp.intel.com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D">Also, about the
            share-server concept.<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">"share-server"
            is a tenant point of view concept, it does not know if it is
            a VM or a dedicated hardware outside openstack because it is
            not visible to the tenant.
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Each share has
            its own "share-server", no matter how it get(get from
            configuration under single_svm_mode, get from manila under
            multi_svm_mode).<o:p></o:p></span></p>
      </div>
    </blockquote>
    <br>
    I think I understand what you mean here, but in a more technical
    sense, share servers are something we hide from the tenant. When a
    tenant asks for a share to be created, it might get created on a
    server that already exists, or a new one might get created. The
    tenant has no control over this, and ideally shouldn't even know
    which decision manila made. The only thing we promise to the tenant
    is that they'll get a share. The intent of this design is to offer
    maximum flexibility to the driver authors, and to accommodate the
    widest variety of possible storage controller designs, without
    causing details about the backends to leak through the API layer and
    break the primary goal of Manila which is to provide a standardized
    API regardless of what the actual implementation is.<br>
    <br>
    We need to keep the above goals in mind when making decisions about
    share servers.<br>
    <br>
    <blockquote
cite="mid:988E98D31B01E44893AF6E48ED9DEFD401B919F3@SHSMSX101.ccr.corp.intel.com"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D">I get the wrong
            idea that about glusterFS has no share server based on
            <a class="moz-txt-link-freetext" href="https://github.com/openstack/manila/blob/master/manila/share/manager.py#L238">https://github.com/openstack/manila/blob/master/manila/share/manager.py#L238</a>,
            without reading driver code, isn't this saying: I create
            share without share-server. But, the truth is just
            share-server is not handled by manila, doesn't mean it not
            exist. E.g. in glusterFS, the share-server is
            "self.gluster_address".<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">So, I suggest
            to edit ShareManager code to get share_server before
            create_share based on driver mode.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Such as: <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><a
              moz-do-not-send="true"
              href="http://paste.openstack.org/show/155930/">http://paste.openstack.org/show/155930/</a><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">This would
            affect all drivers, but I think it is worth for long term
            perspective.<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">Hope to hear
            from you guys.<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.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">-chen<o:p></o:p></span></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
OpenStack-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>