<div dir="ltr">John,<div><br></div><div>each instance of manila-share service will perform "ensure_share" operation for each "share instance" that is located at "hostname@driver_config_group_name".</div><div>So, only one driver is expected to run "ensure_share" for some "share instance", because each instance of a driver will have its own unique value of "hostname@driver_config_group_name".</div><div><br></div><div>Valeriy</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 4, 2016 at 3:15 PM, John Spray <span dir="ltr"><<a href="mailto:jspray@redhat.com" target="_blank">jspray@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, Mar 4, 2016 at 12:11 PM, Shinobu Kinjo <<a href="mailto:shinobu.kj@gmail.com">shinobu.kj@gmail.com</a>> wrote:<br>
> What are you facing?<br>
<br>
In this particular instance, I'm dealing with a case where we may add<br>
some metadata in ceph that will get updated by the driver, and I need<br>
to know how I'm going to be called.  I need to know whether e.g. I can<br>
expect that ensure_share will only be called once at a time per share,<br>
or whether it might be called multiple times in parallel, resulting in<br>
a need for me to do more synchronisation a lower level.<br>
<br>
This is more complicated than locking, because where we update more<br>
than one thing at a time we also have to deal with recovery (e.g.<br>
manila crashed halfway through updating something in ceph and now I'm<br>
recovering it), especially whether the places we do recovery will be<br>
called concurrently or not.<br>
<br>
My very favourite answer here would be a pointer to some<br>
documentation, but I'm guessing much this stuff is still at a "word of<br>
mouth" stage.<br>
<span class="HOEnZb"><font color="#888888"><br>
John<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
> On Fri, Mar 4, 2016 at 9:06 PM, John Spray <<a href="mailto:jspray@redhat.com">jspray@redhat.com</a>> wrote:<br>
>> Hi,<br>
>><br>
>> What expectations should driver authors have about multiple instances<br>
>> of the driver being instantiated within different instances of<br>
>> manila-share?<br>
>><br>
>> For example, should I assume that when one instance of a driver is<br>
>> having ensure_share called during startup, another instance of the<br>
>> driver might be going through the same process on the same share at<br>
>> the same time?  Are there any rules at all?<br>
>><br>
>> Thanks,<br>
>> John<br>
>><br>
>> __________________________________________________________________________<br>
>> OpenStack Development Mailing List (not for usage questions)<br>
>> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
><br>
><br>
> --<br>
> Email:<br>
> <a href="mailto:shinobu@linux.com">shinobu@linux.com</a><br>
> GitHub:<br>
> shinobu-x<br>
> Blog:<br>
> Life with Distributed Computational System based on OpenSource<br>
><br>
> __________________________________________________________________________<br>
> OpenStack Development Mailing List (not for usage questions)<br>
> Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></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>