You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2015/06/18 15:48:33 UTC
[3/4] ambari git commit: AMBARI-11995 Remove add security wizard from
Ambari. (ababiichuk)
http://git-wip-us.apache.org/repos/asf/ambari/blob/c61933d8/ambari-web/app/controllers/main/admin/security/security_progress_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/security/security_progress_controller.js b/ambari-web/app/controllers/main/admin/security/security_progress_controller.js
deleted file mode 100644
index bf93ee2..0000000
--- a/ambari-web/app/controllers/main/admin/security/security_progress_controller.js
+++ /dev/null
@@ -1,465 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-var App = require('app');
-
-App.MainAdminSecurityProgressController = Em.Controller.extend({
- name: 'mainAdminSecurityProgressController',
-
- commands: [],
- configs: [],
- serviceConfigTags: [],
- totalSteps: 3,
- isSubmitDisabled: true,
- hasHostPopup: true,
- services: [],
- serviceTimestamp: null,
- operationsInfo: [
- {
- name: 'STOP_SERVICES',
- realUrl: '/services',
- testUrl: '/data/wizard/deploy/2_hosts/poll_1.json',
- data: '{"RequestInfo": {"context" :"' + Em.I18n.t('requestInfo.stopAllServices') + '"}, "Body": {"ServiceInfo": {"state": "INSTALLED"}}}'
- },
- {
- name: 'START_SERVICES',
- realUrl: '/services?params/run_smoke_test=true',
- testUrl: '/data/wizard/deploy/2_hosts/poll_1.json',
- data: '{"RequestInfo": {"context": "' + Em.I18n.t('requestInfo.startAllServices') + '"}, "Body": {"ServiceInfo": {"state": "STARTED"}}}'
- }
- ],
-
- secureMapping: require('data/HDP2/secure_mapping'),
-
- secureProperties: require('data/HDP2/secure_properties').configProperties,
-
- /**
- * prepare and restart failed command
- */
- retry: function () {
- var failedCommand = this.get('commands').findProperty('isError');
- if (failedCommand) {
- failedCommand.set('requestId', null);
- failedCommand.set('isStarted', false);
- failedCommand.set('isError', false);
- this.startCommand(failedCommand);
- }
- },
-
- /**
- * start updating current task in parallel
- * @param requestId
- * @param taskId
- * @return {Boolean}
- */
- startUpdatingTask: function (requestId, taskId) {
- if (!requestId || !taskId) return false;
- var command = this.get('commands').findProperty('requestId', requestId);
- command.updateTaskLog(taskId);
- return true;
- },
-
- /**
- * stop updating current task
- * @param requestId
- * @return {Boolean}
- */
- stopUpdatingTask: function (requestId) {
- if (!requestId) return false;
- var command = this.get('commands').findProperty('requestId', requestId);
- command.set('currentTaskId', null);
- return true;
- },
-
- /**
- * update info about progress of operation of commands
- */
- updateServices: function () {
- this.services.clear();
- var services = this.get("services");
- this.get("commands").forEach(function (command) {
- var polledData = command.get('polledData');
- var newService = Ember.Object.create({
- name: command.get('label'),
- hosts: []
- });
- if (polledData) {
- var hostNames = polledData.mapProperty('Tasks.host_name').uniq();
- hostNames.forEach(function (name) {
- newService.hosts.push({
- name: name,
- publicName: name,
- logTasks: polledData.filterProperty("Tasks.host_name", name)
- });
- });
- services.push(newService);
- }
- });
- this.set('serviceTimestamp', App.dateTime());
- }.observes('commands.@each.polledData'),
- /**
- * initialize default commands
- */
- loadCommands: function () {
- this.get('commands').pushObjects([
- App.Poll.create({name: 'STOP_SERVICES', label: Em.I18n.translations['admin.addSecurity.apply.stop.services'], isPolling: true }),
- App.Poll.create({name: 'APPLY_CONFIGURATIONS', label: Em.I18n.translations['admin.addSecurity.apply.save.config'], isPolling: false }),
- App.Poll.create({name: 'START_SERVICES', label: Em.I18n.translations['admin.addSecurity.apply.start.services'], isPolling: true })
- ]);
- },
-
- addObserverToCommands: function () {
- this.setIndex(this.get('commands'));
- this.addObserver('commands.@each.isSuccess', this, 'onCompleteCommand');
- },
- /**
- * set index to each command
- * @param commandArray
- */
- setIndex: function (commandArray) {
- commandArray.forEach(function (command, index) {
- command.set('index', index + 1);
- }, this);
- this.set('totalSteps', commandArray.length);
- },
-
- startCommand: function (command) {
- if (this.get('commands').length === this.get('totalSteps')) {
- if (!command) {
- var startedCommand = this.get('commands').filterProperty('isStarted', true);
- command = startedCommand.findProperty('isCompleted', false);
- }
- if (command) {
- if (command.get('isPolling')) {
- command.set('isStarted', true);
- command.start();
- } else if (command.get('name') === 'APPLY_CONFIGURATIONS') {
- command.set('isStarted', true);
- if (App.get('testMode')) {
- command.set('isError', false);
- command.set('isSuccess', true);
- } else {
- this.loadClusterConfigs();
- }
- } else if (command.get('name') === 'DELETE_ATS') {
- command.set('isStarted', true);
- if (App.get('testMode')) {
- command.set('isError', false);
- command.set('isSuccess', true);
- } else {
- var timeLineServer = App.HostComponent.find().findProperty('componentName', 'APP_TIMELINE_SERVER');
- if (timeLineServer) {
- this.deleteComponents('APP_TIMELINE_SERVER', timeLineServer.get('hostName'));
- } else {
- this.onDeleteComplete();
- }
- }
- }
- return true;
- }
- }
- return false;
- },
- /**
- * on command completion move to next command
- * @return {Boolean}
- */
- onCompleteCommand: function () {
- if (this.get('commands').length === this.get('totalSteps')) {
- var index = this.get('commands').filterProperty('isSuccess', true).length;
- if (index > 0) {
- var lastCompletedCommandResult = this.get('commands').objectAt(index - 1).get('isSuccess');
- if (lastCompletedCommandResult) {
- var nextCommand = this.get('commands').objectAt(index);
- this.moveToNextCommand(nextCommand);
- return true;
- }
- }
- }
- return false;
- },
- /**
- * move to next command
- * @param nextCommand
- */
- moveToNextCommand: function (nextCommand) {
- nextCommand = nextCommand || this.get('commands').findProperty('isStarted', false);
- if (nextCommand) {
- this.startCommand(nextCommand);
- return true;
- }
- return false;
- },
-
- /**
- * add query information(url, data) to commands
- */
- addInfoToCommands: function () {
- var operationsInfo = this.get('operationsInfo');
- var urlPrefix = App.apiPrefix + '/clusters/' + App.get('clusterName');
- operationsInfo.forEach(function (operation) {
- var command = this.get('commands').findProperty('name', operation.name);
- var url = (App.get('testMode')) ? operation.testUrl : urlPrefix + operation.realUrl;
- command.set('url', url);
- command.set('data', operation.data);
- }, this);
- },
-
- loadClusterConfigs: function () {
- App.ajax.send({
- name: 'admin.security.add.cluster_configs',
- sender: this,
- success: 'loadClusterConfigsSuccessCallback',
- error: 'loadClusterConfigsErrorCallback'
- });
- },
-
- loadClusterConfigsSuccessCallback: function (data) {
- //prepare tags to fetch all configuration for a service
- this.get('secureServices').forEach(function (_secureService) {
- this.setServiceTagNames(_secureService, data.Clusters.desired_configs);
- }, this);
- this.getAllConfigurations();
- },
-
- loadClusterConfigsErrorCallback: function (request, ajaxOptions, error) {
- var command = this.get('commands').findProperty('name', 'APPLY_CONFIGURATIONS');
- command.set('isSuccess', false);
- command.set('isError', true);
- console.log("TRACE: error code status is: " + request.status);
- },
-
- /**
- * set tag names according to installed services and desired configs
- * @param secureService
- * @param configs
- * @return {Object}
- */
- setServiceTagNames: function (secureService, configs) {
- //var serviceConfigTags = this.get('serviceConfigTags');
- for (var index in configs) {
- if (secureService.sites && secureService.sites.contains(index)) {
- var serviceConfigObj = {
- siteName: index,
- tagName: configs[index].tag,
- newTagName: null,
- configs: {}
- };
- this.get('serviceConfigTags').pushObject(serviceConfigObj);
- }
- }
- return serviceConfigObj;
- },
-
- /**
- * form query data and apply security configurations to server
- */
- applyConfigurationsToCluster: function () {
- var configData = this.get('serviceConfigTags').map(function (_serviceConfig) {
- var res = {
- type: _serviceConfig.siteName,
- tag: _serviceConfig.newTagName,
- properties: _serviceConfig.configs,
- service_config_version_note: Em.I18n.t('admin.security.step4.save.configuration.note')
- };
- if (_serviceConfig.properties_attributes) {
- res['properties_attributes'] = _serviceConfig.properties_attributes
- }
- return res;
- }, this);
-
- var selectedServices = this.get('secureServices');
- var allConfigData = [];
- selectedServices.forEach(function (service) {
- var stackService = App.StackService.find(service.serviceName);
- if (stackService) {
- var serviceConfigData = [];
- Object.keys(stackService.get('configTypesRendered')).forEach(function (type) {
- var serviceConfigTag = configData.findProperty('type', type);
- if (serviceConfigTag) {
- serviceConfigData.pushObject(serviceConfigTag);
- }
- }, this);
- allConfigData.pushObject(JSON.stringify({
- Clusters: {
- desired_config: serviceConfigData
- }
- }));
- }
- }, this);
-
- var clusterConfig = configData.findProperty('type', 'cluster-env');
- if (clusterConfig) {
- allConfigData.pushObject(JSON.stringify({
- Clusters: {
- desired_config: [clusterConfig]
- }
- }));
- }
- App.ajax.send({
- name: 'common.across.services.configurations',
- sender: this,
- data: {
- data: '[' + allConfigData.toString() + ']'
- },
- success: 'applyConfigurationToClusterSuccessCallback',
- error: 'applyConfigurationToClusterErrorCallback'
- });
- },
-
- applyConfigurationToClusterSuccessCallback: function (data) {
- var command = this.get('commands').findProperty('name', 'APPLY_CONFIGURATIONS');
- command.set('isSuccess', true);
- command.set('isError', false);
- },
-
- applyConfigurationToClusterErrorCallback: function (request, ajaxOptions, error) {
- var command = this.get('commands').findProperty('name', 'APPLY_CONFIGURATIONS');
- command.set('isSuccess', false);
- command.set('isError', true);
- },
-
- /**
- * gets site config properties from server and sets it for every configuration
- */
- getAllConfigurations: function () {
- var urlParams = [];
- this.get('serviceConfigTags').forEach(function (_tag) {
- urlParams.push('(type=' + _tag.siteName + '&tag=' + _tag.tagName + ')');
- }, this);
- if (urlParams.length > 0) {
- App.ajax.send({
- name: 'admin.get.all_configurations',
- sender: this,
- data: {
- urlParams: urlParams.join('|')
- },
- success: 'getAllConfigurationsSuccessCallback',
- error: 'getAllConfigurationsErrorCallback'
- });
- }
- },
-
- getAllConfigurationsSuccessCallback: function (data) {
- console.log("TRACE: In success function for the GET getServiceConfigsFromServer call");
- var command = this.get('commands').findProperty('name', 'APPLY_CONFIGURATIONS');
- this.get('serviceConfigTags').forEach(function (_tag) {
- if (!data.items.someProperty('type', _tag.siteName)) {
- console.log("Error: Metadata for secure services (secure_configs.js) is having config tags that are not being retrieved from server");
- command.set('isSuccess', false);
- command.set('isError', true);
- }
- var cfg = data.items.findProperty('type', _tag.siteName);
- _tag.configs = this.modifyConfigsForSecure(_tag.siteName, cfg);
- if (cfg.properties_attributes) {
- _tag.properties_attributes = cfg.properties_attributes;
- }
- }, this);
- if (this.manageSecureConfigs()) {
- this.applyConfigurationsToCluster();
- }
- },
-
- propertiesToUpdate: [
- {
- siteName: 'storm-site',
- name: 'ui.childopts',
- append: ' -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf'
- },
- {
- siteName: 'storm-site',
- name: 'supervisor.childopts',
- append: ' -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf'
- },
- {
- siteName: 'storm-site',
- name: 'nimbus.childopts',
- append: ' -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf'
- }
- ],
-
- /**
- * updates some configs for correct work in secure mode
- * @method modifyConfigsForSecure
- * @param {String} siteName
- * @param {Object} cfg
- * {
- * properties: {
- * 'ui.childopts': 'value1'
- * 'property2': 'value2'
- * }
- * };
- * has other properties but required filed is "properties";
- * @returns {Object}
- * properties: {
- * 'ui.childopts': 'value1 -Djava.security.auth.login.config=/etc/storm/conf/storm_jaas.conf'
- * 'property2': 'value2'
- * }
- */
- modifyConfigsForSecure: function(siteName, cfg) {
- var propertiesToUpdate = this.get('propertiesToUpdate').filterProperty('siteName', siteName);
- if (propertiesToUpdate.length) {
- propertiesToUpdate.forEach(function(p) {
- cfg.properties[p.name] += p.append;
- }, this);
- }
- return cfg.properties
- },
-
- getAllConfigurationsErrorCallback: function (request, ajaxOptions, error) {
- var command = this.get('commands').findProperty('name', 'APPLY_CONFIGURATIONS');
- command.set('isSuccess', false);
- command.set('isError', true);
- console.log("TRACE: In error function for the getServiceConfigsFromServer call");
- console.log("TRACE: error code status is: " + request.status);
- },
-
- /**
- * save commands to server and local storage
- */
- saveCommands: function () {
- var commands = [];
- if (this.get('commands').length === this.get('totalSteps')) {
- this.get('commands').forEach(function (_command) {
- var command = {
- name: _command.get('name'),
- label: _command.get('label'),
- isPolling: _command.get('isPolling'),
- isVisible: _command.get('isVisible'),
- isStarted: _command.get('isStarted'),
- requestId: _command.get('requestId'),
- isSuccess: _command.get('isSuccess'),
- isError: _command.get('isError'),
- url: _command.get('url'),
- polledData: _command.get('polledData'),
- data: _command.get('data')
- };
- commands.pushObject(command);
- }, this);
- App.db.setSecurityDeployCommands(commands);
- if (!App.get('testMode')) {
- App.clusterStatus.setClusterStatus({
- clusterName: this.get('clusterName'),
- clusterState: 'ADD_SECURITY_STEP_4',
- wizardControllerName: App.router.get('addSecurityController.name'),
- localdb: App.db.data
- });
- }
- }
- }.observes('commands.@each.isCompleted', 'commands.@each.requestId')
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c61933d8/ambari-web/app/controllers/main/host/details.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/host/details.js b/ambari-web/app/controllers/main/host/details.js
index 144465b..c0678f2 100644
--- a/ambari-web/app/controllers/main/host/details.js
+++ b/ambari-web/app/controllers/main/host/details.js
@@ -436,15 +436,6 @@ App.MainHostDetailsController = Em.Controller.extend({
batchUtils.restartHostComponents([component], Em.I18n.t('rollingrestart.context.selectedComponentOnSelectedHost').format(component.get('displayName')), "HOST_COMPONENT");
});
},
- /**
- * get current status of security settings,
- * if true security is enabled otherwise disabled
- * @return {Boolean}
- */
- securityEnabled: function () {
- return App.router.get('mainAdminSecurityController.securityEnabled');
- }.property('App.router.mainAdminSecurityController.securityEnabled'),
-
/**
* add component as <code>addComponent<code> method but perform
http://git-wip-us.apache.org/repos/asf/ambari/blob/c61933d8/ambari-web/app/controllers/wizard/step7_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step7_controller.js b/ambari-web/app/controllers/wizard/step7_controller.js
index 3cf8f56..be8aeab 100644
--- a/ambari-web/app/controllers/wizard/step7_controller.js
+++ b/ambari-web/app/controllers/wizard/step7_controller.js
@@ -58,14 +58,6 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E
secureConfigs: require('data/HDP2/secure_mapping'),
/**
- * config categories with secure properties
- * use only for add service wizard when security is enabled;
- */
- secureServices: function () {
- return $.extend(true, [], require('data/HDP2/secure_configs'));
- }.property(),
-
- /**
* uses for add service - find out is security is enabled
*/
securityEnabled: function () {
http://git-wip-us.apache.org/repos/asf/ambari/blob/c61933d8/ambari-web/app/data/HDP2/secure_configs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2/secure_configs.js b/ambari-web/app/data/HDP2/secure_configs.js
deleted file mode 100644
index bac785f..0000000
--- a/ambari-web/app/data/HDP2/secure_configs.js
+++ /dev/null
@@ -1,162 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var App = require('app');
-require('models/configs/objects/service_config');
-require('models/configs/objects/service_config_category');
-require('models/configs/objects/service_config_property');
-require('models/service');
-
-App.SecureConfigProperties = Ember.ArrayProxy.extend({
- content: require('data/HDP2/secure_properties').configProperties
-});
-
-var configProperties = App.SecureConfigProperties.create();
-
-var configs = [
- {
- serviceName: 'GENERAL',
- displayName: 'General',
- configCategories: [
- App.ServiceConfigCategory.create({ name: 'KERBEROS', displayName: 'Kerberos'}),
- App.ServiceConfigCategory.create({ name: 'AMBARI', displayName: 'Ambari'})
- ],
- sites: ['cluster-env'],
- configs: configProperties.filterProperty('serviceName', 'GENERAL')
- },
- {
- serviceName: 'HDFS',
- displayName: 'HDFS',
- filename: 'hdfs-site',
- configCategories: [
- App.ServiceConfigCategory.create({ name: 'General', displayName: 'General', exclude:'HA'}),
- App.ServiceConfigCategory.create({ name: 'NameNode', displayName: 'NameNode'}),
- App.ServiceConfigCategory.create({ name: 'SNameNode', displayName: 'Secondary NameNode',exclude:'HA'}),
- App.ServiceConfigCategory.create({ name: 'JournalNode', displayName: 'JournalNode',exclude:'non-HA'}),
- App.ServiceConfigCategory.create({ name: 'DataNode', displayName: 'DataNode'})
- ],
- sites: ['hadoop-env','core-site', 'hdfs-site'],
- configs: configProperties.filterProperty('serviceName', 'HDFS')
- },
- {
- serviceName: 'MAPREDUCE2',
- displayName: 'MapReduce2',
- filename: 'mapred-site',
- configCategories: [
- App.ServiceConfigCategory.create({ name: 'JobHistoryServer', displayName: 'History Server'})
- ],
- sites: ['mapred-site'],
- configs: configProperties.filterProperty('serviceName', 'MAPREDUCE2')
- },
- {
- serviceName: 'YARN',
- displayName: 'YARN',
- filename: 'yarn-site',
- configCategories: [
- App.ServiceConfigCategory.create({ name: 'ResourceManager', displayName : 'ResourceManager'}),
- App.ServiceConfigCategory.create({ name: 'NodeManager', displayName : 'NodeManager'})
- ], // these properties can be dynamic
- sites: ['yarn-site', 'core-site'],
- configs: configProperties.filterProperty('serviceName', 'YARN')
- },
- {
- serviceName: 'HIVE',
- displayName: 'Hive',
- filename: 'hive-site',
- configCategories: [
- App.ServiceConfigCategory.create({ name: 'Hive Metastore', displayName: 'Hive Metastore and Hive Server 2'}),
- App.ServiceConfigCategory.create({ name: 'WebHCat Server', displayName : 'WebHCat Server'})
- ],
- sites: ['hive-site','webhcat-site'],
- configs: configProperties.filterProperty('serviceName', 'HIVE')
- },
- {
- serviceName: 'HBASE',
- displayName: 'HBase',
- filename: 'hbase-site',
- configCategories: [
- App.ServiceConfigCategory.create({ name: 'HBase Master', displayName: 'HBase Master'}),
- App.ServiceConfigCategory.create({ name: 'RegionServer', displayName: 'RegionServer'})
- ],
- sites: ['hbase-env','hbase-site'],
- configs: configProperties.filterProperty('serviceName', 'HBASE')
- },
- {
- serviceName: 'ZOOKEEPER',
- displayName: 'ZooKeeper',
- configCategories: [
- App.ServiceConfigCategory.create({ name: 'ZooKeeper Server', displayName: 'ZooKeeper Server'})
- ],
- sites: ['zookeeper-env'],
- configs: configProperties.filterProperty('serviceName', 'ZOOKEEPER')
-
- },
- {
- serviceName: 'OOZIE',
- displayName: 'Oozie',
- filename: 'oozie-site',
- configCategories: [
- App.ServiceConfigCategory.create({ name: 'Oozie Server', displayName: 'Oozie Server'})
- ],
- sites: ['oozie-env','oozie-site'],
- configs: configProperties.filterProperty('serviceName', 'OOZIE')
- },
- {
- serviceName: 'STORM',
- displayName: 'Storm',
- filename: 'storm-site',
- configCategories: [
- App.ServiceConfigCategory.create({ name: 'Storm Topology', displayName: 'Storm Client'})
- ],
- sites: ['storm-env','storm-site'],
- configs: configProperties.filterProperty('serviceName', 'STORM')
- },
- {
- serviceName: 'FALCON',
- displayName: 'Falcon',
- filename: 'falcon-startup.properties',
- configCategories: [
- App.ServiceConfigCategory.create({ name: 'Falcon Server', displayName: 'Falcon Server startup properties'})
- ],
- sites: ['falcon-startup.properties'],
- configs: configProperties.filterProperty('serviceName', 'FALCON')
- },
- {
- serviceName: 'KNOX',
- displayName: 'Knox',
- filename: 'gateway-site.xml',
- configCategories: [
- App.ServiceConfigCategory.create({ name: 'Knox Gateway', displayName: 'Knox Gateway'})
- ],
- sites: ['gateway-site','knox-env'],
- configs: configProperties.filterProperty('serviceName', 'KNOX')
- }
-];
-
-if(App.get('isHadoop22Stack')){
- for(var i = 0; i < configs.length; i++){
- var config = configs[i];
- if( config.serviceName === 'STORM' ){
- config.configCategories.unshift(App.ServiceConfigCategory.create({ name: 'Nimbus', displayName: 'Nimbus'}));
- }
- }
-}
-
-
-module.exports = configs;
-
-
http://git-wip-us.apache.org/repos/asf/ambari/blob/c61933d8/ambari-web/app/data/HDP2/secure_properties.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/HDP2/secure_properties.js b/ambari-web/app/data/HDP2/secure_properties.js
deleted file mode 100644
index bb4560d..0000000
--- a/ambari-web/app/data/HDP2/secure_properties.js
+++ /dev/null
@@ -1,1268 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-/*
- * Description of fields:
- * name: has to coincide with how the property will be saved to the file
- * displayName: how it will be shown in the Admin Security Wizard
- * serviceName: the tab in which it will appear in the Admin Security Wizard
- * filename: the file it is saved to, and the section of the command-#.json file
- * category: the accordion name in the tab shown in the Admin Security Wizard
- * component: Ambari component name
- */
-
-var props = {
- "configProperties": [
- {
- "id": "puppet var",
- "name": "security_enabled",
- "displayName": "Enable security",
- "value": "",
- "recommendedValue": 'true',
- "description": "Enable kerberos security for the cluster",
- "isVisible": false,
- "isOverridable": false,
- "serviceName": "GENERAL",
- "filename": "cluster-env.xml",
- "category": "KERBEROS"
- },
- {
- "id": "puppet var",
- "name": "kerberos_install_type",
- "displayName": "Type of security",
- "value": "",
- "recommendedValue": "MANUALLY_SET_KERBEROS",
- "description": "Type of kerberos security for the cluster",
- "isVisible": false,
- "isOverridable": false,
- "serviceName": "GENERAL",
- "category": "KERBEROS"
- },
- {
- "id": "puppet var",
- "name": "kerberos_domain",
- "displayName": "Realm name",
- "value": "",
- "recommendedValue": "EXAMPLE.COM",
- "description": "Realm name to be used for all principal names",
- "displayType": "advanced",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "GENERAL",
- "filename": "cluster-env.xml",
- "category": "KERBEROS"
- },
- {
- "id": "puppet var",
- "name": "kinit_path_local",
- "displayName": "Kerberos tool path",
- "value": "",
- "recommendedValue": "/usr/bin",
- "description": "Directoy path to installed kerberos tools like kinit, kdestroy etc. This can have multiple comma delimited paths",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "GENERAL",
- "filename": "cluster-env.xml",
- "category": "KERBEROS"
- },
- {
- "id": "puppet var",
- "name": "smokeuser_principal_name",
- "displayName": "Smoke test user principal",
- "value": "",
- "recommendedValue": "ambari-qa",
- "description": "This is the principal name for Smoke test user",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "isReconfigurable": false,
- "serviceName": "GENERAL",
- "category": "AMBARI"
- },
- {
- "id": "puppet var",
- "name": "smokeuser_keytab",
- "displayName": "Path to smoke test user keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/smokeuser.headless.keytab",
- "description": "Path to keytab file for smoke test user",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "GENERAL",
- "filename": "cluster-env.xml",
- "category": "AMBARI"
- },
- {
- "id": "puppet var",
- "name": "hdfs_principal_name",
- "displayName": "HDFS user principal",
- "value": "",
- "recommendedValue": "hdfs",
- "description": "This is the principal name for HDFS user",
- "displayType": "principal",
- "isVisible": false,
- "isOverridable": false,
- "isReconfigurable": false,
- "serviceName": "GENERAL",
- "filename": "hadoop-env.xml",
- "category": "AMBARI"
- },
- {
- "id": "puppet var",
- "name": "hdfs_user_keytab",
- "displayName": "Path to HDFS user keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/hdfs.headless.keytab",
- "description": "Path to keytab file for HDFS user",
- "displayType": "directory",
- "isVisible": false,
- "isOverridable": false,
- "serviceName": "GENERAL",
- "filename": "hadoop-env.xml",
- "category": "AMBARI"
- },
- {
- "id": "puppet var",
- "name": "hbase_principal_name",
- "displayName": "HBase user principal",
- "value": "",
- "recommendedValue": "hbase",
- "description": "This is the principal name for HBase user",
- "displayType": "principal",
- "isVisible": false,
- "isOverridable": false,
- "isReconfigurable": false,
- "serviceName": "GENERAL",
- "filename": "hbase-env.xml",
- "category": "AMBARI"
- },
- {
- "id": "puppet var",
- "name": "hbase_user_keytab",
- "displayName": "Path to HBase user keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/hbase.headless.keytab",
- "description": "Path to keytab file for Hbase user",
- "displayType": "directory",
- "isVisible": false,
- "isOverridable": false,
- "serviceName": "GENERAL",
- "filename": "hbase-env.xml",
- "category": "AMBARI"
- },
-
- /**********************************************HDFS***************************************/
- {
- "id": "puppet var",
- "name": "namenode_host",
- "displayName": "NameNode hosts",
- "value": "",
- "recommendedValue": "",
- "description": "The hosts that has been assigned to run NameNode",
- "displayType": "masterHosts",
- "isOverridable": false,
- "isVisible": true,
- "serviceName": "HDFS",
- "category": "NameNode"
- },
- {
- "id": "puppet var",
- "name": "namenode_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "nn/_HOST",
- "description": "Principal name for NameNode. _HOST will get automatically replaced with actual hostname at an instance of NameNode",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "NameNode",
- "components": ["NAMENODE"]
- },
- {
- "id": "puppet var",
- "name": "namenode_keytab",
- "displayName": "Path to Keytab File",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/nn.service.keytab",
- "description": "Path to NameNode keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "NameNode",
- "components": ["NAMENODE"]
- },
- {
- "id": "puppet var",
- "name": "snamenode_host",
- "displayName": "SNameNode host",
- "value": "",
- "recommendedValue": "localhost",
- "description": "The host that has been assigned to run SecondaryNameNode",
- "displayType": "masterHost",
- "isOverridable": false,
- "isVisible": true,
- "serviceName": "HDFS",
- "category": "SNameNode"
- },
- {
- "id": "puppet var",
- "name": "snamenode_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "nn/_HOST",
- "description": "Principal name for SNameNode. _HOST will get automatically replaced with actual hostname at an instance of SNameNode",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "SNameNode",
- "components": ["SECONDARY_NAMENODE"]
- },
- {
- "id": "puppet var",
- "name": "snamenode_keytab",
- "displayName": "Path to Keytab File",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/nn.service.keytab",
- "description": "Path to SNameNode keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "SNameNode",
- "components": ["SECONDARY_NAMENODE"]
- },
- {
- "id": "puppet var",
- "name": "journalnode_hosts",
- "displayName": "JournalNode hosts",
- "value": "",
- "recommendedValue": "localhost",
- "description": "The hosts that have been assigned to run JournalNodes",
- "displayType": "masterHosts",
- "isOverridable": false,
- "isVisible": true,
- "serviceName": "HDFS",
- "category": "JournalNode"
- },
- {
- "id": "puppet var",
- "name": "journalnode_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "jn/_HOST",
- "description": "Principal name for JournalNode. _HOST will get automatically replaced with actual hostname at every instance of JournalNode",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "JournalNode",
- "component": "JOURNALNODE"
- },
- {
- "id": "puppet var",
- "name": "journalnode_keytab",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/jn.service.keytab",
- "description": "Path to JournalNode keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "JournalNode",
- "component": "JOURNALNODE"
- },
- {
- "id": "puppet var",
- "name": "datanode_hosts", //not in the schema. For UI purpose
- "displayName": "DataNode hosts",
- "value": "",
- "recommendedValue": "",
- "description": "The hosts that have been assigned to run DataNode",
- "displayType": "slaveHosts",
- "isOverridable": false,
- "isVisible": true,
- "serviceName": "HDFS",
- "category": "DataNode"
- },
- {
- "id": "puppet var",
- "name": "dfs_datanode_address",
- "displayName": "Datanode address",
- "value": "",
- "recommendedValue": "1019",
- "description": "Address for DataNode",
- "displayType": "principal",
- "isVisible": false,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "DataNode"
- },
- {
- "id": "puppet var",
- "name": "dfs_datanode_http_address",
- "displayName": "Datanode HTTP address",
- "value": "",
- "recommendedValue": "1022",
- "description": "Address for DataNode",
- "displayType": "principal",
- "isVisible": false,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "DataNode"
- },
- {
- "id": "puppet var",
- "name": "datanode_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "dn/_HOST",
- "description": "Principal name for DataNode. _HOST will get automatically replaced with actual hostname at every instance of DataNode",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "DataNode",
- "component": "DATANODE"
- },
- {
- "id": "puppet var",
- "name": "datanode_keytab",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/dn.service.keytab",
- "description": "Path to DataNode keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "DataNode",
- "component": "DATANODE"
- },
- {
- "id": "puppet var",
- "name": "hadoop_http_principal_name",
- "displayName": "DFS web principal name",
- "value": "",
- "recommendedValue": "HTTP/_HOST",
- "description": "Principal name for SPNEGO access for HDFS components. _HOST will get automatically replaced with actual hostname at instance of HDFS component",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "General"
- },
- {
- "id": "puppet var",
- "name": "hadoop_http_keytab",
- "displayName": "Path to SPNEGO keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/spnego.service.keytab",
- "description": "Path to SPNEGO keytab file for NameNode and SNameNode",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HDFS",
- "category": "General"
- },
-
- /**********************************************MAPREDUCE2***************************************/
- {
- "id": "puppet var",
- "name": "jobhistoryserver_host",
- "displayName": "History Server host",
- "value": "",
- "recommendedValue": "",
- "description": "The host that has been assigned to run History Server",
- "displayType": "masterHost",
- "isOverridable": false,
- "isVisible": true,
- "serviceName": "MAPREDUCE2",
- "category": "JobHistoryServer"
- },
- {
- "id": "puppet var",
- "name": "jobhistory_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "jhs/_HOST",
- "description": "Principal name for History Server. _HOST will get automatically replaced with actual hostname at an instance of History Server",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "MAPREDUCE2",
- "category": "JobHistoryServer",
- "component": "HISTORYSERVER"
- },
- {
- "id": "puppet var",
- "name": "jobhistory_keytab",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/jhs.service.keytab",
- "description": "Path to History Server keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "MAPREDUCE2",
- "category": "JobHistoryServer",
- "component": "HISTORYSERVER"
- },
- {
- "id": "puppet var",
- "name": "jobhistory_http_principal_name",
- "displayName": "Web principal name",
- "value": "",
- "recommendedValue": "HTTP/_HOST",
- "description": "Principal name for SPNEGO access to Job History Server. _HOST will get automatically replaced with actual hostname at an instance of Job History Server",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "MAPREDUCE2",
- "category": "JobHistoryServer"
- },
- {
- "id": "puppet var",
- "name": "jobhistory_http_keytab",
- "displayName": "Path to SPNEGO keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/spnego.service.keytab",
- "description": "Path to SPNEGO keytab file for Job History Server",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "MAPREDUCE2",
- "category": "JobHistoryServer"
- },
-
- /**********************************************YARN***************************************/
- {
- "id": "puppet var",
- "name": "resourcemanager_host",
- "displayName": "ResourceManager host",
- "value": "",
- "recommendedValue": "",
- "description": "The host that has been assigned to run ResourceManager",
- "displayType": "masterHost",
- "isOverridable": false,
- "isVisible": true,
- "serviceName": "YARN",
- "category": "ResourceManager"
- },
- // YARN Application Timeline Server
- {
- "id": "puppet var",
- "name": "apptimelineserver_host",
- "displayName": "Application Timeline Server host",
- "value": "",
- "recommendedValue": "",
- "description": "The host that has been assigned to run AppTimelineServer",
- "displayType": "masterHost",
- "isOverridable": false,
- "isVisible": true,
- "serviceName": "YARN",
- "category": "AppTimelineServer"
- },
- {
- "id": "puppet var",
- "name": "apptimelineserver_principal_name",
- "displayName": "App Timeline Server Principal name",
- "value": "",
- "recommendedValue": "yarn/_HOST",
- "description": "Principal name for App Timeline Server. _HOST will get automatically replaced with actual hostname at an instance of App Timeline Server",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": true,
- "serviceName": "YARN",
- "category": "AppTimelineServer",
- "component": "APP_TIMELINE_SERVER"
- },
- {
- "id": "puppet var",
- "name": "apptimelineserver_keytab",
- "displayName": "Path to App Timeline Server keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/yarn.service.keytab",
- "description": "Path to App Timeline Server keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": true,
- "serviceName": "YARN",
- "category": "AppTimelineServer",
- "component": "APP_TIMELINE_SERVER"
- },
- {
- "id": "puppet var",
- "name": "apptimelineserver_http_principal_name",
- "displayName": "App Timeline Server HTTP Principal name",
- "value": "",
- "recommendedValue": "HTTP/_HOST",
- "description": "Principal name for App Timeline Server HTTP. _HOST will get automatically replaced with actual hostname at an instance of App Timeline Server",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": true,
- "serviceName": "YARN",
- "category": "AppTimelineServer"
- },
- {
- "id": "puppet var",
- "name": "apptimelineserver_http_keytab",
- "displayName": "Path to App Timeline Server SPNEGO HTTP keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/spnego.service.keytab",
- "description": "Path to App Timeline Server SPNEGO HTTP keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": true,
- "serviceName": "YARN",
- "category": "AppTimelineServer"
- },
-
- // YARN Resource Manager
- {
- "id": "puppet var",
- "name": "resourcemanager_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "rm/_HOST",
- "description": "Principal name for ResourceManager. _HOST will get automatically replaced with actual hostname at an instance of ResourceManager",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "YARN",
- "category": "ResourceManager",
- "component": "RESOURCEMANAGER"
- },
- {
- "id": "puppet var",
- "name": "resourcemanager_keytab",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/rm.service.keytab",
- "description": "Path to ResourceManager keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "YARN",
- "category": "ResourceManager",
- "component": "RESOURCEMANAGER"
- },
- {
- "id": "puppet var",
- "name": "resourcemanager_http_principal_name",
- "displayName": "Web principal name",
- "value": "",
- "recommendedValue": "HTTP/_HOST",
- "description": "Principal name for SPNEGO access to ResourceManager. _HOST will get automatically replaced with actual hostname at an instance of ResourceManager",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "YARN",
- "category": "ResourceManager"
- },
- {
- "id": "puppet var",
- "name": "resourcemanager_http_keytab",
- "displayName": "Path to SPNEGO keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/spnego.service.keytab",
- "description": "Path to SPNEGO keytab file for ResourceManager",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "YARN",
- "category": "ResourceManager"
- },
- {
- "id": "puppet var",
- "name": "nodemanager_host",
- "displayName": "NodeManager hosts",
- "value": "",
- "recommendedValue": "",
- "description": "The hosts that has been assigned to run NodeManager",
- "displayType": "slaveHosts",
- "isOverridable": false,
- "isVisible": true,
- "serviceName": "YARN",
- "category": "NodeManager"
- },
- {
- "id": "puppet var",
- "name": "nodemanager_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "nm/_HOST",
- "description": "Principal name for NodeManager. _HOST will get automatically replaced with actual hostname at all instances of NodeManager",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "YARN",
- "category": "NodeManager",
- "component": "NODEMANAGER"
- },
- {
- "id": "puppet var",
- "name": "nodemanager_keytab",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/nm.service.keytab",
- "description": "Path to NodeManager keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "YARN",
- "category": "NodeManager",
- "component": "NODEMANAGER"
- },
- {
- "id": "puppet var",
- "name": "nodemanager_http_principal_name",
- "displayName": "Web principal name",
- "value": "",
- "recommendedValue": "HTTP/_HOST",
- "description": "Principal name for SPNEGO access to NodeManager. _HOST will get automatically replaced with actual hostname at all instances of NodeManager",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "YARN",
- "category": "NodeManager"
- },
- {
- "id": "puppet var",
- "name": "nodemanager_http_keytab",
- "displayName": "Path to SPNEGO keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/spnego.service.keytab",
- "description": "Path to SPNEGO keytab file for NodeManager",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "YARN",
- "category": "NodeManager"
- },
- {
- "id": "puppet var",
- "name": "yarn_nodemanager_container-executor_class",
- "displayName": "yarn.nodemanager.container-executor.class",
- "value": "",
- "recommendedValue": "org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor",
- "description": "Executor(launcher) of the containers",
- "displayType": "advanced",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "YARN",
- "category": "NodeManager"
- },
- {
- "id": "puppet var",
- "name": "webhcatserver_host",
- "displayName": "WebHCat Server host",
- "value": "",
- "recommendedValue": "localhost",
- "description": "The host that has been assigned to run WebHCat Server",
- "displayType": "masterHost",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HIVE",
- "category": "WebHCat Server"
- },
- {
- "id": "puppet var",
- "name": "webHCat_http_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "HTTP/_HOST",
- "description": "Principal name for SPNEGO access for WebHCat",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HIVE",
- "category": "WebHCat Server"
- },
- {
- "id": "puppet var",
- "name": "webhcat_http_keytab",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/spnego.service.keytab",
- "description": "Path to SPNEGO keytab file for WebHCat",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HIVE",
- "category": "WebHCat Server"
- },
-
- /**********************************************HBASE***************************************/
- {
- "id": "puppet var",
- "name": "hbasemaster_host",
- "displayName": "HBase Master hosts",
- "value": "",
- "recommendedValue": "",
- "description": "The host that has been assigned to run HBase Master",
- "displayType": "masterHosts",
- "isOverridable": false,
- "isVisible": true,
- "serviceName": "HBASE",
- "category": "HBase Master"
- },
- {
- "id": "puppet var",
- "name": "hbase_master_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "hbase/_HOST",
- "description": "Principal name for HBase master. _HOST will get automatically replaced with actual hostname at an instance of HBase Master",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HBASE",
- "category": "HBase Master",
- "components": ["HBASE_MASTER"]
- },
- {
- "id": "puppet var",
- "name": "hbase_master_keytab",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/hbase.service.keytab",
- "description": "Path to HBase master keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HBASE",
- "category": "HBase Master",
- "components": ["HBASE_MASTER"]
- },
- {
- "id": "puppet var",
- "name": "regionserver_hosts",
- "displayName": "RegionServer hosts",
- "value": "",
- "recommendedValue": "",
- "description": "The hosts that have been assigned to run RegionServer",
- "displayType": "slaveHosts",
- "isOverridable": false,
- "isVisible": true,
- "serviceName": "HBASE",
- "category": "RegionServer"
- },
- {
- "id": "puppet var",
- "name": "hbase_regionserver_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "hbase/_HOST",
- "description": "Principal name for RegionServer. _HOST will get automatically replaced with actual hostname at every instance of RegionServer",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HBASE",
- "category": "RegionServer",
- "components": ["HBASE_REGIONSERVER"]
- },
- {
- "id": "puppet var",
- "name": "hbase_regionserver_keytab",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/hbase.service.keytab",
- "description": "Path to RegionServer keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HBASE",
- "category": "RegionServer",
- "components": ["HBASE_REGIONSERVER"]
- },
-
- /**********************************************HIVE***************************************/
- {
- "id": "puppet var",
- "name": "hive_metastore",
- "displayName": "Hive Metastore hosts",
- "value": "",
- "recommendedValue": "localhost",
- "description": "The hosts that have been assigned to run Hive Metastore and HiveServer2",
- "displayType": "masterHosts",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HIVE",
- "category": "Hive Metastore"
- },
- {
- "id": "puppet var",
- "name": "hive_metastore_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "hive/_HOST",
- "description": "Principal name for Hive Metastore and HiveServer2. _HOST will get automatically replaced with actual hostname at an instance of Hive Metastore and HiveServer2",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HIVE",
- "category": "Hive Metastore",
- "components": ["HIVE_SERVER", "HIVE_METASTORE"]
- },
- {
- "id": "puppet var",
- "name": "hive_metastore_keytab",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/hive.service.keytab",
- "description": "Path to Hive Metastore and HiveServer2 keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HIVE",
- "category": "Hive Metastore",
- "components": ["HIVE_SERVER", "HIVE_METASTORE"]
- },
- {
- "id": "puppet var",
- "name": "hive_metastore_http_principal_name",
- "displayName": "Web principal name",
- "value": "",
- "recommendedValue": "HTTP/_HOST",
- "description": "Principal name for SPNEGO access to Hive Metastore and HiveServer2. _HOST will get automatically replaced with actual hostname at an instance of Hive Metastore and HiveServer2",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HIVE",
- "category": "Hive Metastore"
- },
- {
- "id": "puppet var",
- "name": "hive_metastore_http_keytab",
- "displayName": "Path to SPNEGO keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/spnego.service.keytab",
- "description": "Path to SPNEGO keytab file for Hive Metastore and HiveServer2",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "HIVE",
- "category": "Hive Metastore"
- },
-
- /**********************************************OOZIE***************************************/
- {
- "id": "puppet var",
- "name": "oozie_servername",
- "displayName": "Oozie Server host",
- "value": "",
- "recommendedValue": "localhost",
- "description": "Oozie server host name",
- "displayType": "masterHost",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "OOZIE",
- "category": "Oozie Server"
- },
- {
- "id": "puppet var",
- "name": "oozie_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "oozie/_HOST",
- "description": "Principal name for Oozie server",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "OOZIE",
- "category": "Oozie Server",
- "component": "OOZIE_SERVER"
- },
- {
- "id": "puppet var",
- "name": "oozie_keytab",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/oozie.service.keytab",
- "description": "Path to Oozie server keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "OOZIE",
- "filename": "oozie-env.xml",
- "category": "Oozie Server",
- "component": "OOZIE_SERVER"
- },
- {
- "id": "puppet var",
- "name": "oozie_http_principal_name",
- "displayName": "Web principal name",
- "value": "",
- "recommendedValue": "HTTP/_HOST",
- "description": "Principal name for SPNEGO access to Oozie",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "OOZIE",
- "category": "Oozie Server"
- },
- {
- "id": "puppet var",
- "name": "oozie_http_keytab",
- "displayName": "Path to SPNEGO keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/spnego.service.keytab",
- "description": "Path to SPNEGO keytab file for oozie",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "OOZIE",
- "category": "Oozie Server"
- },
-
- /**********************************************ZOOKEEPER***************************************/
- {
- "id": "puppet var",
- "name": "zookeeperserver_hosts",
- "displayName": "ZooKeeper Server hosts",
- "value": "",
- "recommendedValue": "",
- "description": "The host that has been assigned to run ZooKeeper Server",
- "displayType": "masterHosts",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "ZOOKEEPER",
- "category": "ZooKeeper Server"
- },
- {
- "id": "puppet var",
- "name": "zookeeper_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "zookeeper/_HOST",
- "description": "Principal name for ZooKeeper. _HOST will get automatically replaced with actual hostname at every instance of zookeeper server",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "ZOOKEEPER",
- "filename": "zookeeper-env.xml",
- "category": "ZooKeeper Server",
- "component": "ZOOKEEPER_SERVER"
- },
- {
- "id": "puppet var",
- "name": "zookeeper_keytab_path",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/zk.service.keytab",
- "description": "Path to ZooKeeper keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "ZOOKEEPER",
- "filename": "zookeeper-env.xml",
- "category": "ZooKeeper Server",
- "component": "ZOOKEEPER_SERVER"
- },
- /**********************************************Falcon***************************************/
- {
- "id": "puppet var",
- "name": "falcon_server_host",
- "displayName": "Falcon server host",
- "value": "",
- "recommendedValue": "",
- "description": "Falcon Server host",
- "displayType": "masterHost",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "FALCON",
- "category": "Falcon Server"
- },
- {
- "id": "puppet var",
- "name": "falcon_principal_name",
- "displayName": "Falcon principal name",
- "value": "",
- "recommendedValue": "falcon/_HOST",
- "description": "This is the principal name for Falcon Server",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "FALCON",
- "category": "Falcon Server",
- "component": "FALCON_SERVER"
- },
- {
- "id": "puppet var",
- "name": "falcon_keytab",
- "displayName": "Path to Falcon server keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/falcon.service.keytab",
- "description": "Path to the Falcon Server keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "FALCON",
- "category": "Falcon Server",
- "component": "FALCON_SERVER"
- },
- {
- "id": "puppet var",
- "name": "falcon_http_principal_name",
- "displayName": "Web principal name",
- "value": "",
- "recommendedValue": "HTTP/_HOST",
- "description": "Principal name for SPNEGO access to Falcon",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "FALCON",
- "category": "Falcon Server"
- },
- {
- "id": "puppet var",
- "name": "falcon_http_keytab",
- "displayName": "Path to SPNEGO keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/spnego.service.keytab",
- "description": "Path to SPNEGO keytab file for Falcon",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "FALCON",
- "category": "Falcon Server"
- },
- {
- "id": "puppet var",
- "name": "namenode_principal_name_falcon",
- "displayName": "NameNode principal name",
- "value": "",
- "recommendedValue": "nn/_HOST",
- "description": "NameNode principal to talk to config store",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "FALCON",
- "category": "Falcon Server"
- },
-
- /**********************************************Knox***************************************/
- {
- "id": "puppet var",
- "name": "knox_gateway_hosts",
- "displayName": "Knox Gateway hosts",
- "value": "",
- "recommendedValue": "",
- "description": "The hosts that has been assigned to run Knox Gateway",
- "displayType": "masterHosts",
- "isOverridable": false,
- "isVisible": true,
- "serviceName": "KNOX",
- "category": "Knox Gateway"
- },
- {
- "id": "puppet var",
- "name": "knox_principal_name",
- "displayName": "Principal name",
- "value": "",
- "recommendedValue": "knox/_HOST",
- "description": "This is the principal name for Knox Gateway",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "KNOX",
- "filename": "knox-env.xml",
- "category": "Knox Gateway",
- "component": "KNOX_GATEWAY"
- },
- {
- "id": "puppet var",
- "name": "knox_keytab_path",
- "displayName": "Path to keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/knox.service.keytab",
- "description": "This is the keytab file for Knox Gateway",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "KNOX",
- "filename": "knox-env.xml",
- "category": "Knox Gateway",
- "component": "KNOX_GATEWAY"
- }
- ]
-};
-
-var stormProperties = [
- {
- "id": "puppet var",
- "name": "storm_host",
- "displayName": "Storm component hosts",
- "value": "",
- "recommendedValue": "",
- "description": "Storm component hosts",
- "displayType": "slaveHosts",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "STORM",
- "category": "Storm Topology"
- },
- {
- "id": "puppet var",
- "name": "storm_principal_name",
- "displayName": " Storm principal name",
- "value": "",
- "recommendedValue": "storm/_HOST",
- "description": "Principal name for Supervisor. _HOST will get automatically replaced with actual hostname at an instance of every storm component.",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "STORM",
- "filename": "storm-env.xml",
- "category": "Storm Topology",
- "components": ["SUPERVISOR", "NIMBUS", "STORM_UI_SERVER"]
- },
- {
- "id": "puppet var",
- "name": "storm_keytab",
- "displayName": "Path to Storm keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/storm.service.keytab",
- "description": "Path to the storm keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "STORM",
- "filename": "storm-env.xml",
- "category": "Storm Topology",
- "components": ["SUPERVISOR", "NIMBUS"]
- }
-];
-var storm22Properties = [
- {
- "id": "puppet var",
- "name": "storm_principal_name",
- "displayName": " Storm principal name",
- "value": "",
- "recommendedValue": "storm/_HOST",
- "description": "Principal name for Storm components. _HOST will get automatically replaced with actual hostname at an instance of every storm component.",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "STORM",
- "filename": "storm-env.xml",
- "category": "Storm Topology",
- "components": ["SUPERVISOR", "STORM_UI_SERVER", "DRPC_SERVER", "STORM_REST_API"]
- },
- {
- "id": "puppet var",
- "name": "storm_keytab",
- "displayName": "Path to Storm keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/storm.service.keytab",
- "description": "Path to the storm keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "STORM",
- "filename": "storm-env.xml",
- "category": "Storm Topology",
- "components": ["SUPERVISOR", "STORM_UI_SERVER", "DRPC_SERVER", "STORM_REST_API"]
- },
- {
- "id": "puppet var",
- "name": "nimbus_host",
- "displayName": "Nimbus hosts",
- "value": "",
- "recommendedValue": "",
- "description": "Nimbus component hosts",
- "displayType": "slaveHosts",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "STORM",
- "category": "Nimbus"
- },
- {
- "id": "puppet var",
- "name": "nimbus_principal_name",
- "displayName": " Nimbus principal name",
- "value": "",
- "recommendedValue": "nimbus/_HOST",
- "description": "Nimbus Principal name",
- "displayType": "principal",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "STORM",
- "filename": "storm-env.xml",
- "category": "Nimbus",
- "components": ["NIMBUS","DRPC_SERVER"]
- },
- {
- "id": "puppet var",
- "name": "nimbus_keytab",
- "displayName": "Path to Nimbus keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/nimbus.service.keytab",
- "description": "Path to the nimbus keytab file",
- "displayType": "directory",
- "isVisible": true,
- "isOverridable": false,
- "serviceName": "STORM",
- "filename": "storm-env.xml",
- "category": "Nimbus",
- "components": ["NIMBUS","DRPC_SERVER"]
- },
- {
- "id": "puppet var",
- "name": "storm_ui_principal_name",
- "displayName": "Storm UI principal name",
- "value": "",
- "recommendedValue": "HTTP/_HOST",
- "description": "Principal name for Storm UI",
- "displayType": "principal",
- "isVisible": false,
- "isOverridable": false,
- "serviceName": "STORM",
- "filename": "storm-env.xml",
- "category": "Nimbus"
- },
- {
- "id": "puppet var",
- "name": "storm_ui_keytab",
- "displayName": "Path to Nimbus UI keytab file",
- "value": "",
- "recommendedValue": "/etc/security/keytabs/spnego.service.keytab",
- "description": "Path to the Storm UI keytab file",
- "displayType": "directory",
- "isVisible": false,
- "isOverridable": false,
- "serviceName": "STORM",
- "filename": "storm-env.xml",
- "category": "Nimbus"
- }
-];
-
-if(App.get('isHadoop22Stack')) {
- props.configProperties.pushObjects(storm22Properties);
-} else {
- props.configProperties.pushObjects(stormProperties);
-}
-
-module.exports = props;
http://git-wip-us.apache.org/repos/asf/ambari/blob/c61933d8/ambari-web/app/data/controller_route.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/data/controller_route.js b/ambari-web/app/data/controller_route.js
index d6319f5..d453c51 100644
--- a/ambari-web/app/data/controller_route.js
+++ b/ambari-web/app/data/controller_route.js
@@ -30,14 +30,6 @@ module.exports = [
route: 'main.hostAdd'
},
{
- wizardControllerName: App.router.get('addSecurityController.name'),
- route: 'main.admin.adminSecurity'
- },
- {
- wizardControllerName: App.router.get('mainAdminSecurityDisableController.name'),
- route: 'main.admin.adminSecurity'
- },
- {
wizardControllerName: App.router.get('kerberosWizardController.name'),
route: 'main.admin.adminKerberos.adminAddKerberos'
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/c61933d8/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 6d579d5..955ef80 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -1303,7 +1303,6 @@ Em.I18n.translations = {
'admin.security.enable.popup.header': 'Add security',
'admin.security.disable.popup.header': 'Remove security',
'admin.security.disable.popup.body': 'You are about to disable Kerberos on the cluster. This will stop all the services in your cluster and remove the Kerberos configurations. <strong>Are you sure you wish to proceed with disabling Kerberos?</strong>',
- 'admin.addSecurity.header': 'Enable Security Wizard',
'admin.security.step1.header': 'Get Started',
'admin.security.step2.header': 'Configure Services',
'admin.security.step3.header': 'Create Principals and Keytabs',
@@ -1331,32 +1330,7 @@ Em.I18n.translations = {
'admin.security.disable.body.header' : 'Disabling kerberos security on the cluster',
'admin.security.disable.body.success.header': 'Kerberos-based security has been disabled on your cluster. Please wait while services are started in non-secure mode.',
'admin.security.disable.body.failure.header': 'Failed to disable Kerberos-based security on your cluster. Your cluster will keep running in secure mode.',
- 'admin.addSecurity.apply.stop.services': 'Stop Services',
- 'admin.addSecurity.apply.save.config': 'Save Configurations',
- 'admin.addSecurity.apply.start.services': 'Start Services',
- 'admin.addSecurity.apply.delete.ats': 'Delete ATS',
- 'admin.addSecurity.user.smokeUser': 'Ambari Smoke Test User',
- 'admin.addSecurity.user.hdfsUser': 'HDFS User',
- 'admin.addSecurity.user.hbaseUser': 'HBase User',
- 'admin.addSecurity.user.stormUser': 'Storm User',
- 'admin.addSecurity.hdfs.user.httpUser': 'HDFS SPNEGO User',
- 'admin.addSecurity.rm.user.httpUser': 'ResourceManager SPNEGO User',
- 'admin.addSecurity.nm.user.httpUser': 'NodeManager SPNEGO User',
- 'admin.addSecurity.historyServer.user.httpUser': 'History server SPNEGO User',
- 'admin.addSecurity.webhcat.user.httpUser': 'WebHCat SPNEGO User',
- 'admin.addSecurity.hive.user.httpUser': 'Hive SPNEGO User',
- 'admin.addSecurity.oozie.user.httpUser': 'Oozie SPNEGO User',
- 'admin.addSecurity.falcon.user.httpUser': 'Falcon SPNEGO User',
- 'admin.addSecurity.storm.user.httpUser': 'Storm UI Server',
- 'admin.addSecurity.user.yarn.atsHTTPUser': 'YARN ATS HTTP User',
- 'admin.addSecurity.knox.user': 'Knox Gateway',
- 'admin.addSecurity.enable.onClose': 'You are in the process of enabling security on your cluster. ' +
- 'Are you sure you want to quit? If you quit, ' +
- 'you may have to re-run the security wizard from the beginning to enable security.',
- 'admin.addSecurity.enable.after.stage2.onClose': 'Services are being started with the Kerberos settings you specified. '+
- 'It is recommended that you wait until all the services are started to ensure that they are set up properly. ' +
- 'Are you sure you want to quit?',
- 'admin.addSecurity.disable.onClose': 'You are in the process of disabling security on your cluster. ' +
+ 'admin.security.disable.onClose': 'You are in the process of disabling security on your cluster. ' +
'Are you sure you want to quit?',
'admin.removeSecurity.header': 'Disable Security',
'admin.security.applying.config.header': 'Applying Configurations',
http://git-wip-us.apache.org/repos/asf/ambari/blob/c61933d8/ambari-web/app/mixins/wizard/addSecurityConfigs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/wizard/addSecurityConfigs.js b/ambari-web/app/mixins/wizard/addSecurityConfigs.js
index 7e436ae..f8163e9 100644
--- a/ambari-web/app/mixins/wizard/addSecurityConfigs.js
+++ b/ambari-web/app/mixins/wizard/addSecurityConfigs.js
@@ -27,47 +27,6 @@ App.AddSecurityConfigs = Em.Mixin.create({
kerberosDescriptor: {},
- secureProperties: require('data/HDP2/secure_properties').configProperties,
-
- secureMapping: require('data/HDP2/secure_mapping'),
-
- serviceUsersBinding: 'App.router.mainAdminSecurityController.serviceUsers',
-
- componentsConfig: [
- {
- serviceName: 'OOZIE',
- componentName: 'OOZIE_SERVER',
- configName: 'oozieserver_host'
- },
- {
- serviceName: 'HIVE',
- componentName: 'WEBHCAT_SERVER',
- configName: 'webhcat_server'
- }
- ],
-
- /**
- * mock users used in testMode
- */
- testModeUsers: [
- {
- name: 'hdfs_user',
- value: 'hdfs'
- },
- {
- name: 'mapred_user',
- value: 'mapred'
- },
- {
- name: 'hbase_user',
- value: 'hbase'
- },
- {
- name: 'hive_user',
- value: 'hive'
- }
- ],
-
/**
* security configs, which values should be modified after APPLY CONFIGURATIONS stage
*/
@@ -95,289 +54,6 @@ App.AddSecurityConfigs = Em.Mixin.create({
return configs;
}.property('App.isHadoop22Stack'),
- secureServices: function () {
- return this.get('content.services');
- }.property('content.services'),
-
- /**
- * prepare secure configs
- */
- prepareSecureConfigs: function () {
- var configs = this.get('content.serviceConfigProperties');
- this.set('configs', configs);
- this.loadStaticConfigs(); //Hack for properties which are declared in site_properties.js and not able to retrieve values declared in secure_properties.js
- this.loadUsersToConfigs();
- this.loadHostNames();
- this.loadPrimaryNames();
- var uiConfigs = this.loadUiSideSecureConfigs();
- this.set('configs', this.get('configs').concat(uiConfigs));
- },
-
-
- /**
- * push users to configs
- */
- loadUsersToConfigs: function () {
- if (!this.get('serviceUsers').length) {
- this.loadUsersFromServer();
- }
- App.router.get('mainAdminSecurityController.serviceUsers').forEach(function (_user) {
- this.get('configs').pushObject(_user);
- }, this);
- },
-
- /**
- * add component config that contain host name as value
- * @param serviceName
- * @param componentName
- * @param configName
- * @return {Boolean}
- */
- addHostConfig: function (serviceName, componentName, configName) {
- var service = App.Service.find(serviceName);
- var isServiceSecure = this.get('secureServices').someProperty('serviceName', serviceName);
-
- if (service.get('isLoaded') && isServiceSecure) {
- var hostComponent = service.get('hostComponents').findProperty('componentName', componentName);
- if (hostComponent) {
- var hostName = hostComponent.get('hostName');
- this.get('configs').push({
- id: 'puppet var',
- name: configName,
- value: hostName
- });
- return true;
- }
- }
- return false;
- },
-
- /**
- * add hosts' names to configs
- */
- loadHostNames: function () {
- var componentsConfig = this.get('componentsConfig');
- componentsConfig.forEach(function (host) {
- this.addHostConfig(host.serviceName, host.componentName, host.configName);
- }, this);
- },
-
- /**
- * load static configs
- */
- loadStaticConfigs: function () {
- this.get('configs').forEach(function (_property) {
- switch (_property.name) {
- case 'security_enabled':
- _property.value = 'true';
- break;
- }
- }, this);
- },
-
- /**
- * add principals to properties
- */
- loadPrimaryNames: function () {
- var principalProperties = this.getPrincipalNames();
- principalProperties.forEach(function (_principalProperty) {
- var name = _principalProperty.name.replace('principal', 'primary');
- var value = _principalProperty.value.split('/')[0];
- this.get('configs').push({name: name, value: value});
- }, this);
- },
-
- /**
- * gather and return properties with "principal_name"
- * @return {Array}
- */
- getPrincipalNames: function () {
- var principalNames = [];
- this.get('configs').forEach(function (_property) {
- if (/principal_name?$/.test(_property.name)) {
- principalNames.push(_property);
- }
- }, this);
- this.get('secureProperties').forEach(function (_secureProperty) {
- if (/principal_name?$/.test(_secureProperty.name)) {
- var principalName = principalNames.findProperty('name', _secureProperty.name);
- if (!principalName) {
- _secureProperty.value = _secureProperty.defaultValue;
- principalNames.push(_secureProperty);
- }
- }
- }, this);
- return principalNames;
- },
-
- /**
- * load users from server
- */
- loadUsersFromServer: function () {
- if (App.get('testMode')) {
- var serviceUsers = this.get('serviceUsers');
- this.get('testModeUsers').forEach(function (user) {
- user.id = 'puppet var';
- serviceUsers.push(user);
- }, this);
- } else {
- App.router.set('mainAdminSecurityController.serviceUsers', App.db.getSecureUserInfo());
- }
- },
-
- /**
- * load configs from UI side
- * @return {Array}
- */
- loadUiSideSecureConfigs: function () {
- var uiConfig = [];
- var configs = this.get('secureMapping').filterProperty('foreignKey', null).filter(function (_configProperty) {
- return (App.Service.find().mapProperty('serviceName').contains(_configProperty.serviceName));
- }, this);
- configs.forEach(function (_config) {
- var value = _config.value;
- if (_config.hasOwnProperty('dependedServiceName')) {
- value = this.checkServiceForConfigValue(value, _config.dependedServiceName);
- }
- value = this.getConfigValue(_config.templateName, value, _config.name);
- uiConfig.push({
- "id": "site property",
- "name": _config.name,
- "value": value,
- "filename": _config.filename
- });
- }, this);
- var dependentConfig = this.get('secureMapping').filterProperty('foreignKey');
- dependentConfig.forEach(function (_config) {
- if (App.Service.find().mapProperty('serviceName').contains(_config.serviceName)) {
- this.setConfigValue(_config);
- this.formatConfigName(uiConfig, _config);
- uiConfig.push({
- "id": "site property",
- "name": _config._name || _config.name,
- "value": _config.value,
- "filename": _config.filename
- });
- }
- }, this);
- return uiConfig;
- },
-
- /**
- * erase template rules from config value if service is not loaded
- * @param value
- * @param services
- * @return {*}
- */
- checkServiceForConfigValue: function (value, services) {
- services.forEach(function (_service) {
- if (!App.Service.find(_service.name).get('isLoaded')) {
- value = value.replace(_service.replace, '');
- }
- }, this);
- return value;
- },
-
- /**
- * Set all site property that are derived from other puppet-variable
- * @param templateName
- * @param expression
- * @param name
- * @return {String|null}
- */
- getConfigValue: function (templateName, expression, name) {
- var express = expression.match(/<(.*?)>/g);
- var value = expression;
- if (Em.isNone(express)) return expression;
-
- express.forEach(function (_express) {
- var index = parseInt(_express.match(/\[([\d]*)(?=\])/)[1]);
- var configs = this.get('configs').findProperty('name', templateName[index]);
- var configValue = templateName[index] == 'hive_metastore' ?
- configs.value.map(function (hostName) {
- return 'thrift://' + hostName + ':9083';
- }).join(',') : configs.value;
-
- if (!!value) {
- value = (configs) ? App.config.replaceConfigValues(name, _express, value, configValue) : null;
- }
- }, this);
- return value;
- },
-
- /**
- * format name of config values of configs which match foreignKey
- * @param uiConfig
- * @param config
- * @return {Boolean}
- */
- formatConfigName: function (uiConfig, config) {
- if (Em.isNone(config.value)) return false;
-
- var fkValue = config.name.match(/<(foreignKey.*?)>/g);
- if (fkValue) {
- fkValue.forEach(function (_fkValue) {
- var index = parseInt(_fkValue.match(/\[([\d]*)(?=\])/)[1]);
- var value;
- if (uiConfig.someProperty('name', config.foreignKey[index])) {
- value = uiConfig.findProperty('name', config.foreignKey[index]).value;
- config._name = config.name.replace(_fkValue, value);
- } else if (this.get('configs').someProperty('name', config.foreignKey[index])) {
- value = this.get('configs').findProperty('name', config.foreignKey[index]).value;
- config._name = config.name.replace(_fkValue, value);
- }
- }, this);
- return true;
- }
- return false;
- },
-
- /**
- * Set config value with values of configs which match template
- * @param config
- * @return {Boolean}
- */
- setConfigValue: function (config) {
- if (Em.isNone(config.value)) return false;
-
- //For properties in the configMapping file having foreignKey and templateName properties.
- var templateValue = config.value.match(/<(templateName.*?)>/g);
- if (templateValue) {
- templateValue.forEach(function (_value) {
- var index = parseInt(_value.match(/\[([\d]*)(?=\])/)[1]);
- var cfg = this.get('configs').findProperty('name', config.templateName[index]);
-
- if (cfg) {
- var cfgValue = config.templateName[index] == 'hive_metastore' ? cfg.value.join(',') : cfg.value;
- config.value = config.value.replace(_value, cfgValue);
- } else {
- config.value = null;
- }
- }, this);
- return true;
- }
- return false;
- },
-
- /**
- * set value of principal property
- * @param serviceName
- * @param principalName
- * @return {Boolean}
- */
- setPrincipalValue: function (serviceName, principalName) {
- var siteProperties = this.get('configs');
-
- var realmName = siteProperties.findProperty('name', 'kerberos_domain');
-
- if (this.get('secureServices').someProperty('serviceName', serviceName)) {
- var principalProperty = siteProperties.findProperty('name', principalName);
- principalProperty.value = principalProperty.value + '@' + realmName.value;
- return true;
- }
- return false;
- },
-
/**
* Generate stack descriptor configs.
*