|
@@ -20,7 +20,102 @@ var App = require('app');
|
|
|
|
|
|
require('controllers/main/admin/misc_controller');
|
|
|
|
|
|
-App.RMHighAvailabilityWizardStep4Controller = Em.Controller.extend({
|
|
|
- name:"rMHighAvailabilityWizardStep4Controller"
|
|
|
+App.RMHighAvailabilityWizardStep4Controller = App.HighAvailabilityProgressPageController.extend({
|
|
|
+
|
|
|
+ name: "rMHighAvailabilityWizardStep4Controller",
|
|
|
+
|
|
|
+ isRMHA: true,
|
|
|
+
|
|
|
+ clusterDeployState: 'RM_HIGH_AVAILABILITY_DEPLOY',
|
|
|
+
|
|
|
+ commands: ['stopRequiredServices', 'installResourceManager', 'reconfigureYARN', 'startAllServices'],
|
|
|
+
|
|
|
+ tasksMessagesPrefix: 'admin.rm_highAvailability.wizard.step',
|
|
|
+
|
|
|
+ stopRequiredServices: function () {
|
|
|
+ var list = App.Service.find().mapProperty("serviceName").without("HDFS").join(',');
|
|
|
+ App.ajax.send({
|
|
|
+ name: 'common.services.update',
|
|
|
+ sender: this,
|
|
|
+ data: {
|
|
|
+ "context": "Stop without HDFS",
|
|
|
+ "ServiceInfo": {
|
|
|
+ "state": "INSTALLED"
|
|
|
+ },
|
|
|
+ urlParams: "ServiceInfo/service_name.in(" + list + ")"},
|
|
|
+ success: 'startPolling',
|
|
|
+ error: 'onTaskError'
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ installResourceManager: function () {
|
|
|
+ var hostName = this.get('content.rmHosts.additionalRM');
|
|
|
+ this.createComponent('RESOURCEMANAGER', hostName, "YARN");
|
|
|
+ },
|
|
|
+
|
|
|
+ reconfigureYARN: function () {
|
|
|
+ this.loadConfigsTags();
|
|
|
+ },
|
|
|
+
|
|
|
+ loadConfigsTags: function () {
|
|
|
+ App.ajax.send({
|
|
|
+ name: 'config.tags',
|
|
|
+ sender: this,
|
|
|
+ success: 'onLoadConfigsTags',
|
|
|
+ error: 'onTaskError'
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ onLoadConfigsTags: function (data) {
|
|
|
+ App.ajax.send({
|
|
|
+ name: 'reassign.load_configs',
|
|
|
+ sender: this,
|
|
|
+ data: {
|
|
|
+ urlParams: '(type=yarn-site&tag=' + data.Clusters.desired_configs['yarn-site'].tag + ')'
|
|
|
+ },
|
|
|
+ success: 'onLoadConfigs',
|
|
|
+ error: 'onTaskError'
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ onLoadConfigs: function (data) {
|
|
|
+ var propertiesToAdd = this.get('content.configs');
|
|
|
+ var configs = data.items[0].properties;
|
|
|
+
|
|
|
+ propertiesToAdd.forEach(function (property) {
|
|
|
+ configs[property.name] = property.value;
|
|
|
+ });
|
|
|
+
|
|
|
+ App.ajax.send({
|
|
|
+ name: 'reassign.save_configs',
|
|
|
+ sender: this,
|
|
|
+ data: {
|
|
|
+ siteName: 'yarn-site',
|
|
|
+ properties: configs
|
|
|
+ },
|
|
|
+ success: 'onSaveConfigs',
|
|
|
+ error: 'onTaskError'
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ onSaveConfigs: function () {
|
|
|
+ this.onTaskCompleted();
|
|
|
+ },
|
|
|
+
|
|
|
+ startAllServices: function () {
|
|
|
+ App.ajax.send({
|
|
|
+ name: 'common.services.update',
|
|
|
+ sender: this,
|
|
|
+ data: {
|
|
|
+ "context": "Start all services",
|
|
|
+ "ServiceInfo": {
|
|
|
+ "state": "STARTED"
|
|
|
+ },
|
|
|
+ urlParams: "params/run_smoke_test=true"
|
|
|
+ },
|
|
|
+ success: 'startPolling',
|
|
|
+ error: 'onTaskError'
|
|
|
+ });
|
|
|
+ }
|
|
|
});
|
|
|
|