heat-db-setup read engine config file for DB connection details
Currently heat-db-setup, or rather the underlying python -m heat.db.sqlalchemy.manage has a hard-coded database connection URL, so DB setup will fail if a non-default configuration exists in /etc/heat/heat-engine.conf. This attempts to read the sql_connection from the DEFAULT section of heat-engine.conf falling back to the old default string on failure. bug/1087741 Change-Id: Ieb41503a58ee0804d79a32a8286268803c9f456c Signed-off-by: Steven Hardy <shardy@redhat.com>
This commit is contained in:
parent
705469b5a5
commit
14d8a7a19f
|
@ -1,14 +1,25 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
from migrate.versioning.shell import main
|
from migrate.versioning.shell import main
|
||||||
import migrate.exceptions
|
import migrate.exceptions
|
||||||
|
import ConfigParser
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
import os.path
|
import os.path
|
||||||
migrate_repo_path = os.path.join(os.path.dirname(__file__),
|
migrate_repo_path = os.path.join(os.path.dirname(__file__),
|
||||||
'migrate_repo')
|
'migrate_repo')
|
||||||
|
|
||||||
|
# Try to get the config-file value for sql_connection
|
||||||
|
# Note we can't use openstack.common.cfg because this also insists
|
||||||
|
# on parsing the CLI, which we don't want here
|
||||||
|
config = ConfigParser.SafeConfigParser()
|
||||||
try:
|
try:
|
||||||
main(url='mysql://heat:heat@localhost/heat', debug='False',
|
config = ConfigParser.SafeConfigParser()
|
||||||
repository=migrate_repo_path)
|
config.readfp(open('/etc/heat/heat-engine.conf'))
|
||||||
|
sql_connection = config.get('DEFAULT', 'sql_connection')
|
||||||
|
except Exception:
|
||||||
|
sql_connection = 'mysql://heat:heat@localhost/heat'
|
||||||
|
|
||||||
|
try:
|
||||||
|
main(url=sql_connection, debug='False', repository=migrate_repo_path)
|
||||||
except migrate.exceptions.DatabaseAlreadyControlledError:
|
except migrate.exceptions.DatabaseAlreadyControlledError:
|
||||||
print 'Database already version controlled.'
|
print 'Database already version controlled.'
|
||||||
|
|
Loading…
Reference in New Issue