[openstack-dev] [Trove] Pluggable conductor manager

boden boden at linux.vnet.ibm.com
Mon Apr 28 18:50:57 UTC 2014


Guys,
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.

There are a few enhancements on my list -- I will send details each in a 
separate email to keep the communication clearer.



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.Manager'. I'd like to see this 
conductor manager class be pluggable like nova does [3].

I'm thinking the same approach nova took:
(a) Add a conductor section to the trove-conductor.conf with a property 
to specify the conductor manager class... e.g.
[conductor]
manager = package.of.conductor.manager.Manager

(b) Default trove's CONF value for conductor.manager to the existing 
manager trove.conductor.manager.Manager which ensures backwards compat.

(c) In trove.cmd.conductor.py create the RpcService using the conf 
value. e.g.
server = rpc_service.RpcService(manager=CONF.conductor.manager, topic=topic)


The above will allow consumers to extend / plug into the conductor 
manager without upstream changes.


Any disagreement / comments on this enhancement? Again -- I can 
contribute the code, unless someone is bored and wants to run with it 
short-term.

Thanks


[1] 
https://github.com/openstack/trove/blob/master/trove/cmd/conductor.py#L40
[2] 
https://github.com/openstack/trove/blob/master/trove/cmd/conductor.py#L42
[3] https://github.com/openstack/nova/blob/master/nova/cmd/conductor.py#L43




More information about the OpenStack-dev mailing list