If you want to override the guestagent managers its looks really nasty to have EVERY manager on a single line here.
datastore_registry_ext = mysql:my.guestagent.datastore.mysql.manager.Manager,percona:my.guestagent.datastore.mysql.manager.Manager
This needs to be tidied up and split out some way.
Ideally each of these should be on a single line.
datastore_registry_ext = mysql:my.guestagent.datastore.mysql.manager.Manager
datastore_registry_ext = percona:my.guestagent.datastore.mysql.manager.Manager
or maybe...
datastores = mysql,precona
[mysql]
manager = my.guestagent.datastore.mysql.manager.Manager
[percona]
manager = my.guestagent.datastore.percona.manager.Manager
After typing out the second idea i dont like it as much as something like the first way.
DEV LIST THREAD: http://lists.openstack.org/pipermail/openstack-dev/2014-July/039145.html
Not quite sure about which solution can be more user-friendly. But iirc, oslo.config allows to define custom attribute type.