You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ja...@apache.org on 2015/10/07 03:11:57 UTC
ambari git commit: AMBARI-13329. Test connection button for Ranger
privileged user should not connect to ranger database. (jaimin)
Repository: ambari
Updated Branches:
refs/heads/branch-2.1 32a5c51c9 -> 4df97f47c
AMBARI-13329. Test connection button for Ranger privileged user should not connect to ranger database. (jaimin)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4df97f47
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4df97f47
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4df97f47
Branch: refs/heads/branch-2.1
Commit: 4df97f47cdde68faa0b9ff38528cb7b9dc601532
Parents: 32a5c51
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Tue Oct 6 18:11:42 2015 -0700
Committer: Jaimin Jetly <ja...@hortonworks.com>
Committed: Tue Oct 6 18:11:42 2015 -0700
----------------------------------------------------------------------
.../RANGER/configuration/ranger-env.xml | 20 ++++++
.../HDP/2.3/services/RANGER/themes/theme.json | 64 +++++++++-----------
.../stacks/HDP/2.3/services/stack_advisor.py | 21 ++++++-
3 files changed, 68 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/4df97f47/ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/configuration/ranger-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/configuration/ranger-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/configuration/ranger-env.xml
index a8ad1b6..5ed7b22 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/configuration/ranger-env.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/configuration/ranger-env.xml
@@ -75,5 +75,25 @@
</value-attributes>
</property>
+ <property>
+ <name>ranger_privelege_user_jdbc_url</name>
+ <display-name>JDBC connect string for root user</display-name>
+ <description>JDBC connect string - auto populated based on other values. This is to be used by root user</description>
+ <value>jdbc:mysql://localhost</value>
+ <value-attributes>
+ <overridable>false</overridable>
+ </value-attributes>
+ <depends-on>
+ <property>
+ <type>admin-properties</type>
+ <name>DB_FLAVOR</name>
+ </property>
+ <property>
+ <type>admin-properties</type>
+ <name>db_host</name>
+ </property>
+ </depends-on>
+ </property>
+
</configuration>
http://git-wip-us.apache.org/repos/asf/ambari/blob/4df97f47/ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/themes/theme.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/themes/theme.json b/ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/themes/theme.json
index c4f7d59..31d5cf7 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/themes/theme.json
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/services/RANGER/themes/theme.json
@@ -18,10 +18,10 @@
"display-name": "Ranger Admin",
"row-index": "0",
"column-index": "0",
- "row-span": "4",
+ "row-span": "3",
"column-span": "2",
"section-columns": "2",
- "section-rows": "4",
+ "section-rows": "3",
"subsections": [
{
"name": "subsection-ranger-db-row1-col1",
@@ -38,30 +38,15 @@
"column-span": "1"
},
{
- "name": "subsection-ranger-db-row2-col1",
+ "name": "subsection-ranger-db-row2",
"row-index": "1",
"column-index": "0",
"row-span": "1",
- "column-span": "1"
- },
- {
- "name": "subsection-ranger-db-row2-col2",
- "row-index": "1",
- "column-index": "1",
- "row-span": "1",
- "column-span": "1",
- "left-vertical-splitter": false
- },
- {
- "name": "subsection-ranger-db-row3",
- "row-index": "2",
- "column-index": "0",
- "row-span": "1",
"column-span": "2"
},
{
- "name": "subsection-ranger-db-row4-col1",
- "row-index": "3",
+ "name": "subsection-ranger-db-row3-col1",
+ "row-index": "2",
"column-index": "0",
"row-span": "1",
"column-span": "1",
@@ -85,8 +70,8 @@
]
},
{
- "name": "subsection-ranger-db-row4-col2",
- "row-index": "3",
+ "name": "subsection-ranger-db-row3-col2",
+ "row-index": "2",
"column-index": "1",
"row-span": "1",
"column-span": "1",
@@ -107,8 +92,7 @@
}
}
}
- ],
- "left-vertical-splitter": false
+ ]
}
]
}
@@ -252,6 +236,10 @@
"subsection-name": "subsection-ranger-db-row1-col1"
},
{
+ "config": "admin-properties/db_user",
+ "subsection-name": "subsection-ranger-db-row1-col1"
+ },
+ {
"config": "ranger-admin-site/ranger.jpa.jdbc.url",
"subsection-name": "subsection-ranger-db-row1-col1"
},
@@ -264,16 +252,12 @@
"subsection-name": "subsection-ranger-db-row1-col2"
},
{
- "config": "admin-properties/db_user",
- "subsection-name": "subsection-ranger-db-row2-col1"
- },
- {
"config": "admin-properties/db_password",
- "subsection-name": "subsection-ranger-db-row2-col2"
+ "subsection-name": "subsection-ranger-db-row1-col2"
},
{
"config": "ranger-env/test_db_connection",
- "subsection-name": "subsection-ranger-db-row2-col2",
+ "subsection-name": "subsection-ranger-db-row2",
"property_value_attributes": {
"ui_only_property": true
},
@@ -298,19 +282,23 @@
},
{
"config": "ranger-env/create_db_dbuser",
- "subsection-name": "subsection-ranger-db-row3"
+ "subsection-name": "subsection-ranger-db-row2"
},
{
"config": "admin-properties/db_root_user",
- "subsection-name": "subsection-ranger-db-row4-col1"
+ "subsection-name": "subsection-ranger-db-row3-col1"
+ },
+ {
+ "config": "ranger-env/ranger_privelege_user_jdbc_url",
+ "subsection-name": "subsection-ranger-db-row3-col1"
},
{
"config": "admin-properties/db_root_password",
- "subsection-name": "subsection-ranger-db-row4-col2"
+ "subsection-name": "subsection-ranger-db-row3-col2"
},
{
"config": "ranger-env/test_root_db_connection",
- "subsection-name": "subsection-ranger-db-row4-col2",
+ "subsection-name": "subsection-ranger-db-row3-col1",
"property_value_attributes": {
"ui_only_property": true
}
@@ -827,6 +815,12 @@
}
},
{
+ "config": "ranger-env/ranger_privelege_user_jdbc_url",
+ "widget": {
+ "type": "text-field"
+ }
+ },
+ {
"config": "admin-properties/db_root_user",
"widget": {
"type": "text-field"
@@ -845,7 +839,7 @@
"display-name": "Test Connection",
"required-properties": {
"jdbc.driver.class": "ranger-admin-site/ranger.jpa.jdbc.driver",
- "jdbc.driver.url": "ranger-admin-site/ranger.jpa.jdbc.url",
+ "jdbc.driver.url": "ranger-env/ranger_privelege_user_jdbc_url",
"db.connection.source.host": "ranger-site/ranger_admin_hosts",
"db.type": "admin-properties/DB_FLAVOR",
"db.connection.destination.host": "admin-properties/db_host",
http://git-wip-us.apache.org/repos/asf/ambari/blob/4df97f47/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py b/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py
index adb6689..51a514e 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/services/stack_advisor.py
@@ -255,6 +255,7 @@ class HDP23StackAdvisor(HDP22StackAdvisor):
def recommendRangerConfigurations(self, configurations, clusterData, services, hosts):
super(HDP23StackAdvisor, self).recommendRangerConfigurations(configurations, clusterData, services, hosts)
putRangerAdminProperty = self.putProperty(configurations, "ranger-admin-site", services)
+ putRangerEnvProperty = self.putProperty(configurations, "ranger-env", services)
if 'admin-properties' in services['configurations'] and ('DB_FLAVOR' in services['configurations']['admin-properties']['properties'])\
and ('db_host' in services['configurations']['admin-properties']['properties']) and ('db_name' in services['configurations']['admin-properties']['properties']):
@@ -262,17 +263,33 @@ class HDP23StackAdvisor(HDP22StackAdvisor):
rangerDbFlavor = services['configurations']["admin-properties"]["properties"]["DB_FLAVOR"]
rangerDbHost = services['configurations']["admin-properties"]["properties"]["db_host"]
rangerDbName = services['configurations']["admin-properties"]["properties"]["db_name"]
- ranger_db_driver_dict = {
+ ranger_db_url_dict = {
'MYSQL': {'ranger.jpa.jdbc.driver': 'com.mysql.jdbc.Driver', 'ranger.jpa.jdbc.url': 'jdbc:mysql://' + rangerDbHost + '/' + rangerDbName},
'ORACLE': {'ranger.jpa.jdbc.driver': 'oracle.jdbc.driver.OracleDriver', 'ranger.jpa.jdbc.url': 'jdbc:oracle:thin:@/' + rangerDbHost + ':1521/' + rangerDbName},
'POSTGRES': {'ranger.jpa.jdbc.driver': 'org.postgresql.Driver', 'ranger.jpa.jdbc.url': 'jdbc:postgresql://' + rangerDbHost + ':5432/' + rangerDbName},
'MSSQL': {'ranger.jpa.jdbc.driver': 'com.microsoft.sqlserver.jdbc.SQLServerDriver', 'ranger.jpa.jdbc.url': 'jdbc:sqlserver://' + rangerDbHost + ';databaseName=' + rangerDbName},
'SQLA': {'ranger.jpa.jdbc.driver': 'sap.jdbc4.sqlanywhere.IDriver', 'ranger.jpa.jdbc.url': 'jdbc:sqlanywhere:host=' + rangerDbHost + ';database=' + rangerDbName}
}
- rangerDbProperties = ranger_db_driver_dict.get(rangerDbFlavor, ranger_db_driver_dict['MYSQL'])
+ rangerDbProperties = ranger_db_url_dict.get(rangerDbFlavor, ranger_db_url_dict['MYSQL'])
for key in rangerDbProperties:
putRangerAdminProperty(key, rangerDbProperties.get(key))
+ if 'admin-properties' in services['configurations'] and ('DB_FLAVOR' in services['configurations']['admin-properties']['properties']) \
+ and ('db_host' in services['configurations']['admin-properties']['properties']):
+
+ rangerDbFlavor = services['configurations']["admin-properties"]["properties"]["DB_FLAVOR"]
+ rangerDbHost = services['configurations']["admin-properties"]["properties"]["db_host"]
+ ranger_db_privelege_url_dict = {
+ 'MYSQL': {'ranger_privelege_user_jdbc_url': 'jdbc:mysql://' + rangerDbHost},
+ 'ORACLE': {'ranger_privelege_user_jdbc_url': 'jdbc:oracle:thin:@/' + rangerDbHost + ':1521'},
+ 'POSTGRES': {'ranger_privelege_user_jdbc_url': 'jdbc:postgresql://' + rangerDbHost + ':5432'},
+ 'MSSQL': {'ranger_privelege_user_jdbc_url': 'jdbc:sqlserver://' + rangerDbHost + ';'},
+ 'SQLA': {'ranger_privelege_user_jdbc_url': 'jdbc:sqlanywhere:host=' + rangerDbHost + ';'}
+ }
+ rangerPrivelegeDbProperties = ranger_db_privelege_url_dict.get(rangerDbFlavor, ranger_db_privelege_url_dict['MYSQL'])
+ for key in rangerPrivelegeDbProperties:
+ putRangerEnvProperty(key, rangerPrivelegeDbProperties.get(key))
+
def getServiceConfigurationValidators(self):
parentValidators = super(HDP23StackAdvisor, self).getServiceConfigurationValidators()
childValidators = {