Hi all, I have some confusions on Sahara conductor codes. Maybe the questions are silly, but please let me know if you have the answer. Thanks.
1. In Sahara conf we have an option "db_driver", whose default value is "sahara.db". Is it possible we do not use sahara.db? I think it should be the only choice for Sahara, so why do we have this option? For different db engine backend we already have another option "db_backend" whose default value is "sqlalchemy". 2. In sahara/db/ directory we have a base.py, which defines Base class where use the db_driver to initialize self.db in Base. Thus we have below calling sequence (use cluster_create method as an example): sahara.conductor.manager.ConductorManager().cluster_create ==> sahara.db.Base().db.cluster_create ==> sahara.db.cluster_create ==> sahara.db.api.cluster_create ==> IMPL.cluster_create So why we do not just discard base.py, and assign sahara.conductor.manager.ConductorManager().db_api = sahara.db.api, and let the flow be like sahara.conductor.manager.ConductorManager().cluster_create ==> sahara.db_api.cluster_create ==> IMPL.cluster_create ? This is what Heat codes is like. Current Sahara implementation seems copied from nova. There we also have a "db_driver" whose default value is "nova.db". In fact I also have the similar questions on nova ("db_driver" and base.py seem redundant). Thanks. -Ken
__________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev