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

Reply via email to