瀏覽代碼

AMBARI-10699 When changing stack on installer, step 7 fails with js errors. (ababiichuk)

aBabiichuk 10 年之前
父節點
當前提交
e585d23917

+ 10 - 0
ambari-web/app/app.js

@@ -182,6 +182,16 @@ module.exports = Em.Application.create({
     return this.get('currentStackName') == "HDPWIN";
   }.property('currentStackName'),
 
+  /**
+   * when working with enhanced configs we should rely on stack version
+   * as version that is below 2.2 doesn't supports it
+   * even if flag <code>supports.enhancedConfigs<code> is true
+   * @type {boolean}
+   */
+  isClusterSupportsEnhancedConfigs: function() {
+    return this.get('isHadoop22Stack') && App.get('supports.enhancedConfigs')
+  }.property('isHadoop22Stack'),
+
   /**
    * If NameNode High Availability is enabled
    * Based on <code>clusterStatus.isInstalled</code>, stack version, <code>SNameNode</code> availability

+ 1 - 1
ambari-web/app/controllers/main/service/add_controller.js

@@ -115,7 +115,7 @@ App.AddServiceController = App.WizardController.extend(App.AddSecurityConfigs, {
           var self = this;
           var dfd = $.Deferred();
           this.loadKerberosDescriptorConfigs().done(function() {
-            if (App.get('supports.enhancedConfigs')) {
+            if (App.get('isClusterSupportsEnhancedConfigs')) {
               var serviceNames = App.StackService.find().filter(function(s) {
                 return s.get('isSelected') || s.get('isInstalled');
               }).mapProperty('serviceName');

+ 1 - 1
ambari-web/app/controllers/main/service/info/configs.js

@@ -338,7 +338,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM
     console.log("TRACE: Loading configure for service");
     var serviceName = this.get('content.serviceName');
     this.clearStep();
-    if (App.get('supports.enhancedConfigs')) {
+    if (App.get('isClusterSupportsEnhancedConfigs')) {
       this.setDependentServices(serviceName);
       this.loadConfigTheme(serviceName).always(function() {
         App.themesMapper.generateAdvancedTabs([serviceName]);

+ 1 - 1
ambari-web/app/controllers/wizard.js

@@ -1234,7 +1234,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM
    loadConfigThemes: function() {
     var self = this;
     var dfd = $.Deferred();
-    if (App.get('supports.enhancedConfigs') && !this.get('stackConfigsLoaded')) {
+    if (App.get('isClusterSupportsEnhancedConfigs') && !this.get('stackConfigsLoaded')) {
       var serviceNames = App.StackService.find().filter(function(s) {
         return s.get('isSelected') || s.get('isInstalled');
       }).mapProperty('serviceName');

+ 2 - 2
ambari-web/app/mixins/common/configs/enhanced_configs.js

@@ -33,7 +33,7 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
    * @type {boolean}
    */
   hasChangedDependencies: function() {
-    return App.get('supports.enhancedConfigs') && this.get('_dependentConfigValues.length') > 0;
+    return App.get('isClusterSupportsEnhancedConfigs') && this.get('_dependentConfigValues.length') > 0;
   }.property('_dependentConfigValues.length'),
 
   /**
@@ -211,7 +211,7 @@ App.EnhancedConfigsMixin = Em.Mixin.create({
         hosts: this.get('hostNames'),
         services: this.get('serviceNames')
       };
-      if (App.get('supports.enhancedConfigs') && changedConfigs) {
+      if (App.get('isClusterSupportsEnhancedConfigs') && changedConfigs) {
         if (changedConfigs) {
           dataToSend.recommend = 'configuration-dependencies';
           dataToSend.changed_configurations = changedConfigs;

+ 1 - 1
ambari-web/app/mixins/main/service/configs/preload_requests_chain.js

@@ -138,7 +138,7 @@ App.PreloadRequestsChainMixin = Em.Mixin.create({
       serviceName: this.get('content.serviceName'),
       serviceConfigVersions: versions
     };
-    if (App.get('supports.enhancedConfigs') && this.get('dependentServiceNames.length')) {
+    if (App.get('isClusterSupportsEnhancedConfigs') && this.get('dependentServiceNames.length')) {
       data.additionalParams = '|service_name.in(' +  this.get('dependentServiceNames') + ')&is_current=true';
     }
     this.trackRequest(App.ajax.send({

+ 1 - 1
ambari-web/app/views/common/configs/overriddenProperty_view.js

@@ -77,7 +77,7 @@ App.ServiceConfigView.SCPOverriddenRowsView = Ember.View.extend({
       var group = controller.get('selectedService.configGroups').findProperty('name', controller.get('selectedConfigGroup.name'));
       group.get('properties').removeObject(scpToBeRemoved);
     }
-    if (App.get('supports.enhancedConfigs')) {
+    if (App.get('isClusterSupportsEnhancedConfigs')) {
       var deletedConfig = App.ConfigProperty.find().find(function(cp) {
         return cp.get('name') === scpToBeRemoved.get('name')
           && cp.get('fileName') === scpToBeRemoved.get('filename')

+ 2 - 2
ambari-web/app/views/common/configs/service_config_view.js

@@ -43,7 +43,7 @@ App.ServiceConfigView = Em.View.extend({
    */
   supportsConfigLayout: function() {
     var supportedControllers = ['wizardStep7Controller', 'mainServiceInfoConfigsController', 'mainHostServiceConfigsController'];
-    if (!App.get('supports.enhancedConfigs')) {
+    if (!App.get('isClusterSupportsEnhancedConfigs')) {
       return false;
     }
     if (App.Tab.find().someProperty('serviceName', this.get('controller.selectedService.serviceName')) && supportedControllers.contains(this.get('controller.name'))) {
@@ -104,7 +104,7 @@ App.ServiceConfigView = Em.View.extend({
    * @returns {Ember.A}
    */
   tabs: function() {
-    if (!App.get('supports.enhancedConfigs')) {
+    if (!App.get('isClusterSupportsEnhancedConfigs')) {
       return Em.A([]);
     }
     var tabs = App.Tab.find().filterProperty('serviceName', this.get('controller.selectedService.serviceName'));

+ 1 - 1
ambari-web/app/views/common/configs/service_configs_by_category_view.js

@@ -582,7 +582,7 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, App.ConfigOverri
   removeProperty: function (event) {
     var serviceConfigProperty = event.contexts[0];
     this.get('serviceConfigs').removeObject(serviceConfigProperty);
-    if (App.get('supports.enhancedConfigs')) {
+    if (App.get('isClusterSupportsEnhancedConfigs')) {
       var deletedConfig = App.ConfigProperty.find().find(function(cp) {
         return cp.get('name') === serviceConfigProperty.get('name')
           && cp.get('fileName') === serviceConfigProperty.get('filename')

+ 2 - 2
ambari-web/app/views/common/controls_view.js

@@ -66,7 +66,7 @@ App.SupportsDependentConfigs = Ember.Mixin.create({
    * do not apply recommended value if user change value by himself.
    */
   keyUp: function() {
-    if (App.get('supports.enhancedConfigs')) {
+    if (App.get('isClusterSupportsEnhancedConfigs')) {
       this.get('controller').removeCurrentFromDependentList(this.get('serviceConfig') || this.get('config'));
     }
   },
@@ -79,7 +79,7 @@ App.SupportsDependentConfigs = Ember.Mixin.create({
    * @returns {$.Deferred}
    */
   sendRequestRorDependentConfigs: function(config) {
-    if (App.get('supports.enhancedConfigs') && ['mainServiceInfoConfigsController','wizardStep7Controller'].contains(this.get('controller.name'))) {
+    if (App.get('isClusterSupportsEnhancedConfigs') && ['mainServiceInfoConfigsController','wizardStep7Controller'].contains(this.get('controller.name'))) {
       var name = config.get('name');
       var controller = this.get('controller');
       var type = App.config.getConfigTagFromFileName(config.get('filename'));