소스 검색

AMBARI-9395 Ambari Web UI changes required to support Ranger Installation. (ababiichuk)

aBabiichuk 10 년 전
부모
커밋
ad73c195b2

+ 544 - 1
ambari-web/app/data/HDP2.2/site_properties.js

@@ -104,7 +104,550 @@ hdp22properties.push(
     "category": "FalconStartupSite",
     "serviceName": "FALCON",
     "filename": "falcon-startup.properties.xml"
-  });
+  },
+  /*********RANGER FOR HDFS************/
+  {
+    "id": "site property",
+    "name": "XAAUDIT.HDFS.IS_ENABLED",
+    "displayName": "Audit to HDFS",
+    "displayType": "checkbox",
+    "dependentConfigPattern": "^XAAUDIT.HDFS",
+    "filename": "ranger-hdfs-plugin-properties.xml",
+    "category": "Advanced ranger-hdfs-plugin-properties",
+    "serviceName": "HDFS"
+  },
+  {
+    "id": "site property",
+    "name": "XAAUDIT.DB.IS_ENABLED",
+    "displayName": "Audit to DB",
+    "displayType": "checkbox",
+    "filename": "ranger-hdfs-plugin-properties.xml",
+    "category": "Advanced ranger-hdfs-plugin-properties",
+    "serviceName": "HDFS"
+  },
+  {
+    "id": "site property",
+    "name": "enable_hdfs_plugin",
+    "value": false,
+    "defaultValue": false,
+    "displayName": "Enable Ranger for HDFS",
+    "displayType": "checkbox",
+    "filename": "ranger-hdfs-plugin-properties.xml",
+    "category": "Advanced ranger-hdfs-plugin-properties",
+    "serviceName": "HDFS"
+  },
+  {
+    "id": "puppet var",
+    "name": "RANGER_HOST",
+    "displayName": "Policy Admin URL",
+    "value": "",
+    "defaultValue": "",
+    "description": "The host that has been assigned to run Ranger Server",
+    "displayType": "masterHost",
+    "isOverridable": false,
+    "isVisible": true,
+    "isRequiredByAgent": false,
+    "serviceName": "HDFS",
+    "filename": "ranger-hdfs-plugin-properties.xml",
+    "category": "Advanced ranger-hdfs-plugin-properties"
+  },
+  /*********RANGER FOR HIVE************/
+  {
+    "id": "site property",
+    "name": "XAAUDIT.HDFS.IS_ENABLED",
+    "displayName": "Audit to HDFS",
+    "displayType": "checkbox",
+    "dependentConfigPattern": "^XAAUDIT.HDFS",
+    "filename": "ranger-hive-plugin-properties.xml",
+    "category": "Advanced ranger-hive-plugin-properties",
+    "serviceName": "HIVE"
+  },
+  {
+    "id": "site property",
+    "name": "XAAUDIT.DB.IS_ENABLED",
+    "displayName": "Audit to DB",
+    "displayType": "checkbox",
+    "filename": "ranger-hive-plugin-properties.xml",
+    "category": "Advanced ranger-hive-plugin-properties",
+    "serviceName": "HIVE"
+  },
+  {
+    "id": "site property",
+    "name": "enable_hdfs_plugin",
+    "value": false,
+    "defaultValue": false,
+    "displayName": "Enable Ranger for HDFS",
+    "displayType": "checkbox",
+    "filename": "ranger-hive-plugin-properties.xml",
+    "category": "Advanced ranger-hive-plugin-properties",
+    "serviceName": "HIVE"
+  },
+  {
+    "id": "site property",
+    "name": "UPDATE_XAPOLICIES_ON_GRANT_REVOKE",
+    "defaultValue": true,
+    "displayName": "Should Hive GRANT/REVOKE update XA policies?",
+    "displayType": "checkbox",
+    "filename": "ranger-hive-plugin-properties.xml",
+    "category": "Advanced ranger-hive-plugin-properties",
+    "serviceName": "HIVE"
+  },
+  {
+    "id": "puppet var",
+    "name": "RANGER_HOST",
+    "displayName": "Policy Admin URL",
+    "value": "",
+    "defaultValue": "",
+    "description": "The host that has been assigned to run Ranger Server",
+    "displayType": "masterHost",
+    "isOverridable": false,
+    "isVisible": true,
+    "isRequiredByAgent": false,
+    "serviceName": "HIVE",
+    "filename": "ranger-hive-plugin-properties.xml",
+    "category": "Advanced ranger-hive-plugin-properties"
+  },
+  /*********RANGER FOR HBASE************/
+  {
+    "id": "site property",
+    "name": "XAAUDIT.HDFS.IS_ENABLED",
+    "displayName": "Audit to HDFS",
+    "displayType": "checkbox",
+    "dependentConfigPattern": "^XAAUDIT.HDFS",
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "category": "Advanced ranger-hbase-plugin-properties",
+    "serviceName": "HBASE"
+  },
+  {
+    "id": "site property",
+    "name": "XAAUDIT.DB.IS_ENABLED",
+    "displayName": "Audit to DB",
+    "displayType": "checkbox",
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "category": "Advanced ranger-hbase-plugin-properties",
+    "serviceName": "HBASE"
+  },
+  {
+    "id": "site property",
+    "name": "enable_hdfs_plugin",
+    "value": false,
+    "defaultValue": false,
+    "displayName": "Enable Ranger for HDFS",
+    "displayType": "checkbox",
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "category": "Advanced ranger-hbase-plugin-properties",
+    "serviceName": "HBASE"
+  },
+  {
+    "id": "site property",
+    "name": "UPDATE_XAPOLICIES_ON_GRANT_REVOKE",
+    "defaultValue": true,
+    "displayName": "Should HBase GRANT/REVOKE update XA policies?",
+    "displayType": "checkbox",
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "category": "Advanced ranger-hbase-plugin-properties",
+    "serviceName": "HBASE"
+  },
+  {
+    "id": "puppet var",
+    "name": "RANGER_HOST",
+    "displayName": "Policy Admin URL",
+    "value": "",
+    "defaultValue": "",
+    "description": "The host that has been assigned to run Ranger Server",
+    "displayType": "masterHost",
+    "isOverridable": false,
+    "isVisible": true,
+    "isRequiredByAgent": false,
+    "serviceName": "HBASE",
+    "filename": "ranger-hbase-plugin-properties.xml",
+    "category": "Advanced ranger-hbase-plugin-properties"
+  },
+  /*********RANGER FOR STORM************/
+  {
+    "id": "site property",
+    "name": "XAAUDIT.HDFS.IS_ENABLED",
+    "displayName": "Audit to HDFS",
+    "displayType": "checkbox",
+    "dependentConfigPattern": "^XAAUDIT.HDFS",
+    "filename": "ranger-storm-plugin-properties.xml",
+    "category": "Advanced ranger-storm-plugin-properties",
+    "serviceName": "STORM"
+  },
+  {
+    "id": "site property",
+    "name": "XAAUDIT.DB.IS_ENABLED",
+    "displayName": "Audit to DB",
+    "displayType": "checkbox",
+    "filename": "ranger-storm-plugin-properties.xml",
+    "category": "Advanced storm-hbase-plugin-properties",
+    "serviceName": "STORM"
+  },
+  {
+    "id": "site property",
+    "name": "enable_hdfs_plugin",
+    "value": false,
+    "defaultValue": false,
+    "displayName": "Enable Ranger for HDFS",
+    "displayType": "checkbox",
+    "filename": "ranger-storm-plugin-properties.xml",
+    "category": "Advanced storm-hbase-plugin-properties",
+    "serviceName": "STORM"
+  },
+  {
+    "id": "puppet var",
+    "name": "RANGER_HOST",
+    "displayName": "Policy Admin URL",
+    "value": "",
+    "defaultValue": "",
+    "description": "The host that has been assigned to run Ranger Server",
+    "displayType": "masterHost",
+    "isOverridable": false,
+    "isVisible": true,
+    "isRequiredByAgent": false,
+    "serviceName": "STORM",
+    "filename": "ranger-storm-plugin-properties.xml",
+    "category": "Advanced ranger-strom-plugin-properties"
+  },
+  /*********RANGER FOR KNOX************/
+  {
+    "id": "site property",
+    "name": "XAAUDIT.HDFS.IS_ENABLED",
+    "displayName": "Audit to HDFS",
+    "displayType": "checkbox",
+    "dependentConfigPattern": "^XAAUDIT.HDFS",
+    "filename": "ranger-knox-plugin-properties.xml",
+    "category": "Advanced ranger-knox-plugin-properties",
+    "serviceName": "KNOX"
+  },
+  {
+    "id": "site property",
+    "name": "XAAUDIT.DB.IS_ENABLED",
+    "displayName": "Audit to DB",
+    "displayType": "checkbox",
+    "filename": "ranger-knox-plugin-properties.xml",
+    "category": "Advanced ranger-knox-plugin-properties",
+    "serviceName": "KNOX"
+  },
+  {
+    "id": "site property",
+    "name": "enable_hdfs_plugin",
+    "value": false,
+    "defaultValue": false,
+    "displayName": "Enable Ranger for HDFS",
+    "displayType": "checkbox",
+    "filename": "ranger-knox-plugin-properties.xml",
+    "category": "Advanced ranger-knox-plugin-properties",
+    "serviceName": "KNOX"
+  },
+  {
+    "id": "puppet var",
+    "name": "RANGER_HOST",
+    "displayName": "Policy Admin URL",
+    "value": "",
+    "defaultValue": "",
+    "description": "The host that has been assigned to run Ranger Server",
+    "displayType": "masterHost",
+    "isOverridable": false,
+    "isVisible": true,
+    "isRequiredByAgent": false,
+    "serviceName": "KNOX",
+    "filename": "ranger-knox-plugin-properties.xml",
+    "category": "Advanced ranger-knox-plugin-properties"
+  },
+  /**********************************************RANGER***************************************/
+  {
+    "id": "puppet var",
+    "name": "RANGER_HOST",
+    "displayName": "Policy Admin URL",
+    "value": "",
+    "defaultValue": "",
+    "description": "The host that has been assigned to run Ranger Server",
+    "displayType": "masterHost",
+    "isOverridable": false,
+    "isVisible": true,
+    "isRequiredByAgent": false,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "Advanced admin-properties"
+  },
+  {
+    "id": "site property",
+    "name": "ambari_user_password",
+    "displayName": "Ranger Admin user's password for Ambari",
+    "defaultValue": "ambari",
+    "isReconfigurable": true,
+    "displayType": "password",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "AdminSettings"
+  },
+  {
+    "id": "site property",
+    "name": "SQL_CONNECTOR_JAR",
+    "displayName": "Location of Sql Connector Jar",
+    "defaultValue": "/usr/share/java/mysql-connector-java.jar",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "AdminSettings"
+  },
+  {
+    "id": "site property",
+    "name": "DB_FLAVOR",
+    "displayName": "DB FLAVOR",
+    "value": "MYSQL",
+    "defaultValue": "MYSQL",
+    "isReconfigurable": true,
+    "options": [
+      {
+        displayName: 'MYSQL'
+      },
+      {
+        displayName: 'ORACLE'
+      }
+    ],
+    "displayType": "radio button",
+    "radioName": "RANGER DB_FLAVOR",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "SQL_COMMAND_INVOKER",
+    "displayName": "SQL Command Invoker",
+    "defaultValue": "mysql",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "db_host",
+    "displayName": "Admin DB Instance",
+    "defaultValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "db_root_user",
+    "displayName": "Admin DB root user",
+    "defaultValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "db_root_password",
+    "displayName": "Admin DB root password",
+    "defaultValue": "",
+    "isReconfigurable": true,
+    "displayType": "password",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "db_name",
+    "displayName": "Admin DB database name",
+    "defaultValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+
+  {
+    "id": "site property",
+    "name": "db_user",
+    "displayName": "Admin DB mysql username",
+    "defaultValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "db_password",
+    "displayName": "Admin DB mysql password",
+    "defaultValue": "",
+    "isReconfigurable": true,
+    "displayType": "password",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "audit_db_name",
+    "displayName": "Admin DB database name",
+    "defaultValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "audit_db_user",
+    "displayName": "Admin DB mysql username",
+    "defaultValue": "",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "site property",
+    "name": "audit_db_password",
+    "displayName": "Admin DB mysql password",
+    "defaultValue": "",
+    "isReconfigurable": true,
+    "displayType": "password",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "DBSettings"
+  },
+  {
+    "id": "puppet var",
+    "name": "policymgr_external_url",
+    "displayName": "External URL",
+    "defaultValue": "http://localhost:6080",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "Advanced admin-properties"
+  },
+  {
+    "id": "puppet var",
+    "name": "policymgr_http_enabled",
+    "displayName": "HTTP enabled",
+    "defaultValue": true,
+    "isReconfigurable": true,
+    "displayType": "checkbox",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "Advanced admin-properties"
+  },
+  {
+    "id": "puppet var",
+    "name": "unix_user",
+    "displayName": "Used to create user and assign permission",
+    "defaultValue": "ranger",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "Advanced admin-properties"
+  },
+  {
+    "id": "puppet var",
+    "name": "unix_group",
+    "displayName": "Used to create group and assign permission",
+    "defaultValue": "ranger",
+    "isReconfigurable": true,
+    "displayType": "",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "Advanced admin-properties"
+  },
+  {
+    "id": "site property",
+    "name": "authentication_method",
+    "displayName": "Authentication method",
+    "defaultValue": "NONE",
+    "options": [
+      {
+        displayName: 'LDAP',
+        foreignKeys: ['xa_ldap_userDNpattern', 'xa_ldap_groupRoleAttribute', 'xa_ldap_url', 'xa_ldap_groupSearchBase', 'xa_ldap_groupSearchFilter']
+      },
+      {
+        displayName: 'ACTIVE_DIRECTORY',
+        foreignKeys: ['xa_ldap_ad_domain', 'xa_ldap_ad_url']
+      },
+      {
+        displayName: 'UNIX',
+        foreignKeys: ['remoteLoginEnabled', 'authServiceHostName','authServicePort']
+      },
+      {
+        displayName: 'NONE'
+      }
+    ],
+    "displayType": "radio button",
+    "radioName": "authentication-method",
+    "isReconfigurable": true,
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "Advanced admin-properties"
+  },
+  {
+    "id": "puppet var",
+    "name": "remoteLoginEnabled",
+    "displayName": "Allow remote Login",
+    "defaultValue": true,
+    "isReconfigurable": true,
+    "displayType": "checkbox",
+    "isOverridable": false,
+    "isVisible": true,
+    "serviceName": "RANGER",
+    "filename": "admin-properties.xml",
+    "category": "Advanced admin-properties"
+  }
+);
 
 var additionalProperties = [];
 

+ 11 - 1
ambari-web/app/models/service_config.js

@@ -600,6 +600,12 @@ App.ServiceConfigProperty = Em.Object.extend({
         var falconServerHost = masterComponentHostsInDB.findProperty('component', 'FALCON_SERVER').hostName;
         this.setDefaultValue('localhost', falconServerHost);
         break;
+      case 'RANGER_HOST':
+        var rangerAdminHost = masterComponentHostsInDB.findProperty('component', 'RANGER_ADMIN');
+        if(rangerAdminHost) {
+          this.set('value', rangerAdminHost.hostName);
+        }
+        break;
     }
   },
 
@@ -845,7 +851,11 @@ App.ServiceConfigProperty = Em.Object.extend({
   viewClass: function () {
     switch (this.get('displayType')) {
       case 'checkbox':
-        return App.ServiceConfigCheckbox;
+        if (this.get('dependentConfigPattern')) {
+          return App.ServiceConfigCheckboxWithDependencies;
+        } else {
+          return App.ServiceConfigCheckbox;
+        }
       case 'password':
         return App.ServiceConfigPasswordField;
       case 'combobox':

+ 7 - 1
ambari-web/app/models/stack_service.js

@@ -164,7 +164,7 @@ App.StackService = DS.Model.extend({
     var configTypes = this.get('configTypes');
     var serviceComponents = this.get('serviceComponents');
     if (configTypes && Object.keys(configTypes).length) {
-      var pattern = ["General", "CapacityScheduler", "FaultTolerance", "Isolation", "Performance", "KDC","^Advanced", "Env$", "^Custom", "Falcon - Oozie integration", "FalconStartupSite", "FalconRuntimeSite", "MetricCollector"];
+      var pattern = ["General", "CapacityScheduler", "FaultTolerance", "Isolation", "Performance", "KDC","^Advanced", "Env$", "^Custom", "Falcon - Oozie integration", "FalconStartupSite", "FalconRuntimeSite", "MetricCollector", "Settings$"];
       configCategories = App.StackService.configCategories.call(this).filter(function (_configCategory) {
         var serviceComponentName = _configCategory.get('name');
         var isServiceComponent = serviceComponents.someProperty('componentName', serviceComponentName);
@@ -329,6 +329,12 @@ App.StackService.configCategories = function () {
         App.ServiceConfigCategory.create({ name: 'MetricCollector', displayName: 'Metric Collector'})
       ]);
       break;
+    case 'RANGER':
+      serviceConfigCategories.pushObjects([
+        App.ServiceConfigCategory.create({ name: 'AdminSettings', displayName: 'Admin Settings'}),
+        App.ServiceConfigCategory.create({ name: 'DBSettings', displayName: 'DB Settings'})
+      ]);
+      break;
     case 'PIG':
       break;
     case 'SQOOP':

+ 7 - 1
ambari-web/app/utils/config.js

@@ -563,7 +563,13 @@ App.config = Em.Object.create({
     // Password fields should be made blank by default in installer wizard
     // irrespective of whatever value is sent from stack definition.
     // This forces the user to fill the password field.
-    configData.value = configData.displayType == "password" ? '' : advanced ? advanced.value : configData.value;
+    if (configData.displayType == 'checkbox') {
+      configData.value = advanced ? advanced.value === 'true' : configData.value === 'true';
+    } else if (configData.displayType == 'password') {
+      configData.value = '';
+    } else {
+      configData.value = advanced ? advanced.value : configData.value;
+    }
     configData.defaultValue = configData.value;
     configData.filename = advanced ? advanced.filename : configData.filename;
     configData.description = advanced ? advanced.description : configData.description;

+ 29 - 1
ambari-web/app/views/common/controls_view.js

@@ -210,6 +210,27 @@ App.ServiceConfigCheckbox = Ember.Checkbox.extend(App.ServiceConfigPopoverSuppor
   }.property('serviceConfig.isEditable')
 });
 
+/**
+ * Checkbox control which can hide or show dependent  properties
+ * @type {*|void}
+ */
+App.ServiceConfigCheckboxWithDependencies = App.ServiceConfigCheckbox.extend({
+
+  didInsertElement: function() {
+    this._super();
+    this.showHideDependentConfigs();
+  },
+
+  showHideDependentConfigs: function() {
+    if (this.get('serviceConfig.dependentConfigPattern')) {
+      this.get('categoryConfigsAll').forEach(function(c) {
+        if (c.get('name').match(this.get('serviceConfig.dependentConfigPattern')) && c.get('name') != this.get('serviceConfig.name'))
+          c.set('isVisible', this.get('checked'))
+      }, this);
+    }
+  }.observes('checked')
+});
+
 App.ServiceConfigRadioButtons = Ember.View.extend(App.ServiceConfigCalculateId, {
   templateName: require('templates/wizard/controls_service_config_radio_buttons'),
 
@@ -217,7 +238,7 @@ App.ServiceConfigRadioButtons = Ember.View.extend(App.ServiceConfigCalculateId,
     // on page render, automatically populate JDBC URLs only for default database settings
     // so as to not lose the user's customizations on these fields
     if (['addServiceController', 'installerController'].contains(this.get('controller.wizardController.name'))) {
-      if (/^New\s\w+\sDatabase$/.test(this.get('serviceConfig.value'))) {
+      if (/^New\s\w+\sDatabase$/.test(this.get('serviceConfig.value')) || this.dontUseHandleDbConnection.contains(this.get('serviceConfig.name'))) {
         this.onOptionsChange();
       } else {
         this.handleDBConnectionProperty();
@@ -225,6 +246,11 @@ App.ServiceConfigRadioButtons = Ember.View.extend(App.ServiceConfigCalculateId,
     }
   },
 
+  /**
+   * properties with these names don'use handleDBConnectionProperty mathod
+   */
+  dontUseHandleDbConnection: ['DB_FLAVOR', 'authentication_method'],
+
   configs: function () {
     if (this.get('controller.name') == 'mainServiceInfoConfigsController') return this.get('categoryConfigsAll');
     return this.get('categoryConfigsAll').filterProperty('isObserved', true);
@@ -426,6 +452,8 @@ App.ServiceConfigRadioButtons = Ember.View.extend(App.ServiceConfigCalculateId,
    * @method handleDBConnectionProperty
    **/
   handleDBConnectionProperty: function() {
+    if (this.dontUseHandleDbConnection.contains(this.get('serviceConfig.name')))
+      return;
     var handledProperties = ['oozie_database', 'hive_database'];
     var currentValue = this.get('serviceConfig.value');
     var databases = /MySQL|PostgreSQL|Oracle|Derby|MSSQL/gi;

+ 7 - 0
ambari-web/test/models/service_config_test.js

@@ -257,6 +257,13 @@ var serviceConfig,
       },
       viewClass: App.ServiceConfigCheckbox
     },
+    {
+      initial: {
+        displayType: 'checkbox',
+        dependentConfigPattern: 'somPattern'
+      },
+      viewClass: App.ServiceConfigCheckboxWithDependencies
+    },
     {
       initial: {
         displayType: 'password'