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: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev