You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by lp...@apache.org on 2017/08/08 16:02:48 UTC
[32/50] [abbrv] ambari git commit: AMBARI-21636 Fix
atlas.rest.address property when Atlas is in HA for Atlas-hive hook. (atkach)
AMBARI-21636 Fix atlas.rest.address property when Atlas is in HA for Atlas-hive hook. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/58827ad3
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/58827ad3
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/58827ad3
Branch: refs/heads/feature-branch-AMBARI-21307
Commit: 58827ad307f68e2db6f649987a4feae7885944d5
Parents: afa1b48
Author: Andrii Tkach <at...@apache.org>
Authored: Mon Aug 7 14:40:57 2017 +0300
Committer: Andrii Tkach <at...@apache.org>
Committed: Mon Aug 7 14:40:57 2017 +0300
----------------------------------------------------------------------
ambari-web/app/controllers/main/host/details.js | 69 ++++++++++++++++++++
1 file changed, 69 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/58827ad3/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 382b09d..20b14ee 100644
--- a/ambari-web/app/controllers/main/host/details.js
+++ b/ambari-web/app/controllers/main/host/details.js
@@ -110,6 +110,11 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
configTagsCallbackName: 'loadStormConfigs',
configsCallbackName: 'onLoadStormConfigs'
},
+ 'ATLAS_SERVER': {
+ deletePropertyName: 'deleteAtlasServer',
+ hostPropertyName: 'atlasServer',
+ configsCallbackName: 'onLoadAtlasConfigs'
+ },
'RANGER_KMS_SERVER': {
deletePropertyName: 'deleteRangerKMSServer',
hostPropertyName: 'rangerKMSServerHost',
@@ -1117,6 +1122,52 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
}
},
+ onLoadAtlasConfigs: function(data) {
+ var atlasServer = this.get('atlasServer'),
+ atlasServerHosts = this.getAtlasServerHosts(),
+ configs = {},
+ attributes = {},
+ propertiesToChange = this.get('allPropertiesToChange');
+
+ this.saveLoadedConfigs(data);
+ data.items.forEach(function (item) {
+ configs[item.type] = item.properties;
+ attributes[item.type] = item.properties_attributes || {};
+ }, this);
+
+ var atlasAddresses = configs['application-properties']['atlas.rest.address'];
+ var hostMask = atlasAddresses.split(',')[0].replace(/([https|http]*\:\/\/)(.*?)(:[0-9]+)/, '$1{hostname}$3');
+ var atlasAddressesRecommended = atlasServerHosts.map(function(hostName) {
+ return hostMask.replace('{hostname}', hostName);
+ }).join(',');
+ configs['application-properties']['atlas.rest.address'] = atlasAddressesRecommended;
+ if (this.get('isReconfigureRequired') && atlasAddresses !== atlasAddressesRecommended) {
+ var service = App.config.get('serviceByConfigTypeMap')['application-properties'];
+ propertiesToChange.pushObject({
+ propertyFileName: 'application-properties',
+ propertyName: 'atlas.rest.address',
+ serviceDisplayName: service && service.get('displayName'),
+ initialValue: atlasAddresses,
+ recommendedValue: atlasAddressesRecommended
+ });
+ }
+ var groups = [
+ {
+ properties: {
+ 'application-properties': configs['application-properties']
+ },
+ properties_attributes: {
+ 'application-properties': attributes['application-properties']
+ }
+ }
+ ];
+ if (this.get('isReconfigureRequired')) {
+ this.setConfigsChanges(groups);
+ } else {
+ this.saveConfigsBatch(groups, 'ATLAS_SERVER', atlasServer);
+ }
+ },
+
/**
* Success callback for load configs request
* @param {object} data
@@ -1592,6 +1643,24 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
return stormNimbusHosts.sort();
},
+ getAtlasServerHosts: function () {
+ var
+ atlasServerHosts = App.HostComponent.find().filterProperty('componentName', 'ATLAS_SERVER').mapProperty('hostName'),
+ atlasServer = this.get('atlasServer');
+
+ if (!!atlasServer) {
+ atlasServerHosts.push(atlasServer);
+ this.set('atlasServer', '');
+ }
+
+ if (this.get('fromDeleteHost') || this.get('deleteAtlasServer')) {
+ this.set('deleteAtlasServer', false);
+ this.set('fromDeleteHost', false);
+ return atlasServerHosts.without(this.get('content.hostName'));
+ }
+ return atlasServerHosts.sort();
+ },
+
/**
* Send command to server to resfresh configs of selected component
* @param {object} event