1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | 1 1 1 1 1 1 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 | 'use strict'; ;require.register("controllers/main/admin/highAvailability/hawq/activateStandby/step3_controller", function (exports, require, module) { /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var App = require('app'); require('controllers/main/admin/serviceAccounts_controller'); App.ActivateHawqStandbyWizardStep3Controller = App.HighAvailabilityProgressPageController.extend(App.WizardEnableDone, { name: "activateHawqStandbyWizardStep3Controller", clusterDeployState: 'ACTIVATE_HAWQ_STANDBY', hawqActivateStandbyCustomCommand: "ACTIVATE_HAWQ_STANDBY", hawqServiceName: "HAWQ", hawqStandbyComponentName: "HAWQSTANDBY", hawqMasterComponentName: "HAWQMASTER", commands: ['activateStandby', 'stopRequiredServices', 'reconfigureHAWQ', 'installHawqMaster', 'deleteOldHawqMaster', 'deleteHawqStandby', 'startRequiredServices'], tasksMessagesPrefix: 'admin.activateHawqStandby.wizard.step', activateStandby: function activateStandby() { App.ajax.send({ name: 'service.item.executeCustomCommand', sender: this, data: { command: this.hawqActivateStandbyCustomCommand, context: Em.I18n.t('admin.activateHawqStandby.wizard.step3.activateHawqStandbyCommand.context'), hosts: this.get('content.hawqHosts.hawqStandby'), serviceName: this.hawqServiceName, componentName: this.hawqStandbyComponentName }, success: 'startPolling', error: 'onTaskError' }); }, stopRequiredServices: function stopRequiredServices() { this.stopServices([this.hawqServiceName], true); }, reconfigureHAWQ: function reconfigureHAWQ() { App.ajax.send({ name: 'config.tags', sender: this, success: 'onLoadHawqConfigsTags', error: 'onTaskError' }); }, onLoadHawqConfigsTags: function onLoadHawqConfigsTags(data) { App.ajax.send({ name: 'reassign.load_configs', sender: this, data: { urlParams: '(type=hawq-site&tag=' + data.Clusters.desired_configs['hawq-site'].tag + ')', type: 'hawq-site' }, success: 'onLoadConfigs', error: 'onTaskError' }); }, onLoadConfigs: function onLoadConfigs(data, opt, params) { delete data.items[0].properties['hawq_standby_address_host']; var propertiesToAdd = this.get('content.configs').filterProperty('filename', params.type); propertiesToAdd.forEach(function (property) { data.items[0].properties[property.name] = property.value; }); var configData = this.reconfigureSites([params.type], data, Em.I18n.t('admin.activateHawqStandby.step4.save.configuration.note').format(App.format.role('HAWQSTANDBY', false))); App.ajax.send({ name: 'common.service.configurations', sender: this, data: { desired_config: configData }, success: 'onSaveConfigs', error: 'onTaskError' }); }, onSaveConfigs: function onSaveConfigs() { this.onTaskCompleted(); }, installHawqMaster: function installHawqMaster() { var hostName = this.get('content.hawqHosts.hawqStandby'); this.createInstallComponentTask(this.hawqMasterComponentName, hostName, this.hawqServiceName); }, deleteOldHawqMaster: function deleteOldHawqMaster() { var hostName = this.get('content.hawqHosts.hawqMaster'); this.deleteComponent(this.hawqMasterComponentName, hostName); }, deleteHawqStandby: function deleteHawqStandby() { var hostName = this.get('content.hawqHosts.hawqStandby'); this.deleteComponent(this.hawqStandbyComponentName, hostName); }, startRequiredServices: function startRequiredServices() { this.startServices(false, [this.hawqServiceName], true); } }); }); |