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/08/22 01:12:30 UTC
ambari git commit: AMBARI-12858. Ranger config page is not getting
load for HDP 2.2 on Ambari-2.1.1. (jaimin)
Repository: ambari
Updated Branches:
refs/heads/branch-2.1.1 e03d0fda6 -> 3b72d911c
AMBARI-12858. Ranger config page is not getting load for HDP 2.2 on Ambari-2.1.1. (jaimin)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3b72d911
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3b72d911
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3b72d911
Branch: refs/heads/branch-2.1.1
Commit: 3b72d911cfcb27ffc14ac29ba31aaf2d0aebc0a4
Parents: e03d0fd
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Fri Aug 21 16:11:57 2015 -0700
Committer: Jaimin Jetly <ja...@hortonworks.com>
Committed: Fri Aug 21 16:12:20 2015 -0700
----------------------------------------------------------------------
ambari-web/app/data/HDP2.2/site_properties.js | 74 +++++++++++++++++++++-
ambari-web/app/data/HDP2.3/site_properties.js | 68 --------------------
ambari-web/app/utils/configs/database.js | 48 ++++++++------
3 files changed, 101 insertions(+), 89 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/3b72d911/ambari-web/app/data/HDP2.2/site_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2.2/site_properties.js b/ambari-web/app/data/HDP2.2/site_properties.js
index 019a4eb..dde84f1 100644
--- a/ambari-web/app/data/HDP2.2/site_properties.js
+++ b/ambari-web/app/data/HDP2.2/site_properties.js
@@ -450,10 +450,12 @@ hdp22properties.push(
"isReconfigurable": true,
"options": [
{
- displayName: 'MYSQL'
+ displayName: 'MYSQL',
+ foreignKeys: ['ranger_mysql_database', 'ranger_mysql_host']
},
{
- displayName: 'ORACLE'
+ displayName: 'ORACLE',
+ foreignKeys: ['ranger_oracle_database', 'ranger_oracle_host']
}
],
"displayType": "radio button",
@@ -507,6 +509,74 @@ hdp22properties.push(
"index": 5
},
{
+ "name": "ranger_mysql_database",
+ "id": "puppet var",
+ "displayName": "Database Type",
+ "value": "",
+ "recommendedValue": "MySQL",
+ "description": "Using a MySQL database for Ranger",
+ "displayType": "masterHost",
+ "isOverridable": false,
+ "isVisible": false,
+ "isReconfigurable": false,
+ "isRequiredByAgent": false,
+ "serviceName": "RANGER",
+ "filename": "admin-properties.xml",
+ "category": "DBSettings",
+ "index": 1
+ },
+ {
+ "name": "ranger_oracle_database",
+ "id": "puppet var",
+ "displayName": "Database Type",
+ "value": "",
+ "recommendedValue": "ORACLE",
+ "description": "Using an Oracle database for Ranger",
+ "displayType": "masterHost",
+ "isOverridable": false,
+ "isVisible": false,
+ "isReconfigurable": false,
+ "isRequiredByAgent": false,
+ "serviceName": "RANGER",
+ "filename": "admin-properties.xml",
+ "category": "DBSettings",
+ "index": 2
+ },
+ {
+ "name": "ranger_mysql_host",
+ "id": "puppet var",
+ "displayName": "Ranger DB host",
+ "description": "Specify the host on which the existing database is hosted",
+ "recommendedValue": "",
+ "value": "",
+ "displayType": "host",
+ "isOverridable": false,
+ "isVisible": false,
+ "isObserved": true,
+ "isRequiredByAgent": false,
+ "serviceName": "RANGER",
+ "filename": "admin-properties.xml",
+ "category": "DBSettings",
+ "index": 6
+ },
+ {
+ "name": "ranger_oracle_host",
+ "id": "puppet var",
+ "displayName": "Ranger DB host",
+ "description": "Specify the host on which the existing database is hosted",
+ "recommendedValue": "",
+ "value": "",
+ "displayType": "host",
+ "isOverridable": false,
+ "isVisible": false,
+ "isObserved": true,
+ "isRequiredByAgent": false,
+ "serviceName": "RANGER",
+ "filename": "admin-properties.xml",
+ "category": "DBSettings",
+ "index": 7
+ },
+ {
"id": "site property",
"name": "db_root_password",
"displayName": "Ranger DB root password",
http://git-wip-us.apache.org/repos/asf/ambari/blob/3b72d911/ambari-web/app/data/HDP2.3/site_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2.3/site_properties.js b/ambari-web/app/data/HDP2.3/site_properties.js
index 82721dc..d4372ab 100644
--- a/ambari-web/app/data/HDP2.3/site_properties.js
+++ b/ambari-web/app/data/HDP2.3/site_properties.js
@@ -106,40 +106,6 @@ hdp23properties.push({
"index": 2
},
{
- "name": "ranger_mysql_database",
- "id": "puppet var",
- "displayName": "Database Type",
- "value": "",
- "recommendedValue": "MySQL",
- "description": "Using a MySQL database for Ranger",
- "displayType": "masterHost",
- "isOverridable": false,
- "isVisible": false,
- "isReconfigurable": false,
- "isRequiredByAgent": false,
- "serviceName": "RANGER",
- "filename": "admin-properties.xml",
- "category": "DBSettings",
- "index": 1
- },
- {
- "name": "ranger_oracle_database",
- "id": "puppet var",
- "displayName": "Database Type",
- "value": "",
- "recommendedValue": "ORACLE",
- "description": "Using an Oracle database for Ranger",
- "displayType": "masterHost",
- "isOverridable": false,
- "isVisible": false,
- "isReconfigurable": false,
- "isRequiredByAgent": false,
- "serviceName": "RANGER",
- "filename": "admin-properties.xml",
- "category": "DBSettings",
- "index": 2
- },
- {
"name": "ranger_postgres_database",
"id": "puppet var",
"displayName": "Database Type",
@@ -548,40 +514,6 @@ hdp23properties.push({
"serviceName": "KAFKA"
},
{
- "name": "ranger_mysql_host",
- "id": "puppet var",
- "displayName": "Ranger DB host",
- "description": "Specify the host on which the existing database is hosted",
- "recommendedValue": "",
- "value": "",
- "displayType": "host",
- "isOverridable": false,
- "isVisible": false,
- "isObserved": true,
- "isRequiredByAgent": false,
- "serviceName": "RANGER",
- "filename": "admin-properties.xml",
- "category": "DBSettings",
- "index": 6
- },
- {
- "name": "ranger_oracle_host",
- "id": "puppet var",
- "displayName": "Ranger DB host",
- "description": "Specify the host on which the existing database is hosted",
- "recommendedValue": "",
- "value": "",
- "displayType": "host",
- "isOverridable": false,
- "isVisible": false,
- "isObserved": true,
- "isRequiredByAgent": false,
- "serviceName": "RANGER",
- "filename": "admin-properties.xml",
- "category": "DBSettings",
- "index": 7
- },
- {
"name": "ranger_postgres_host",
"id": "puppet var",
"displayName": "Ranger DB host",
http://git-wip-us.apache.org/repos/asf/ambari/blob/3b72d911/ambari-web/app/utils/configs/database.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/configs/database.js b/ambari-web/app/utils/configs/database.js
index 3ef7c0a..37fd0ae 100644
--- a/ambari-web/app/utils/configs/database.js
+++ b/ambari-web/app/utils/configs/database.js
@@ -70,12 +70,12 @@ module.exports = {
* @param {App.ServiceConfigProperty[]} serviceConfigs
* @param {string} [serviceName=false]
*/
- bootstrapDatabaseProperties: function(serviceConfigs, serviceName) {
+ bootstrapDatabaseProperties: function (serviceConfigs, serviceName) {
var self = this;
var supportedServices = Em.keys(this.dbServicePropertyMap);
if (serviceName && !supportedServices.contains(serviceName)) return;
var serviceNames = serviceName ? [serviceName] : serviceConfigs.mapProperty('serviceName').uniq();
- serviceNames.forEach(function(serviceName) {
+ serviceNames.forEach(function (serviceName) {
if (!supportedServices.contains(serviceName)) return;
var configs = serviceConfigs.filterProperty('serviceName', serviceName) || [];
var connectionConfigs = self.dbServicePropertyMap[serviceName];
@@ -83,14 +83,24 @@ module.exports = {
if (!databaseTypeProperty) return;
var databaseTypePropertyIndex = configs.indexOf(databaseTypeProperty);
var generatedProperties = self.getPropsByOptions(databaseTypeProperty, configs);
- var jdbcObject = self.parseJdbcUrl(Em.get(configs.findProperty('name', connectionConfigs.connectionUrl), 'value'));
- generatedProperties.forEach(function(property) {
+ var connectionUrlProperty = configs.findProperty('name', connectionConfigs.connectionUrl);
+ if (connectionUrlProperty) {
+ var jdbcObject = self.parseJdbcUrl(connectionUrlProperty.get('value'));
+ }
+ generatedProperties.forEach(function (property) {
+ var dbHostName;
if (Em.get(property, 'name').endsWith('_host')) {
- // set UI host names for each database type with value parsed from jdbc connection url
- // if value is not ip or hostname (in case of New Derby Database) for Oozie set <code>fallbackUrl</code>
- // from <code>dbServicePropertyMap</code>
+ if (jdbcObject) {
+ dbHostName = jdbcObject.location;
+ } else {
+ var fallbackHostNameProperty = configs.findProperty('name', self.dbServicePropertyMap[serviceName].fallbackHostName);
+ if (fallbackHostNameProperty) {
+ dbHostName = fallbackHostNameProperty.get('recommendedValue');
+ dbHostName = Em.isArray(dbHostName) ? dbHostName[0] : dbHostName;
+ }
+ }
Em.setProperties(property, {
- value: jdbcObject.location || ''
+ value: dbHostName || ''
});
self.addPropertyToServiceConfigs(property, serviceConfigs, databaseTypePropertyIndex);
}
@@ -98,7 +108,7 @@ module.exports = {
});
},
- isValidHostname: function(value) {
+ isValidHostname: function (value) {
return validators.isHostname(value) || validators.isIpAddress(value);
},
@@ -110,7 +120,7 @@ module.exports = {
* @param {App.ServiceConfigProperty[]} configs - loaded and processed service configs
* @param {integer} index of first occurrence of database type in config
*/
- addPropertyToServiceConfigs: function(property, configs, index) {
+ addPropertyToServiceConfigs: function (property, configs, index) {
var configProperty = configs.findProperty('name', Em.get(property, 'name'));
if (configProperty) {
Em.set(configProperty, 'value', Em.get(property, 'value'));
@@ -131,11 +141,11 @@ module.exports = {
* @param {App.ServiceConfigProperty[]} configs - loaded and processed configs
* @returns {object[]} - hardcoded properties from site_properties.js related to database name and location
*/
- getPropsByOptions: function(databaseTypeProperty) {
+ getPropsByOptions: function (databaseTypeProperty) {
Em.assert('Property related to database type should contains `options` attribute', databaseTypeProperty.get('options'));
- return databaseTypeProperty.options.mapProperty('foreignKeys').reduce(function(p,c) {
+ return databaseTypeProperty.options.mapProperty('foreignKeys').reduce(function (p, c) {
return p.concat(c);
- }).uniq().map(function(name) {
+ }).uniq().map(function (name) {
return App.config.get('preDefinedSiteProperties').findProperty('name', name) || null;
}).compact();
},
@@ -145,11 +155,11 @@ module.exports = {
*
* @method getDBLocationFromJDBC
* @param {string} jdbcUrl - url to parse
- * @returns {string|null}
+ * @returns {string|null}
*/
- getDBLocationFromJDBC: function(jdbcUrl) {
+ getDBLocationFromJDBC: function (jdbcUrl) {
var self = this;
- var matches = Em.keys(this.DB_JDBC_PATTERNS).map(function(key) {
+ var matches = Em.keys(this.DB_JDBC_PATTERNS).map(function (key) {
var reg = new RegExp(self.DB_JDBC_PATTERNS[key].format('(.*)', '(.*)'));
return jdbcUrl.match(reg);
}).compact();
@@ -164,7 +174,7 @@ module.exports = {
}
},
- parseJdbcUrl: function(jdbcUrl) {
+ parseJdbcUrl: function (jdbcUrl) {
var self = this;
var result = {
dbType: null,
@@ -173,14 +183,14 @@ module.exports = {
};
var dbName;
- result.dbType = Em.keys(this.DB_JDBC_PATTERNS).filter(function(key) {
+ result.dbType = Em.keys(this.DB_JDBC_PATTERNS).filter(function (key) {
var scheme = self.DB_JDBC_PATTERNS[key].match(/^jdbc:(\w+):/)[1];
return new RegExp('jdbc:' + scheme).test(jdbcUrl);
})[0];
result.location = this.getDBLocationFromJDBC(jdbcUrl);
if (!jdbcUrl.endsWith('{1}')) {
- dbName = jdbcUrl.replace(new RegExp(this.DB_JDBC_PATTERNS[result.dbType].format(stringUtils.escapeRegExp(result.location),'')), '');
+ dbName = jdbcUrl.replace(new RegExp(this.DB_JDBC_PATTERNS[result.dbType].format(stringUtils.escapeRegExp(result.location), '')), '');
if (dbName) {
result.databaseName = dbName.split(/[;|?]/)[0];
}