This is an automated email from the ASF dual-hosted git repository.
amagyar pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new c9d9f03 AMBARI-23620. Moving DB condifuration related code to common
Service Advisor so that both Hive and Oozie can reuse it (#1072)
c9d9f03 is described below
commit c9d9f03493a81572d7234447d10f57815d4fc870
Author: smolnar82 <[email protected]>
AuthorDate: Tue Apr 24 15:04:45 2018 +0200
AMBARI-23620. Moving DB condifuration related code to common Service
Advisor so that both Hive and Oozie can reuse it (#1072)
---
.../src/main/resources/stacks/service_advisor.py | 48 ++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/ambari-server/src/main/resources/stacks/service_advisor.py
b/ambari-server/src/main/resources/stacks/service_advisor.py
index c8696ea..893863c 100644
--- a/ambari-server/src/main/resources/stacks/service_advisor.py
+++ b/ambari-server/src/main/resources/stacks/service_advisor.py
@@ -114,3 +114,51 @@ class ServiceAdvisor(DefaultStackAdvisor):
such as validateHDFSConfigurations.
"""
return []
+
+ def getDBDriver(self, databaseType):
+ driverDict = {
+ "NEW MYSQL DATABASE": "com.mysql.jdbc.Driver",
+ "NEW DERBY DATABASE": "org.apache.derby.jdbc.EmbeddedDriver",
+ "EXISTING MYSQL DATABASE": "com.mysql.jdbc.Driver",
+ "EXISTING MYSQL / MARIADB DATABASE": "com.mysql.jdbc.Driver",
+ "EXISTING POSTGRESQL DATABASE": "org.postgresql.Driver",
+ "EXISTING ORACLE DATABASE": "oracle.jdbc.driver.OracleDriver",
+ "EXISTING SQL ANYWHERE DATABASE": "sap.jdbc4.sqlanywhere.IDriver"
+ }
+ return driverDict.get(databaseType.upper())
+
+ def getDBConnectionString(self, databaseType):
+ driverDict = {
+ "NEW MYSQL DATABASE":
"jdbc:mysql://{0}/{1}?createDatabaseIfNotExist=true",
+ "NEW DERBY DATABASE":
"jdbc:derby:${{oozie.data.dir}}/${{oozie.db.schema.name}}-db;create=true",
+ "EXISTING MYSQL DATABASE": "jdbc:mysql://{0}/{1}",
+ "EXISTING MYSQL / MARIADB DATABASE": "jdbc:mysql://{0}/{1}",
+ "EXISTING POSTGRESQL DATABASE": "jdbc:postgresql://{0}:5432/{1}",
+ "EXISTING ORACLE DATABASE": "jdbc:oracle:thin:@//{0}:1521/{1}",
+ "EXISTING SQL ANYWHERE DATABASE":
"jdbc:sqlanywhere:host={0};database={1}"
+ }
+ return driverDict.get(databaseType.upper())
+
+ def getProtocol(self, databaseType):
+ first_parts_of_connection_string = {
+ "NEW MYSQL DATABASE": "jdbc:mysql",
+ "NEW DERBY DATABASE": "jdbc:derby",
+ "EXISTING MYSQL DATABASE": "jdbc:mysql",
+ "EXISTING MYSQL / MARIADB DATABASE": "jdbc:mysql",
+ "EXISTING POSTGRESQL DATABASE": "jdbc:postgresql",
+ "EXISTING ORACLE DATABASE": "jdbc:oracle",
+ "EXISTING SQL ANYWHERE DATABASE": "jdbc:sqlanywhere"
+ }
+ return first_parts_of_connection_string.get(databaseType.upper())
+
+ def getDBTypeAlias(self, databaseType):
+ driverDict = {
+ "NEW MYSQL DATABASE": "mysql",
+ "NEW DERBY DATABASE": "derby",
+ "EXISTING MYSQL / MARIADB DATABASE": "mysql",
+ "EXISTING MYSQL DATABASE": "mysql",
+ "EXISTING POSTGRESQL DATABASE": "postgres",
+ "EXISTING ORACLE DATABASE": "oracle",
+ "EXISTING SQL ANYWHERE DATABASE": "sqla"
+ }
+ return driverDict.get(databaseType.upper())
--
To stop receiving notification emails like this one, please contact
[email protected].