Browse Source

AMBARI-9600. 'Manage Configuration Groups' window and 'Select Configuration Group Hosts' window should have internal hosts name.. (akovalenko)

Aleksandr Kovalenko 10 years ago
parent
commit
28e8b256c7

+ 3 - 48
ambari-web/app/controllers/main/service/manage_config_groups_controller.js

@@ -177,7 +177,6 @@ App.ManageConfigGroupsController = Em.Controller.extend({
       data.items.forEach(function (configGroup) {
         configGroup = configGroup.ConfigGroup;
         var hostNames = configGroup.hosts.mapProperty('host_name');
-        var publicHostNames = this.hostsToPublic(hostNames);
         var newConfigGroup = App.ConfigGroup.create({
           id: configGroup.id,
           name: configGroup.group_name,
@@ -186,7 +185,6 @@ App.ManageConfigGroupsController = Em.Controller.extend({
           parentConfigGroup: defaultConfigGroup,
           service: App.Service.find().findProperty('serviceName', configGroup.tag),
           hosts: hostNames,
-          publicHosts: publicHostNames,
           configSiteTags: [],
           properties: [],
           apiResponse: configGroup
@@ -211,7 +209,6 @@ App.ManageConfigGroupsController = Em.Controller.extend({
       }, this);
       defaultConfigGroup.set('childConfigGroups', configGroups);
       defaultConfigGroup.set('hosts', unusedHosts);
-      defaultConfigGroup.set('publicHosts', this.hostsToPublic(unusedHosts));
       var allGroups = [defaultConfigGroup].concat(configGroups);
       this.set('configGroups', allGroups);
       var originalGroups = this.copyConfigGroups(allGroups);
@@ -220,43 +217,6 @@ App.ManageConfigGroupsController = Em.Controller.extend({
       this.set('isLoaded', true);
     }
   },
-  /**
-   * Get public_host_name by host_name.
-   *
-   * @param {Array|String} hostsList
-   * @return {Array|String}
-   **/
-  hostsToPublic: function(hostsList) {
-    return this.convertHostNames(hostsList, true);
-  },
-  /**
-   * Get host_name by public_host_name
-   *
-   * @param {Array|String} hostsList
-   * @return {Array|String}
-   **/
-  publicToHostName: function(hostsList) {
-    return this.convertHostNames(hostsList, false);
-  },
-  /***
-   * Switch between public_host_name and host_name
-   *
-   * @param {Array|String} hostsList
-   * @param {Boolean} toPublic
-   * @return {Array|String}
-   **/
-  convertHostNames: function(hostsList, toPublic) {
-    var allHosts = this.get('clusterHosts');
-    var convertTarget = !!toPublic ?
-      { from: 'hostName', to: 'publicHostName' } : { from: 'publicHostName', to: 'hostName'};
-    if (this.get('isInstaller')) {
-      allHosts = App.router.get(!!this.get('isAddService') ? 'addServiceController' : 'installerController').get('allHosts');
-    }
-    if (typeof hostsList == 'string') return allHosts.findProperty(convertTarget.from, hostsList).get(convertTarget.to);
-    return hostsList.map(function(hostName) {
-      return allHosts.findProperty(convertTarget.from, hostName).get(convertTarget.to);
-    }, this);
-  },
 
   onLoadConfigGroupsError: function () {
     console.error('Unable to load config groups for service.');
@@ -330,9 +290,7 @@ App.ManageConfigGroupsController = Em.Controller.extend({
     if (selectedHosts) {
       selectedHosts.forEach(function (hostName) {
         group.get('hosts').pushObject(hostName);
-        group.get('publicHosts').pushObject(this.hostsToPublic(hostName));
         group.get('parentConfigGroup.hosts').removeObject(hostName);
-        group.get('parentConfigGroup.publicHosts').removeObject(this.hostsToPublic(hostName));
       }, this);
     }
   },
@@ -346,10 +304,8 @@ App.ManageConfigGroupsController = Em.Controller.extend({
       return;
     }
     this.get('selectedHosts').slice().forEach(function (hostName) {
-      this.get('selectedConfigGroup.parentConfigGroup.hosts').pushObject(this.publicToHostName(hostName));
-      this.get('selectedConfigGroup.parentConfigGroup.publicHosts').pushObject(hostName);
-      this.get('selectedConfigGroup.hosts').removeObject(this.publicToHostName(hostName));
-      this.get('selectedConfigGroup.publicHosts').removeObject(hostName);
+      this.get('selectedConfigGroup.parentConfigGroup.hosts').pushObject(hostName);
+      this.get('selectedConfigGroup.hosts').removeObject(hostName);
     }, this);
     this.set('selectedHosts', []);
   },
@@ -394,7 +350,7 @@ App.ManageConfigGroupsController = Em.Controller.extend({
       return;
     }
     //move hosts of group to default group (available hosts)
-    this.set('selectedHosts', selectedConfigGroup.get('publicHosts'));
+    this.set('selectedHosts', selectedConfigGroup.get('hosts'));
     this.deleteHosts();
     this.get('configGroups').removeObject(selectedConfigGroup);
     this.set('selectedConfigGroup', this.get('configGroups').findProperty('isDefault'));
@@ -500,7 +456,6 @@ App.ManageConfigGroupsController = Em.Controller.extend({
           parentConfigGroup: defaultConfigGroup,
           service: Em.Object.create({id: self.get('serviceName')}),
           hosts: [],
-          publicHosts: [],
           configSiteTags: [],
           properties: []
         });

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

@@ -937,7 +937,6 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, {
           name: configGroup.get('name'),
           description: configGroup.get('description'),
           hosts: hostNames,
-          publicHosts: configGroup.get('hosts').map(function(hostName) {return App.router.get('manageConfigGroupsController').hostsToPublic(hostName); }),
           properties: properties,
           isDefault: configGroup.get('isDefault'),
           isForInstalledService: isForInstalledService,

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

@@ -317,8 +317,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, {
       service = this.get('stepConfigs').findProperty('serviceName', serviceName),
       defaultConfigGroupHosts = this.get('wizardController.allHosts').mapProperty('hostName'),
       siteToTagMap = this._createSiteToTagMap(data.Clusters.desired_configs, params.serviceConfigsDef.get('configTypes')),
-      selectedConfigGroup,
-      manageCGController = App.router.get('manageConfigGroupsController');
+      selectedConfigGroup;
     this.set('loadedClusterSiteToTagMap', siteToTagMap);
 
     //parse loaded config groups
@@ -336,7 +335,6 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, {
             parentConfigGroup: null,
             service: App.Service.find().findProperty('serviceName', item.tag),
             hosts: groupHosts,
-            publicHosts: manageCGController.hostsToPublic(groupHosts),
             configSiteTags: []
           });
           groupHosts.forEach(function (host) {
@@ -357,7 +355,6 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, {
       description: "Default cluster level " + serviceName + " configuration",
       isDefault: true,
       hosts: defaultConfigGroupHosts,
-      publicHosts: manageCGController.hostsToPublic(defaultConfigGroupHosts),
       parentConfigGroup: null,
       service: Em.Object.create({
         id: serviceName
@@ -946,8 +943,6 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, {
   loadConfigGroups: function (serviceConfigGroups) {
     var services = this.get('stepConfigs');
     var hosts = this.get('wizardController.allHosts').mapProperty('hostName');
-    var manageCGController = App.router.get('manageConfigGroupsController');
-    this.setupManageConfigGroupsController();
     services.forEach(function (service) {
       if (service.get('serviceName') === 'MISC') return;
       var serviceRawGroups = serviceConfigGroups.filterProperty('service.id', service.serviceName);
@@ -958,7 +953,6 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, {
             description: "Default cluster level " + service.serviceName + " configuration",
             isDefault: true,
             hosts: Em.copy(hosts),
-            publicHosts: Em.copy(manageCGController.hostsToPublic(hosts)),
             service: Em.Object.create({
               id: service.serviceName
             }),
@@ -992,11 +986,6 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, {
     });
   },
 
-  setupManageConfigGroupsController: function () {
-    var manageCGController = App.router.get('manageConfigGroupsController');
-    manageCGController.set('isInstaller', true);
-    manageCGController.set('isAddService', this.get('wizardController.name') === 'addServiceController');
-  },
   /**
    * Click-handler on config-group to make it selected
    * @param {object} event

+ 0 - 5
ambari-web/app/models/config_group.js

@@ -81,11 +81,6 @@ App.ConfigGroup = Ember.Object.extend({
    */
   hosts: [],
 
-  /**
-   * Public host names related by host_name.
-   */
-  publicHosts: [],
-
   /**
    * this flag is used for installed services' config groups
    * if user make changes to them - mark this flag to true

+ 1 - 1
ambari-web/app/templates/main/service/manage_configuration_groups_popup.hbs

@@ -54,7 +54,7 @@
                     <div class="row-fluid">
                         <div class="span12 pull-right">
                           {{view Em.Select
-                          contentBinding="selectedConfigGroup.publicHosts"
+                          contentBinding="selectedConfigGroup.hosts"
                           multiple="multiple"
                           class="group-select"
                           selectionBinding="selectedHosts"

+ 1 - 148
ambari-web/test/controllers/main/service/manage_config_groups_controller_test.js

@@ -72,142 +72,6 @@ describe('App.ManageConfigGroupsController', function() {
 			});
 		});
 	});
-  
-  describe('Host Name converting', function() {
-    describe('#convertHostNames', function() {
-      var hosts = [
-        Em.Object.create({
-          hostName: 'internal-1.com',
-          publicHostName: 'external-1.com'
-        }),
-        Em.Object.create({
-          hostName: 'internal-2.com',
-          publicHostName: 'external-2.com'
-        }),
-        Em.Object.create({
-          hostName: 'internal-3.com',
-          publicHostName: 'external-3.com'
-        })
-      ];
-
-      describe('#hostsToPublic', function() {
-        beforeEach(function() {
-          manageConfigGroupsController = App.ManageConfigGroupsController.create({
-            clusterHosts: Em.A(hosts)
-          });
-        });
-
-        var tests = [
-          {
-            hostsList: ['internal-1.com', 'internal-2.com', 'internal-3.com'],
-            e: ['external-1.com', 'external-2.com', 'external-3.com']
-          },
-          {
-            hostsList: 'internal-2.com',
-            e: 'external-2.com'
-          }
-        ];
-        var message = 'should convert internal host names `{0}` to external host names `{1}`';
-        tests.forEach(function(test) {
-          it(message.format(test.hostsList, test.e), function() {
-            expect(manageConfigGroupsController.hostsToPublic(test.hostsList)).to.eql(test.e);
-          });
-        });
-      });
-
-      describe('#publicToHostName', function() {
-        beforeEach(function() {
-          manageConfigGroupsController = App.ManageConfigGroupsController.create({
-            clusterHosts: Em.A(hosts)
-          });
-        });
-
-        var tests = [
-          {
-            hostsList: ['external-1.com', 'external-2.com', 'external-3.com'],
-            e: ['internal-1.com', 'internal-2.com', 'internal-3.com']
-          },
-          {
-            hostsList: 'external-2.com',
-            e: 'internal-2.com'
-          }
-        ];
-        var message = 'should convert internal host names `{0}` to external host names `{1}`';
-        tests.forEach(function(test) {
-          it(message.format(test.hostsList, test.e), function() {
-            expect(manageConfigGroupsController.publicToHostName(test.hostsList)).to.eql(test.e);
-          });
-        });
-      });
-    });
-
-  });
-
-  describe('#deleteHosts', function() {
-    var hosts = [
-      Em.Object.create({
-        hostName: 'internal-1.com',
-        publicHostName: 'external-1.com'
-      }),
-      Em.Object.create({
-        hostName: 'internal-2.com',
-        publicHostName: 'external-2.com'
-      }),
-      Em.Object.create({
-        hostName: 'internal-3.com',
-        publicHostName: 'external-3.com'
-      })
-    ];
-
-    beforeEach(function() {
-      manageConfigGroupsController = App.ManageConfigGroupsController.create({
-        clusterHosts: hosts
-      });
-    });
-
-    var createConfigGroupWithParentMock = function(groupHosts, groupPublicHosts, allHosts) {
-      var parentCGHosts = allHosts.filter(function(host) {
-        return !groupHosts.contains(host.get('hostName'));
-      });
-      return Em.Object.create({
-        parentConfigGroup: {
-          hosts: parentCGHosts.mapProperty('hostName'),
-          publicHosts: parentCGHosts.mapProperty('publicHostName')
-        },
-        hosts: groupHosts,
-        publicHosts: groupPublicHosts
-      });
-    };
-
-    var tests = [
-      {
-        selectedHosts: ['external-1.com', 'external-2.com'],
-        selectedConfigGroup: createConfigGroupWithParentMock(
-          ['internal-1.com', 'internal-2.com'],
-          ['external-1.com', 'external-2.com'], hosts),
-        e: []
-      },
-      {
-        selectedHosts: ['external-1.com'],
-        selectedConfigGroup: createConfigGroupWithParentMock(
-          ['internal-1.com', 'internal-2.com'],
-          ['external-1.com', 'external-2.com'], hosts),
-        e: ['external-2.com']
-      }
-    ];
-
-    tests.forEach(function(test) {
-      it('should remove {0}'.format(test.selectedHosts.slice(0)), function() {
-        manageConfigGroupsController.reopen({
-          selectedHosts: test.selectedHosts,
-          selectedConfigGroup: test.selectedConfigGroup
-        });
-        manageConfigGroupsController.deleteHosts();
-        expect(manageConfigGroupsController.get('selectedConfigGroup.publicHosts').toArray()).to.eql(test.e);
-      });
-    });
-
-  });
 
   describe('#addHostsCallback', function() {
 
@@ -216,20 +80,11 @@ describe('App.ManageConfigGroupsController', function() {
       c.reopen({
         selectedConfigGroup: Em.Object.create({
           hosts: ['h1'],
-          publicHosts: ['p_h1'],
           parentConfigGroup: Em.Object.create({
-            hosts: ['h2', 'h3'],
-            publicHosts: ['p_h2', 'p_h3']
+            hosts: ['h2', 'h3']
           })
         })
       });
-
-      sinon.stub(c, 'hostsToPublic', function(s) {return 'p_' + s;});
-
-    });
-
-    afterEach(function() {
-      c.hostsToPublic.restore();
     });
 
     it('should set hosts to selectedConfigGroup and remove them form default group', function () {
@@ -237,9 +92,7 @@ describe('App.ManageConfigGroupsController', function() {
       c.addHostsCallback(['h2', 'h3']);
 
       expect(c.get('selectedConfigGroup.hosts')).to.include.members(['h1','h2','h3']);
-      expect(c.get('selectedConfigGroup.publicHosts')).to.include.members(['p_h1','p_h2','p_h3']);
       expect(c.get('selectedConfigGroup.parentConfigGroup.hosts').toArray()).to.be.empty;
-      expect(c.get('selectedConfigGroup.parentConfigGroup.publicHosts').toArray()).to.be.empty;
     });
 
   });

+ 0 - 3
ambari-web/test/controllers/wizard/step7_test.js

@@ -573,8 +573,6 @@ describe('App.InstallerStep7Controller', function () {
       installerStep7Controller.reopen({
         stepConfigs: [Em.Object.create({serviceName: serviceName, displayName: serviceName, configGroups: configGroups})]
       });
-      var manageCGController = App.router.get('manageConfigGroupsController');
-      sinon.stub(manageCGController, 'hostsToPublic', function(data){return ['c6401','c6402','c6403']});
       installerStep7Controller.loadConfigGroups(serviceConfigGroups);
       expect(installerStep7Controller.get('stepConfigs.firstObject.configGroups.length')).to.equal(1);
       var group = installerStep7Controller.get('stepConfigs.firstObject.configGroups.firstObject');
@@ -584,7 +582,6 @@ describe('App.InstallerStep7Controller', function () {
       expect(group.get('hosts')).to.eql(['h1', 'h2', 'h3']);
       expect(group.get('service.id')).to.equal(serviceName);
       expect(group.get('serviceName')).to.equal(serviceName);
-      manageCGController.hostsToPublic.restore();
     });
     it('should update configGroups for service (only default group)', function () {
       var configGroups = [],