<div dir="ltr">Good day, Boden.<br><div class="gmail_extra"><br></div><div class="gmail_extra">I think you should file the blueprint for it and put it into BP meeting agenda.</div><div class="gmail_extra"><br></div><div class="gmail_extra">
Best regards,</div><div class="gmail_extra">Denis Makogon<br><br><div class="gmail_quote">On Mon, Apr 28, 2014 at 9:50 PM, boden <span dir="ltr"><<a href="mailto:boden@linux.vnet.ibm.com" target="_blank">boden@linux.vnet.ibm.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Guys,<br>
I have a few small features / enhancements I'd like to suggest. I'm willing to contribute the code / unit tests myself, but am looking for a consensus from the group before I invest the time.<br>
<br>
There are a few enhancements on my list -- I will send details each in a separate email to keep the communication clearer.<br>
<br>
<br>
<br>
I'd like to propose the ability to support a pluggable trove conductor manager. Currently the trove conductor manager is hard-coded [1][2] and thus is always 'trove.conductor.manager.<u></u>Manager'. I'd like to see this conductor manager class be pluggable like nova does [3].<br>

<br>
I'm thinking the same approach nova took:<br>
(a) Add a conductor section to the trove-conductor.conf with a property to specify the conductor manager class... e.g.<br>
[conductor]<br>
manager = package.of.conductor.manager.<u></u>Manager<br>
<br>
(b) Default trove's CONF value for conductor.manager to the existing manager trove.conductor.manager.<u></u>Manager which ensures backwards compat.<br>
<br>
(c) In <a href="http://trove.cmd.conductor.py" target="_blank">trove.cmd.conductor.py</a> create the RpcService using the conf value. e.g.<br>
server = rpc_service.RpcService(<u></u>manager=CONF.conductor.<u></u>manager, topic=topic)<br>
<br>
<br>
The above will allow consumers to extend / plug into the conductor manager without upstream changes.<br>
<br>
<br>
Any disagreement / comments on this enhancement? Again -- I can contribute the code, unless someone is bored and wants to run with it short-term.<br>
<br>
Thanks<br>
<br>
<br>
[1] <a href="https://github.com/openstack/trove/blob/master/trove/cmd/conductor.py#L40" target="_blank">https://github.com/openstack/<u></u>trove/blob/master/trove/cmd/<u></u>conductor.py#L40</a><br>
[2] <a href="https://github.com/openstack/trove/blob/master/trove/cmd/conductor.py#L42" target="_blank">https://github.com/openstack/<u></u>trove/blob/master/trove/cmd/<u></u>conductor.py#L42</a><br>
[3] <a href="https://github.com/openstack/nova/blob/master/nova/cmd/conductor.py#L43" target="_blank">https://github.com/openstack/<u></u>nova/blob/master/nova/cmd/<u></u>conductor.py#L43</a><br>
<br>
<br>
______________________________<u></u>_________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.<u></u>org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/<u></u>cgi-bin/mailman/listinfo/<u></u>openstack-dev</a><br>
</blockquote></div><br></div></div>