If all databases drivers are loaded, MySQL SQLAlchemy driver
overrides all the other one that might not have set one.
This patches fixes that.
Change-Id: If6d8d08e5b7b7c48ca012677b536d71058def6fd
Closes-Bug: #1493304
... | ... |
@@ -101,7 +101,7 @@ function initialize_database_backends { |
101 | 101 |
# a multi-node DevStack installation. |
102 | 102 |
|
103 | 103 |
# NOTE: Don't specify ``/db`` in this string so we can use it for multiple services |
104 |
- BASE_SQL_CONN=${BASE_SQL_CONN:-$(get_database_type)://$DATABASE_USER:$DATABASE_PASSWORD@$DATABASE_HOST} |
|
104 |
+ BASE_SQL_CONN=${BASE_SQL_CONN:-$(get_database_type_$DATABASE_TYPE)://$DATABASE_USER:$DATABASE_PASSWORD@$DATABASE_HOST} |
|
105 | 105 |
|
106 | 106 |
return 0 |
107 | 107 |
} |
... | ... |
@@ -135,14 +135,6 @@ function database_connection_url { |
135 | 135 |
database_connection_url_$DATABASE_TYPE $db |
136 | 136 |
} |
137 | 137 |
|
138 |
-function get_database_type { |
|
139 |
- if [[ -n "${SQLALCHEMY_DATABASE_DRIVER}" ]]; then |
|
140 |
- echo "${DATABASE_TYPE}+${SQLALCHEMY_DATABASE_DRIVER}" |
|
141 |
- else |
|
142 |
- echo "${DATABASE_TYPE}" |
|
143 |
- fi |
|
144 |
-} |
|
145 |
- |
|
146 | 138 |
|
147 | 139 |
# Restore xtrace |
148 | 140 |
$XTRACE |
... | ... |
@@ -12,12 +12,6 @@ MY_XTRACE=$(set +o | grep xtrace) |
12 | 12 |
set +o xtrace |
13 | 13 |
|
14 | 14 |
MYSQL_DRIVER=${MYSQL_DRIVER:-PyMySQL} |
15 |
-# Force over to pymysql driver by default if we are using it. |
|
16 |
-if is_service_enabled mysql; then |
|
17 |
- if [[ "$MYSQL_DRIVER" == "PyMySQL" ]]; then |
|
18 |
- SQLALCHEMY_DATABASE_DRIVER=${SQLALCHEMY_DATABASE_DRIVER:-"pymysql"} |
|
19 |
- fi |
|
20 |
-fi |
|
21 | 15 |
|
22 | 16 |
register_database mysql |
23 | 17 |
|
... | ... |
@@ -30,6 +24,14 @@ fi |
30 | 30 |
# Functions |
31 | 31 |
# --------- |
32 | 32 |
|
33 |
+function get_database_type_mysql { |
|
34 |
+ if [[ "$MYSQL_DRIVER" == "PyMySQL" ]]; then |
|
35 |
+ echo mysql+pymysql |
|
36 |
+ else |
|
37 |
+ echo mysql |
|
38 |
+ fi |
|
39 |
+} |
|
40 |
+ |
|
33 | 41 |
# Get rid of everything enough to cleanly change database backends |
34 | 42 |
function cleanup_database_mysql { |
35 | 43 |
stop_service $MYSQL |
... | ... |
@@ -21,6 +21,10 @@ register_database postgresql |
21 | 21 |
# Functions |
22 | 22 |
# --------- |
23 | 23 |
|
24 |
+function get_database_type_postgresql { |
|
25 |
+ echo postgresql |
|
26 |
+} |
|
27 |
+ |
|
24 | 28 |
# Get rid of everything enough to cleanly change database backends |
25 | 29 |
function cleanup_database_postgresql { |
26 | 30 |
stop_service postgresql |