Browse Source

AMBARI-7671 slider.zookeeper.quorum should be managed automatically while adding zk servers to a host. (ababiichuk)

aBabiichuk 10 years ago
parent
commit
dfbb11fcc4

+ 6 - 0
ambari-web/app/controllers/main/host/details.js

@@ -655,6 +655,9 @@ App.MainHostDetailsController = Em.Controller.extend({
     if (services.someProperty('serviceName', 'STORM')) {
       urlParams.push('(type=storm-site&tag=' + data.Clusters.desired_configs['storm-site'].tag + ')');
     }
+    if (services.someProperty('serviceName', 'SLIDER')) {
+      urlParams.push('(type=slider-client&tag=' + data.Clusters.desired_configs['slider-client'].tag + ')');
+    }
     if (App.get('isRMHaEnabled')) {
       urlParams.push('(type=yarn-site&tag=' + data.Clusters.desired_configs['yarn-site'].tag + ')');
     }
@@ -714,6 +717,9 @@ App.MainHostDetailsController = Em.Controller.extend({
     if (configs['storm-site']) {
       configs['storm-site']['storm.zookeeper.servers'] = JSON.stringify(zks).replace(/"/g, "'");
     }
+    if (configs['slider-client']) {
+      configs['slider-client']['slider.zookeeper.quorum'] = zksWithPort;
+    }
     if (App.get('isRMHaEnabled')) {
       configs['yarn-site']['yarn.resourcemanager.zk-address'] = zks.join(',');
     }

+ 3 - 3
ambari-web/app/messages.js

@@ -1702,14 +1702,14 @@ Em.I18n.translations = {
   'host.host.componentFilter.client':'Client Components',
   'hosts.host.deleteComponent.popup.msg1':'Are you sure you want to delete {0}?',
   'hosts.host.deleteComponent.popup.msg2':'<b>Important:</b> After this <i>{0}</i> is deleted, go to <i>Services -> Nagios</i> to restart the Nagios service.  This is required for the alerts and notifications to work properly.',
-  'hosts.host.deleteComponent.popup.deleteZooKeeperServer':'Deleting <i>ZooKeeper Server</i> may reconfigure such properties:<ul><li>ha.zookeeper.quorum</li><li>hbase.zookeeper.quorum</li><li>templeton.zookeeper.hosts</li><li>yarn.resourcemanager.zk-address</li></ul>',
+  'hosts.host.deleteComponent.popup.deleteZooKeeperServer':'Deleting <i>ZooKeeper Server</i> may reconfigure such properties:<ul><li>ha.zookeeper.quorum</li><li>hbase.zookeeper.quorum</li><li>templeton.zookeeper.hosts</li><li>yarn.resourcemanager.zk-address</li><li>hive.zookeeper.quorum</li><li>slider.zookeeper.quorum</li></ul>',
   'hosts.host.deleteComponent.popup.warning':'<b>WARNING!</b> Delete the last <i>{0}</i> component in the cluster?</br>Deleting the last component in the cluster could result in permanent loss of service data.',
   'hosts.host.deleteComponent.popup.confirm':'Confirm Delete',
   'hosts.host.installComponent.popup.confirm':'Confirm Install',
   'hosts.host.installComponent.msg':'Are you sure you want to install {0}?',
   'hosts.host.addComponent.msg':'Are you sure you want to add {0}?',
-  'hosts.host.addComponent.addZooKeeper':'Adding ZooKeeper Server may reconfigure such properties:<ul><li>ha.zookeeper.quorum</li><li>hbase.zookeeper.quorum</li><li>templeton.zookeeper.hosts</li><li>yarn.resourcemanager.zk-address</li><li>hive.zookeeper.quorum</li></ul>',
-  'hosts.host.addComponent.deleteHostWithZooKeeper':'Deleting host with ZooKeeper Server may reconfigure such properties:<ul><li>ha.zookeeper.quorum</li><li>hbase.zookeeper.quorum</li><li>templeton.zookeeper.hosts</li><li>yarn.resourcemanager.zk-address</li><li>hive.zookeeper.quorum</li></ul>',
+  'hosts.host.addComponent.addZooKeeper':'Adding ZooKeeper Server may reconfigure such properties:<ul><li>ha.zookeeper.quorum</li><li>hbase.zookeeper.quorum</li><li>templeton.zookeeper.hosts</li><li>yarn.resourcemanager.zk-address</li><li>hive.zookeeper.quorum</li><li>slider.zookeeper.quorum</li></ul>',
+  'hosts.host.addComponent.deleteHostWithZooKeeper':'Deleting host with ZooKeeper Server may reconfigure such properties:<ul><li>ha.zookeeper.quorum</li><li>hbase.zookeeper.quorum</li><li>templeton.zookeeper.hosts</li><li>yarn.resourcemanager.zk-address</li><li>hive.zookeeper.quorum</li><li>slider.zookeeper.quorum</li></ul>',
   'host.host.addComponent.popup.dependedComponents.body': '{0} requires {1} to be installed along with it on the same host. Please add them first and then try adding {0}',
   'host.host.addComponent.popup.dependedComponents.header': 'Component dependencies',
   'hosts.host.zooKeeper.configs.save.note': 'This configuration is created by ambari while installing/deleting zookeeper component on a host',

+ 16 - 0
ambari-web/test/controllers/main/host/details_test.js

@@ -463,6 +463,15 @@ describe('App.MainHostDetailsController', function () {
       expect(controller.constructConfigUrlParams(data)).to.eql(['(type=storm-site&tag=1)']);
       App.Service.find().clear();
     });
+    it('SLIDER is installed', function () {
+      App.store.load(App.Service, {
+        id: 'SLIDER',
+        service_name: 'SLIDER'
+      });
+      var data = {Clusters: {desired_configs: {'slider-client': {tag: 1}}}};
+      expect(controller.constructConfigUrlParams(data)).to.eql(['(type=slider-client&tag=1)']);
+      App.Service.find().clear();
+    });
   });
 
   describe('#loadConfigsSuccessCallback()', function () {
@@ -582,6 +591,13 @@ describe('App.MainHostDetailsController', function () {
         "storm.zookeeper.servers": "['host1','host2']"
       }});
     });
+    it('slider-client is present', function () {
+      var configs = {'slider-client': {}};
+      expect(controller.setZKConfigs(configs, 'host1:2181', [])).to.be.true;
+      expect(configs).to.eql({"slider-client": {
+        "slider.zookeeper.quorum": "host1:2181"
+      }});
+    });
   });
 
   describe('#concatZkNames()', function () {