<div dir="ltr">We have come to decision with it:<div><a href="http://eavesdrop.openstack.org/meetings/manila/2015/manila.2015-01-15-15.02.log.html" target="_blank">http://eavesdrop.openstack.org/meetings/manila/2015/manila.2015-01-15-15.02.log.html</a><br></div><div><a rel="nofollow" href="https://etherpad.openstack.org/p/manila-driver-modes-discussion" style="color:rgb(0,51,170);text-decoration:none;font-family:sans-serif;font-size:12px;line-height:18px" target="_blank">https://etherpad.openstack.org/p/manila-driver-modes-discussion</a><br></div><div><a href="https://blueprints.launchpad.net/manila/+spec/rename-driver-modes" target="_blank">https://blueprints.launchpad.net/manila/+spec/rename-driver-modes</a><br></div><div><br></div><div>Here is change that implements this decision:</div><div><a href="https://review.openstack.org/#/c/147821/" target="_blank">https://review.openstack.org/#/c/147821/</a><br></div><div><br></div><div>I ask people, who is able (driver maintainers?), to test share drivers for presence of some breakage by this change.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 8, 2015 at 6:36 AM, Ben Swartzlander <span dir="ltr"><<a href="mailto:ben@swartzlander.org" target="_blank">ben@swartzlander.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"><span class="">
<br>
<div>On 01/07/2015 09:20 PM, Li, Chen wrote:<br>
</div>
<blockquote type="cite">
<div>
<p class="MsoNormal"><span style="color:#1f497d">Update my
proposal again:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></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
! :(<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">Now I know, the
mistake I made is ridiculous.<u></u><u></u></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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">But, I don't
think I'm the last one person making this mistake.<u></u><u></u></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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></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".<u></u><u></u></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 ?"
<u></u><u></u></span></p>
</div>
</blockquote>
<br>
<br></span>
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.<span class=""><br>
<span style="color:#1f497d"><u></u><br>
<u></u></span>
<blockquote type="cite">
<div>
<p class="MsoNormal"><span style="color:#1f497d">Also, when I
trying glusterFS (installed it following
<a href="http://www.gluster.org/community/documentation/index.php/QuickStart" target="_blank">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".<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></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.<u></u><u></u></span></p>
</div>
</blockquote>
<br></span>
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 type="cite">
<div><span class="">
<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".<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">My suggestion
is<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">
"single_svm_mode" ==> "static_mode"<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">
"multi_svm_mode" ==> "dynamic_mode".<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
</span><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".<u></u>\<u></u></span></p>
<span style="color:#1f497d"><u></u> <u></u></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.<span class=""><br>
<br>
<blockquote type="cite">
<div>
<p class="MsoNormal"><span style="color:#1f497d">Also, about the
share-server concept.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></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.
<u></u><u></u></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).<u></u><u></u></span></p>
</div>
</blockquote>
<br></span>
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 type="cite"><span class="">
<div>
<p class="MsoNormal"><span style="color:#1f497d">I get the wrong
idea that about glusterFS has no share server based on
<a href="https://github.com/openstack/manila/blob/master/manila/share/manager.py#L238" target="_blank">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".<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">Such as: <u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><a href="http://paste.openstack.org/show/155930/" target="_blank">http://paste.openstack.org/show/155930/</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">This would
affect all drivers, but I think it is worth for long term
perspective.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">Hope to hear
from you guys.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">Thanks.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:#1f497d">-chen<u></u><u></u></span></p>
</div>
<br>
<fieldset></fieldset>
<br>
</span><pre>_______________________________________________
OpenStack-dev mailing list
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
</blockquote>
<br>
</div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Kind Regards<br>Valeriy Ponomaryov<br><a href="http://www.mirantis.com" target="_blank">www.mirantis.com</a><br><a href="mailto:vponomaryov@mirantis.com" target="_blank">vponomaryov@mirantis.com</a><br></div></div>
</div>