You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ak...@apache.org on 2014/07/15 18:43:10 UTC

[2/4] AMBARI-6490. RM HA Wizard: routing and skeleton. (akovalenko)

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/routes/rm_high_availability_routes.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/rm_high_availability_routes.js b/ambari-web/app/routes/rm_high_availability_routes.js
new file mode 100644
index 0000000..85843fe
--- /dev/null
+++ b/ambari-web/app/routes/rm_high_availability_routes.js
@@ -0,0 +1,162 @@
+/**
+ * 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');
+
+module.exports = App.WizardRoute.extend({
+  route: '/highAvailability/ResourceManager/enable',
+
+  enter: function (router) {
+    Em.run.next(function () {
+      var rMHighAvailabilityWizardController = router.get('rMHighAvailabilityWizardController');
+      App.router.get('updateController').set('isWorking', false);
+      var popup = App.ModalPopup.show({
+        classNames: ['full-width-modal'],
+        header: Em.I18n.t('admin.rm_highAvailability.wizard.header'),
+        bodyClass: App.RMHighAvailabilityWizardView.extend({
+          controller: rMHighAvailabilityWizardController
+        }),
+        primary: Em.I18n.t('form.cancel'),
+        showFooter: false,
+        secondary: null,
+
+        onClose: function () {
+          var controller = App.router.get('rMHighAvailabilityWizardController');
+          controller.clearStorageData();
+          controller.setCurrentStep('1');
+          App.router.get('updateController').set('isWorking', true);
+          App.clusterStatus.setClusterStatus({
+            clusterName: App.router.get('content.cluster.name'),
+            clusterState: 'DEFAULT',
+            wizardControllerName: App.router.get('rMHighAvailabilityWizardController.name'),
+            localdb: App.db.data
+          });
+          this.hide();
+          App.router.transitionTo('main.admin.adminHighAvailability');
+        },
+        didInsertElement: function () {
+          this.fitHeight();
+        }
+      });
+      rMHighAvailabilityWizardController.set('popup', popup);
+      var currentClusterStatus = App.clusterStatus.get('value');
+      if (currentClusterStatus) {
+        switch (currentClusterStatus.clusterState) {
+          case 'RM_HIGH_AVAILABILITY_DEPLOY' :
+            rMHighAvailabilityWizardController.setCurrentStep(currentClusterStatus.localdb.RMHighAvailabilityWizard.currentStep);
+            break;
+          default:
+            var currStep = App.router.get('rMHighAvailabilityWizardController.currentStep');
+            rMHighAvailabilityWizardController.setCurrentStep(currStep);
+            break;
+        }
+      }
+      router.transitionTo('step' + rMHighAvailabilityWizardController.get('currentStep'));
+    });
+  },
+
+  step1: Em.Route.extend({
+    route: '/step1',
+    connectOutlets: function (router) {
+      var controller = router.get('rMHighAvailabilityWizardController');
+      controller.setCurrentStep('1');
+      controller.dataLoading().done(function () {
+        controller.connectOutlet('rMHighAvailabilityWizardStep1', controller.get('content'));
+      })
+    },
+    unroutePath: function () {
+      return false;
+    },
+    next: function (router) {
+      router.transitionTo('step2');
+    }
+  }),
+
+  step2: Em.Route.extend({
+    route: '/step2',
+    connectOutlets: function (router) {
+      var controller = router.get('rMHighAvailabilityWizardController');
+      controller.setCurrentStep('2');
+      controller.dataLoading().done(function () {
+        controller.connectOutlet('rMHighAvailabilityWizardStep2', controller.get('content'));
+      })
+    },
+    unroutePath: function () {
+      return false;
+    },
+    next: function (router) {
+      router.transitionTo('step3');
+    },
+    back: function (router) {
+      router.transitionTo('step1');
+    }
+  }),
+
+  step3: Em.Route.extend({
+    route: '/step3',
+    connectOutlets: function (router) {
+      var controller = router.get('rMHighAvailabilityWizardController');
+      controller.setCurrentStep('3');
+      controller.dataLoading().done(function () {
+        controller.connectOutlet('rMHighAvailabilityWizardStep3',  controller.get('content'));
+      })
+    },
+    unroutePath: function () {
+      return false;
+    },
+    next: function (router) {
+      router.transitionTo('step4');
+    },
+    back: Em.Router.transitionTo('step2')
+  }),
+
+  step4: Em.Route.extend({
+    route: '/step9',
+    connectOutlets: function (router) {
+      var controller = router.get('rMHighAvailabilityWizardController');
+      controller.setCurrentStep('4');
+      controller.setLowerStepsDisable(4);
+      controller.dataLoading().done(function () {
+        controller.connectOutlet('rMHighAvailabilityWizardStep4',  controller.get('content'));
+      })
+    },
+    unroutePath: function () {
+      return false;
+    },
+    next: function (router) {
+      var controller = router.get('rMHighAvailabilityWizardController');
+      controller.finish();
+      controller.get('popup').hide();
+      App.clusterStatus.setClusterStatus({
+        clusterName: controller.get('content.cluster.name'),
+        clusterState: 'DEFAULT',
+        wizardControllerName: 'rMHighAvailabilityWizardController',
+        localdb: App.db.data
+      });
+      router.transitionTo('main.index');
+    }
+  }),
+
+  gotoStep1: Em.Router.transitionTo('step1'),
+
+  gotoStep2: Em.Router.transitionTo('step2'),
+
+  gotoStep3: Em.Router.transitionTo('step3'),
+
+  gotoStep4: Em.Router.transitionTo('step4')
+});

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/routes/rollbackHA_routes.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/rollbackHA_routes.js b/ambari-web/app/routes/rollbackHA_routes.js
index 33944a2..9c91761 100644
--- a/ambari-web/app/routes/rollbackHA_routes.js
+++ b/ambari-web/app/routes/rollbackHA_routes.js
@@ -19,7 +19,7 @@
 var App = require('app');
 
 module.exports = App.WizardRoute.extend({
-  route: '/highAvailability/rollbackHA',
+  route: '/highAvailability/NameNode/rollbackHA',
 
   enter: function (router) {
     Em.run.next(function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index e09711a..1945480 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -4029,6 +4029,14 @@ table.graphs {
     padding-bottom: 15px;
   }
 }
+
+.ha-btn {
+  margin-left: 0px;
+}
+
+.rm-ha {
+  margin-top: 20px;
+}
 /* End Admin Access*/
 
 /*Start About*/

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability.hbs b/ambari-web/app/templates/main/admin/highAvailability.hbs
index 71e76af..d40e6a7 100644
--- a/ambari-web/app/templates/main/admin/highAvailability.hbs
+++ b/ambari-web/app/templates/main/admin/highAvailability.hbs
@@ -33,10 +33,18 @@
     {{#if controller.dataIsLoaded}}
       <p class="muted">
         {{t admin.highAvailability.disabled}}
-        <a class="btn btn-padding btn-success" {{action enableHighAvailability target="controller"}}>{{t admin.highAvailability.button.enable}}</a>
       </p>
+      <a class="btn btn-padding btn-success ha-btn" {{action enableHighAvailability target="controller"}}>{{t admin.highAvailability.button.enable}}</a>
     {{else}}
       <div class="spinner"></div>
     {{/if}}
   {{/if}}
+  {{#if App.supports.resourceManagerHighAvailability}}
+    <div class="rm-ha">
+      <p class="muted">
+        {{t admin.rm_highAvailability.disabled}}
+      </p>
+      <a class="btn btn-padding btn-success ha-btn" {{action enableRMHighAvailability target="controller"}}>{{t admin.rm_highAvailability.button.enable}}</a>
+    </div>
+  {{/if}}
 </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollback.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollback.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollback.hbs
new file mode 100644
index 0000000..12e1a85
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollback.hbs
@@ -0,0 +1,21 @@
+{{!
+* 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.
+}}
+<div class="wizard">
+  {{template "templates/main/admin/highAvailability/progress"}}
+</div>
+

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/rollback_wizard.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/rollback_wizard.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/rollback_wizard.hbs
new file mode 100644
index 0000000..1f10cc7
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/rollback_wizard.hbs
@@ -0,0 +1,40 @@
+{{!
+* 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.
+}}
+
+<div class="wizard">
+  <div class="container">
+    <div class="container-fluid">
+      <div class="row-fluid">
+        <div class="span3">
+          <!--Sidebar content-->
+          <div class="well">
+            <ul class="nav nav-pills nav-stacked">
+              <li class="nav-header">{{t admin.highAvailability.wizard.rollback.header.title}}</li>
+              <li {{bindAttr class="isStep1:active view.isStep1Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep1 target="controller"}}>{{t admin.rollbackHighAvailability.wizard.step1.header}}</a></li>
+              <li {{bindAttr class="isStep2:active view.isStep2Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep2 target="controller"}}>{{t admin.rollbackHighAvailability.wizard.step2.header}}</a></li>
+              <li {{bindAttr class="isStep3:active view.isStep3Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep3 target="controller"}}>{{t admin.rollbackHighAvailability.wizard.step3.header}}</a></li>
+            </ul>
+          </div>
+        </div>
+        <div class="wizard-content well span9">
+          {{outlet}}
+        </div>
+      </div>
+    </div>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step1.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step1.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step1.hbs
new file mode 100644
index 0000000..7e92a5c
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step1.hbs
@@ -0,0 +1,50 @@
+{{!
+* 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.
+}}
+<div>
+  {{#if view.isLoaded}}
+      <h2>{{t admin.rollbackHighAvailability.wizard.step1.header}}</h2>
+
+      <div class="alert alert-info">
+          <p>
+              Select Additional NameNode host:
+            {{view Ember.Select
+            contentBinding="view.addNNHosts"
+            valueBinding="view.selectedAddNNHost"
+            }}
+          </p>
+
+          <div class="code-snippet">Tip: Suggested host <b>{{view.tipAddNNHost}}</b></div>
+      </div>
+      <div class="alert alert-info">
+          <p>
+              Select Secondary NameNode host:
+            {{view Ember.Select
+            contentBinding="view.sNNHosts"
+            valueBinding="view.selectedSNNHost"
+            }}
+          </p>
+
+          <div class="code-snippet">Tip: Suggested host <b>{{view.tipSNNHost}}</b></div>
+      </div>
+      <div class="btn-area">
+          <a {{bindAttr class=":btn controller.isNameServiceIdValid::disabled :btn-success :pull-right"}} {{action done target="view"}}>{{t common.next}} &rarr;</a>
+      </div>
+  {{else}}
+      <div class="spinner"></div>
+  {{/if}}
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step2.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step2.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step2.hbs
new file mode 100644
index 0000000..10b14d1
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step2.hbs
@@ -0,0 +1,27 @@
+{{!
+* 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.
+}}
+<div>
+  <h2>{{t admin.rollbackHighAvailability.wizard.step2.header}}</h2>
+  <div class="alert alert-info">
+      {{{view.step2BodyText}}}
+  </div>
+   <div class="btn-area">
+      <a  {{bindAttr class=":btn :btn-success :pull-right"}} {{action next}}>{{t common.next}} &rarr;</a>
+      <span class="pull-right btn-extra-info">{{view.nnCheckPointText}}</span>
+    </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step3.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step3.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step3.hbs
new file mode 100644
index 0000000..850b4e3
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/rollbackHA/step3.hbs
@@ -0,0 +1,24 @@
+{{!
+* 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.
+}}
+<div>
+  <h2>{{t admin.rollbackHighAvailability.wizard.step3.header}}</h2>
+
+  <div class="btn-area">
+    <a {{bindAttr class=":btn controller.isNameServiceIdValid::disabled :btn-success :pull-right"}} {{action next}}>{{t common.next}} &rarr;</a>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/step1.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/step1.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step1.hbs
new file mode 100644
index 0000000..2f03ce3
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step1.hbs
@@ -0,0 +1,41 @@
+{{!
+* 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.
+}}
+<div id="ha-step1">
+  <h2>{{t admin.highAvailability.wizard.step1.header}}</h2>
+
+  <div class="alert alert-info">
+    {{t admin.highAvailability.wizard.step1.body}}
+    <div class="alert alert-warn">
+      {{t admin.highAvailability.wizard.step1.alert}}
+    </div>
+  </div>
+
+  <div {{bindAttr class=":control-group view.showInputError:error :form-horizontal :nameserviceid-input"}}>
+    <label class="control-label">{{t admin.highAvailability.wizard.step1.nameserviceid}}:</label>
+
+    <div class="controls">
+      {{view Ember.TextField valueBinding="content.nameServiceId"}}
+      <span  {{bindAttr class=":help-inline view.showInputError::hidden"}}>
+        {{t admin.highAvailability.wizard.step1.nameserviceid.error}}
+      </span>
+    </div>
+  </div>
+  <div class="btn-area">
+    <a {{bindAttr class=":btn controller.isNameServiceIdValid::disabled :btn-success :pull-right"}} {{action next target="controller"}}>{{t common.next}} &rarr;</a>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/step2.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/step2.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step2.hbs
new file mode 100644
index 0000000..5fb4964
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step2.hbs
@@ -0,0 +1,83 @@
+{{!
+* 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.
+}}
+
+<h2>{{t admin.highAvailability.wizard.step2.header}}</h2>
+<div class="alert alert-info">
+  {{t admin.highAvailability.wizard.step2.body}}
+</div>
+<div class="assign-masters">
+  <div class="select-hosts span7">
+    <form class="form-horizontal" autocomplete="off">
+      <!-- View for array controller -->
+      {{#each servicesMasters}}
+        <div class="control-group">
+          <label class="control-label">
+            {{#if isCurNameNode}}
+              {{t common.current}}
+            {{/if}}
+            {{#if isAddNameNode}}
+              {{t common.additional}}
+            {{/if}}
+            {{display_name}}:
+          </label>
+
+          <div class="controls">
+            {{#if view.shouldUseInputs}}
+              {{view App.InputHostView
+              componentBinding="this"
+              disabledBinding="isInstalled" }}
+            {{else}}
+              {{view App.SelectHostView
+              componentBinding="this"
+              disabledBinding="isInstalled"
+              optionValuePath="content.host_name"
+              optionLabelPath="content.host_info" }}
+            {{/if}}
+            {{#if showAddControl}}
+              {{view App.AddControlView componentNameBinding="component_name"}}
+            {{/if}}
+            {{#if showRemoveControl}}
+              {{view App.RemoveControlView componentNameBinding="component_name" serviceComponentIddBinding="serviceComponentId"}}
+            {{/if}}
+          </div>
+        </div>
+      {{/each}}
+    </form>
+  </div>
+
+  <div class="host-assignments span5">
+    {{#each masterHostMapping}}
+      <div class="mapping-box round-corners well">
+        <div class="hostString"><span>{{hostInfo}}</span></div>
+        {{#each masterServices}}
+          <span {{bindAttr class="isInstalled:assignedService:newService :round-corners"}}>{{display_name}}</span>
+        {{/each}}
+      </div>
+    {{/each}}
+
+    {{#if remainingHosts}}
+      <div class="remaining-hosts round-corners well">
+        <span><strong>{{remainingHosts}}</strong> {{t installer.step5.attention}}</span></div>
+    {{/if}}
+  </div>
+  <div style="clear: both;"></div>
+</div>
+<div class="btn-area">
+  <a class="btn" {{action back}}>&larr; {{t common.back}}</a>
+  <a class="btn btn-success pull-right" {{bindAttr disabled="submitDisabled"}} {{action submit target="controller"}}>{{t common.next}} &rarr;</a>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/step3.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/step3.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step3.hbs
new file mode 100644
index 0000000..4afbb11
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step3.hbs
@@ -0,0 +1,79 @@
+{{!
+* 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.
+}}
+
+
+<h2>{{t admin.highAvailability.wizard.step3.header}}</h2>
+
+<div class="alert alert-info">
+  {{t admin.highAvailability.wizard.step3.confirm.host.body}}
+</div>
+
+<div id="ha-step3-content" class="well pre-scrollable">
+  <div id="step8-info">
+    <table id="ha-step3-review-table">
+      <tr>
+        <td>{{t admin.highAvailability.wizard.step3.curNameNode}}</td>
+        <td>{{view.curNameNode}}</td>
+        <td></td>
+      </tr>
+      <tr>
+        <td>{{t admin.highAvailability.wizard.step3.secNameNode}}</td>
+        <td>{{view.secondaryNameNode}}</td>
+        <td><span class="to-be-disabled-red"><i class="icon-minus"></i>&nbsp;{{t admin.highAvailability.wizard.step3.toBeDeleted}}</span></td>
+      </tr>
+      <tr>
+        <td>{{t admin.highAvailability.wizard.step3.addNameNode}}</td>
+        <td>{{view.addNameNode}}</td>
+        <td><span class="to-be-installed-green"><i class="icon-plus"></i>&nbsp;{{t admin.highAvailability.wizard.step3.toBeInstalled}}</span></td>
+      </tr>
+      <tr>
+        <td>{{t admin.highAvailability.wizard.step3.journalNode}}</td>
+        <td>
+          <ul>
+            {{#each item in view.journalNodes}}
+              <li>{{item.hostName}}</li>
+            {{/each}}
+          </ul>
+        </td>
+        <td>
+          <ul>
+            <li><span class="to-be-installed-green"><i
+                    class="icon-plus"></i>&nbsp;{{t admin.highAvailability.wizard.step3.toBeInstalled}}</span></li>
+            <li><span class="to-be-installed-green"><i
+                    class="icon-plus"></i>&nbsp;{{t admin.highAvailability.wizard.step3.toBeInstalled}}</span></li>
+            <li><span class="to-be-installed-green"><i
+                    class="icon-plus"></i>&nbsp;{{t admin.highAvailability.wizard.step3.toBeInstalled}}</span></li>
+          </ul>
+        </td>
+      </tr>
+    </table>
+  </div>
+</div>
+
+
+<div id="serviceConfig">
+
+  {{{t admin.highAvailability.wizard.step3.confirm.config.body}}}
+
+  {{view App.ServiceConfigView isNotEditableBinding="controller.isNotEditable"}}
+</div>
+
+<div class="btn-area">
+  <a class="btn" {{action back}}>&larr; {{t common.back}}</a>
+  <a class="btn btn-success pull-right" {{action next}}>{{t common.next}} &rarr;</a>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/step4.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/step4.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step4.hbs
new file mode 100644
index 0000000..ae9090e
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step4.hbs
@@ -0,0 +1,27 @@
+{{!
+* 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.
+}}
+<div id="ha-step4">
+  <h2>{{t admin.highAvailability.wizard.step4.bodyHeader}}</h2>
+  <div class="alert alert-info">
+    {{{view.step4BodyText}}}
+  </div>
+  <div class="btn-area">
+    <a  {{bindAttr class="controller.isNextEnabled::disabled :btn :btn-success :pull-right"}} {{action done target="controller"}}>{{t common.next}} &rarr;</a>
+    <span class="pull-right btn-extra-info">{{view.nnCheckPointText}}</span>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/step5.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/step5.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step5.hbs
new file mode 100644
index 0000000..defea53
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step5.hbs
@@ -0,0 +1,18 @@
+{{!
+* 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.
+}}
+{{template "templates/main/admin/highAvailability/progress"}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/step6.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/step6.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step6.hbs
new file mode 100644
index 0000000..441f94c
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step6.hbs
@@ -0,0 +1,27 @@
+{{!
+* 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.
+}}
+<div id="ha-step6">
+  <h2>{{t admin.highAvailability.wizard.step6.bodyHeader}}</h2>
+  <div class="alert alert-info">
+    {{{view.step6BodyText}}}
+  </div>
+  <div class="btn-area">
+    <a {{bindAttr class="controller.isNextEnabled::disabled :btn :btn-success :pull-right"}} {{action done target="controller"}}>{{t common.next}} &rarr;</a>
+    <span class="pull-right btn-extra-info">{{view.jnCheckPointText}}</span>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/step7.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/step7.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step7.hbs
new file mode 100644
index 0000000..defea53
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step7.hbs
@@ -0,0 +1,18 @@
+{{!
+* 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.
+}}
+{{template "templates/main/admin/highAvailability/progress"}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/step8.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/step8.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step8.hbs
new file mode 100644
index 0000000..ee65297
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step8.hbs
@@ -0,0 +1,25 @@
+{{!
+* 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.
+}}
+<div id="ha-step8">
+  <h2>{{t admin.highAvailability.wizard.step8.bodyHeader}}</h2>
+  {{{view.step8BodyText}}}
+  <div class="btn-area">
+    <a class="btn btn-success pull-right" {{action next}}>{{t common.next}} &rarr;</a>
+    <span class="pull-right btn-extra-info">{{!t admin.highAvailability.wizard.step8.metaNoInit}}</span>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/step9.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/step9.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step9.hbs
new file mode 100644
index 0000000..defea53
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/step9.hbs
@@ -0,0 +1,18 @@
+{{!
+* 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.
+}}
+{{template "templates/main/admin/highAvailability/progress"}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/nameNode/wizard.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/nameNode/wizard.hbs b/ambari-web/app/templates/main/admin/highAvailability/nameNode/wizard.hbs
new file mode 100644
index 0000000..826e553
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/nameNode/wizard.hbs
@@ -0,0 +1,50 @@
+{{!
+* 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.
+}}
+
+<div class="wizard">
+  <div class="container">
+    <div class="container-fluid">
+      <div class="row-fluid">
+        <div class="span3">
+          <!--Sidebar content-->
+          <div class="well">
+            <ul class="nav nav-pills nav-stacked">
+              <li class="nav-header">{{t admin.highAvailability.wizard.header}}</li>
+              <li {{bindAttr class="isStep1:active view.isStep1Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep1 target="controller"}}>{{t admin.highAvailability.wizard.step1.header}}</a></li>
+              <li {{bindAttr class="isStep2:active view.isStep2Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep2 target="controller"}}>{{t admin.highAvailability.wizard.step2.header}}</a></li>
+              <li {{bindAttr class="isStep3:active view.isStep3Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep3 target="controller"}}>{{t admin.highAvailability.wizard.step3.header}}</a></li>
+              <li {{bindAttr class="isStep4:active view.isStep4Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep4 target="controller"}}>{{t admin.highAvailability.wizard.step4.header}}</a></li>
+              <li {{bindAttr class="isStep5:active view.isStep5Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep5 target="controller"}}>{{t admin.highAvailability.wizard.step5.header}}</a></li>
+              <li {{bindAttr class="isStep6:active view.isStep6Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep6 target="controller"}}>{{t admin.highAvailability.wizard.step6.header}}</a></li>
+              <li {{bindAttr class="isStep7:active view.isStep7Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep7 target="controller"}}>{{t admin.highAvailability.wizard.step7.header}}</a></li>
+              <li {{bindAttr class="isStep8:active view.isStep8Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep8 target="controller"}}>{{t admin.highAvailability.wizard.step8.header}}</a></li>
+              <li {{bindAttr class="isStep9:active view.isStep9Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep9 target="controller"}}>{{t admin.highAvailability.wizard.step9.header}}</a></li>
+            </ul>
+          </div>
+        </div>
+          <div class="wizard-content well span9">
+            {{#if view.isLoaded}}
+              {{outlet}}
+            {{else}}
+                <div class="spinner"></div>
+            {{/if}}
+          </div>
+      </div>
+    </div>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step1.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step1.hbs b/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step1.hbs
new file mode 100644
index 0000000..9c6f916
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step1.hbs
@@ -0,0 +1,24 @@
+{{!
+* 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.
+}}
+<div>
+  <h2>{{t admin.rm_highAvailability.wizard.step1.header}}</h2>
+
+  <div class="btn-area">
+    <a class="btn btn-success pull-right" {{action next}}>{{t common.next}} &rarr;</a>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step2.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step2.hbs b/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step2.hbs
new file mode 100644
index 0000000..5cb85cd
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step2.hbs
@@ -0,0 +1,24 @@
+{{!
+* 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.
+}}
+<div>
+  <h2>{{t admin.rm_highAvailability.wizard.step2.header}}</h2>
+
+  <div class="btn-area">
+    <a class="btn btn-success pull-right" {{action next}}>{{t common.next}} &rarr;</a>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step3.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step3.hbs b/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step3.hbs
new file mode 100644
index 0000000..cc407b8
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step3.hbs
@@ -0,0 +1,24 @@
+{{!
+* 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.
+}}
+<div>
+  <h2>{{t admin.rm_highAvailability.wizard.step3.header}}</h2>
+
+  <div class="btn-area">
+    <a class="btn btn-success pull-right" {{action next}}>{{t common.next}} &rarr;</a>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step4.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step4.hbs b/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step4.hbs
new file mode 100644
index 0000000..38bc9e2
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/resourceManager/step4.hbs
@@ -0,0 +1,24 @@
+{{!
+* 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.
+}}
+<div>
+  <h2>{{t admin.rm_highAvailability.wizard.step4.header}}</h2>
+
+  <div class="btn-area">
+    <a class="btn btn-success pull-right" {{action next}}>{{t common.complete}}</a>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/resourceManager/wizard.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/resourceManager/wizard.hbs b/ambari-web/app/templates/main/admin/highAvailability/resourceManager/wizard.hbs
new file mode 100644
index 0000000..aeec627
--- /dev/null
+++ b/ambari-web/app/templates/main/admin/highAvailability/resourceManager/wizard.hbs
@@ -0,0 +1,45 @@
+{{!
+* 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.
+}}
+
+<div class="wizard">
+  <div class="container">
+    <div class="container-fluid">
+      <div class="row-fluid">
+        <div class="span3">
+          <!--Sidebar content-->
+          <div class="well">
+            <ul class="nav nav-pills nav-stacked">
+              <li class="nav-header">{{t admin.rm_highAvailability.wizard.header}}</li>
+              <li {{bindAttr class="isStep1:active view.isStep1Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep1 target="controller"}}>{{t admin.rm_highAvailability.wizard.step1.header}}</a></li>
+              <li {{bindAttr class="isStep2:active view.isStep2Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep2 target="controller"}}>{{t admin.rm_highAvailability.wizard.step2.header}}</a></li>
+              <li {{bindAttr class="isStep3:active view.isStep3Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep3 target="controller"}}>{{t admin.rm_highAvailability.wizard.step3.header}}</a></li>
+              <li {{bindAttr class="isStep4:active view.isStep4Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep4 target="controller"}}>{{t admin.rm_highAvailability.wizard.step4.header}}</a></li>
+            </ul>
+          </div>
+        </div>
+          <div class="wizard-content well span9">
+            {{#if view.isLoaded}}
+              {{outlet}}
+            {{else}}
+                <div class="spinner"></div>
+            {{/if}}
+          </div>
+      </div>
+    </div>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/rollback.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/rollback.hbs b/ambari-web/app/templates/main/admin/highAvailability/rollback.hbs
deleted file mode 100644
index 12e1a85..0000000
--- a/ambari-web/app/templates/main/admin/highAvailability/rollback.hbs
+++ /dev/null
@@ -1,21 +0,0 @@
-{{!
-* 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.
-}}
-<div class="wizard">
-  {{template "templates/main/admin/highAvailability/progress"}}
-</div>
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/step1.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/step1.hbs b/ambari-web/app/templates/main/admin/highAvailability/step1.hbs
deleted file mode 100644
index 2f03ce3..0000000
--- a/ambari-web/app/templates/main/admin/highAvailability/step1.hbs
+++ /dev/null
@@ -1,41 +0,0 @@
-{{!
-* 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.
-}}
-<div id="ha-step1">
-  <h2>{{t admin.highAvailability.wizard.step1.header}}</h2>
-
-  <div class="alert alert-info">
-    {{t admin.highAvailability.wizard.step1.body}}
-    <div class="alert alert-warn">
-      {{t admin.highAvailability.wizard.step1.alert}}
-    </div>
-  </div>
-
-  <div {{bindAttr class=":control-group view.showInputError:error :form-horizontal :nameserviceid-input"}}>
-    <label class="control-label">{{t admin.highAvailability.wizard.step1.nameserviceid}}:</label>
-
-    <div class="controls">
-      {{view Ember.TextField valueBinding="content.nameServiceId"}}
-      <span  {{bindAttr class=":help-inline view.showInputError::hidden"}}>
-        {{t admin.highAvailability.wizard.step1.nameserviceid.error}}
-      </span>
-    </div>
-  </div>
-  <div class="btn-area">
-    <a {{bindAttr class=":btn controller.isNameServiceIdValid::disabled :btn-success :pull-right"}} {{action next target="controller"}}>{{t common.next}} &rarr;</a>
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/step2.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/step2.hbs b/ambari-web/app/templates/main/admin/highAvailability/step2.hbs
deleted file mode 100644
index 5fb4964..0000000
--- a/ambari-web/app/templates/main/admin/highAvailability/step2.hbs
+++ /dev/null
@@ -1,83 +0,0 @@
-{{!
-* 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.
-}}
-
-<h2>{{t admin.highAvailability.wizard.step2.header}}</h2>
-<div class="alert alert-info">
-  {{t admin.highAvailability.wizard.step2.body}}
-</div>
-<div class="assign-masters">
-  <div class="select-hosts span7">
-    <form class="form-horizontal" autocomplete="off">
-      <!-- View for array controller -->
-      {{#each servicesMasters}}
-        <div class="control-group">
-          <label class="control-label">
-            {{#if isCurNameNode}}
-              {{t common.current}}
-            {{/if}}
-            {{#if isAddNameNode}}
-              {{t common.additional}}
-            {{/if}}
-            {{display_name}}:
-          </label>
-
-          <div class="controls">
-            {{#if view.shouldUseInputs}}
-              {{view App.InputHostView
-              componentBinding="this"
-              disabledBinding="isInstalled" }}
-            {{else}}
-              {{view App.SelectHostView
-              componentBinding="this"
-              disabledBinding="isInstalled"
-              optionValuePath="content.host_name"
-              optionLabelPath="content.host_info" }}
-            {{/if}}
-            {{#if showAddControl}}
-              {{view App.AddControlView componentNameBinding="component_name"}}
-            {{/if}}
-            {{#if showRemoveControl}}
-              {{view App.RemoveControlView componentNameBinding="component_name" serviceComponentIddBinding="serviceComponentId"}}
-            {{/if}}
-          </div>
-        </div>
-      {{/each}}
-    </form>
-  </div>
-
-  <div class="host-assignments span5">
-    {{#each masterHostMapping}}
-      <div class="mapping-box round-corners well">
-        <div class="hostString"><span>{{hostInfo}}</span></div>
-        {{#each masterServices}}
-          <span {{bindAttr class="isInstalled:assignedService:newService :round-corners"}}>{{display_name}}</span>
-        {{/each}}
-      </div>
-    {{/each}}
-
-    {{#if remainingHosts}}
-      <div class="remaining-hosts round-corners well">
-        <span><strong>{{remainingHosts}}</strong> {{t installer.step5.attention}}</span></div>
-    {{/if}}
-  </div>
-  <div style="clear: both;"></div>
-</div>
-<div class="btn-area">
-  <a class="btn" {{action back}}>&larr; {{t common.back}}</a>
-  <a class="btn btn-success pull-right" {{bindAttr disabled="submitDisabled"}} {{action submit target="controller"}}>{{t common.next}} &rarr;</a>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/step3.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/step3.hbs b/ambari-web/app/templates/main/admin/highAvailability/step3.hbs
deleted file mode 100644
index 4afbb11..0000000
--- a/ambari-web/app/templates/main/admin/highAvailability/step3.hbs
+++ /dev/null
@@ -1,79 +0,0 @@
-{{!
-* 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.
-}}
-
-
-<h2>{{t admin.highAvailability.wizard.step3.header}}</h2>
-
-<div class="alert alert-info">
-  {{t admin.highAvailability.wizard.step3.confirm.host.body}}
-</div>
-
-<div id="ha-step3-content" class="well pre-scrollable">
-  <div id="step8-info">
-    <table id="ha-step3-review-table">
-      <tr>
-        <td>{{t admin.highAvailability.wizard.step3.curNameNode}}</td>
-        <td>{{view.curNameNode}}</td>
-        <td></td>
-      </tr>
-      <tr>
-        <td>{{t admin.highAvailability.wizard.step3.secNameNode}}</td>
-        <td>{{view.secondaryNameNode}}</td>
-        <td><span class="to-be-disabled-red"><i class="icon-minus"></i>&nbsp;{{t admin.highAvailability.wizard.step3.toBeDeleted}}</span></td>
-      </tr>
-      <tr>
-        <td>{{t admin.highAvailability.wizard.step3.addNameNode}}</td>
-        <td>{{view.addNameNode}}</td>
-        <td><span class="to-be-installed-green"><i class="icon-plus"></i>&nbsp;{{t admin.highAvailability.wizard.step3.toBeInstalled}}</span></td>
-      </tr>
-      <tr>
-        <td>{{t admin.highAvailability.wizard.step3.journalNode}}</td>
-        <td>
-          <ul>
-            {{#each item in view.journalNodes}}
-              <li>{{item.hostName}}</li>
-            {{/each}}
-          </ul>
-        </td>
-        <td>
-          <ul>
-            <li><span class="to-be-installed-green"><i
-                    class="icon-plus"></i>&nbsp;{{t admin.highAvailability.wizard.step3.toBeInstalled}}</span></li>
-            <li><span class="to-be-installed-green"><i
-                    class="icon-plus"></i>&nbsp;{{t admin.highAvailability.wizard.step3.toBeInstalled}}</span></li>
-            <li><span class="to-be-installed-green"><i
-                    class="icon-plus"></i>&nbsp;{{t admin.highAvailability.wizard.step3.toBeInstalled}}</span></li>
-          </ul>
-        </td>
-      </tr>
-    </table>
-  </div>
-</div>
-
-
-<div id="serviceConfig">
-
-  {{{t admin.highAvailability.wizard.step3.confirm.config.body}}}
-
-  {{view App.ServiceConfigView isNotEditableBinding="controller.isNotEditable"}}
-</div>
-
-<div class="btn-area">
-  <a class="btn" {{action back}}>&larr; {{t common.back}}</a>
-  <a class="btn btn-success pull-right" {{action next}}>{{t common.next}} &rarr;</a>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/step4.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/step4.hbs b/ambari-web/app/templates/main/admin/highAvailability/step4.hbs
deleted file mode 100644
index ae9090e..0000000
--- a/ambari-web/app/templates/main/admin/highAvailability/step4.hbs
+++ /dev/null
@@ -1,27 +0,0 @@
-{{!
-* 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.
-}}
-<div id="ha-step4">
-  <h2>{{t admin.highAvailability.wizard.step4.bodyHeader}}</h2>
-  <div class="alert alert-info">
-    {{{view.step4BodyText}}}
-  </div>
-  <div class="btn-area">
-    <a  {{bindAttr class="controller.isNextEnabled::disabled :btn :btn-success :pull-right"}} {{action done target="controller"}}>{{t common.next}} &rarr;</a>
-    <span class="pull-right btn-extra-info">{{view.nnCheckPointText}}</span>
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/step5.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/step5.hbs b/ambari-web/app/templates/main/admin/highAvailability/step5.hbs
deleted file mode 100644
index defea53..0000000
--- a/ambari-web/app/templates/main/admin/highAvailability/step5.hbs
+++ /dev/null
@@ -1,18 +0,0 @@
-{{!
-* 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.
-}}
-{{template "templates/main/admin/highAvailability/progress"}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/step6.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/step6.hbs b/ambari-web/app/templates/main/admin/highAvailability/step6.hbs
deleted file mode 100644
index 441f94c..0000000
--- a/ambari-web/app/templates/main/admin/highAvailability/step6.hbs
+++ /dev/null
@@ -1,27 +0,0 @@
-{{!
-* 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.
-}}
-<div id="ha-step6">
-  <h2>{{t admin.highAvailability.wizard.step6.bodyHeader}}</h2>
-  <div class="alert alert-info">
-    {{{view.step6BodyText}}}
-  </div>
-  <div class="btn-area">
-    <a {{bindAttr class="controller.isNextEnabled::disabled :btn :btn-success :pull-right"}} {{action done target="controller"}}>{{t common.next}} &rarr;</a>
-    <span class="pull-right btn-extra-info">{{view.jnCheckPointText}}</span>
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/step7.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/step7.hbs b/ambari-web/app/templates/main/admin/highAvailability/step7.hbs
deleted file mode 100644
index defea53..0000000
--- a/ambari-web/app/templates/main/admin/highAvailability/step7.hbs
+++ /dev/null
@@ -1,18 +0,0 @@
-{{!
-* 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.
-}}
-{{template "templates/main/admin/highAvailability/progress"}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/step8.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/step8.hbs b/ambari-web/app/templates/main/admin/highAvailability/step8.hbs
deleted file mode 100644
index ee65297..0000000
--- a/ambari-web/app/templates/main/admin/highAvailability/step8.hbs
+++ /dev/null
@@ -1,25 +0,0 @@
-{{!
-* 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.
-}}
-<div id="ha-step8">
-  <h2>{{t admin.highAvailability.wizard.step8.bodyHeader}}</h2>
-  {{{view.step8BodyText}}}
-  <div class="btn-area">
-    <a class="btn btn-success pull-right" {{action next}}>{{t common.next}} &rarr;</a>
-    <span class="pull-right btn-extra-info">{{!t admin.highAvailability.wizard.step8.metaNoInit}}</span>
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/step9.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/step9.hbs b/ambari-web/app/templates/main/admin/highAvailability/step9.hbs
deleted file mode 100644
index defea53..0000000
--- a/ambari-web/app/templates/main/admin/highAvailability/step9.hbs
+++ /dev/null
@@ -1,18 +0,0 @@
-{{!
-* 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.
-}}
-{{template "templates/main/admin/highAvailability/progress"}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/highAvailability/wizard.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/highAvailability/wizard.hbs b/ambari-web/app/templates/main/admin/highAvailability/wizard.hbs
deleted file mode 100644
index 826e553..0000000
--- a/ambari-web/app/templates/main/admin/highAvailability/wizard.hbs
+++ /dev/null
@@ -1,50 +0,0 @@
-{{!
-* 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.
-}}
-
-<div class="wizard">
-  <div class="container">
-    <div class="container-fluid">
-      <div class="row-fluid">
-        <div class="span3">
-          <!--Sidebar content-->
-          <div class="well">
-            <ul class="nav nav-pills nav-stacked">
-              <li class="nav-header">{{t admin.highAvailability.wizard.header}}</li>
-              <li {{bindAttr class="isStep1:active view.isStep1Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep1 target="controller"}}>{{t admin.highAvailability.wizard.step1.header}}</a></li>
-              <li {{bindAttr class="isStep2:active view.isStep2Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep2 target="controller"}}>{{t admin.highAvailability.wizard.step2.header}}</a></li>
-              <li {{bindAttr class="isStep3:active view.isStep3Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep3 target="controller"}}>{{t admin.highAvailability.wizard.step3.header}}</a></li>
-              <li {{bindAttr class="isStep4:active view.isStep4Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep4 target="controller"}}>{{t admin.highAvailability.wizard.step4.header}}</a></li>
-              <li {{bindAttr class="isStep5:active view.isStep5Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep5 target="controller"}}>{{t admin.highAvailability.wizard.step5.header}}</a></li>
-              <li {{bindAttr class="isStep6:active view.isStep6Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep6 target="controller"}}>{{t admin.highAvailability.wizard.step6.header}}</a></li>
-              <li {{bindAttr class="isStep7:active view.isStep7Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep7 target="controller"}}>{{t admin.highAvailability.wizard.step7.header}}</a></li>
-              <li {{bindAttr class="isStep8:active view.isStep8Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep8 target="controller"}}>{{t admin.highAvailability.wizard.step8.header}}</a></li>
-              <li {{bindAttr class="isStep9:active view.isStep9Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep9 target="controller"}}>{{t admin.highAvailability.wizard.step9.header}}</a></li>
-            </ul>
-          </div>
-        </div>
-          <div class="wizard-content well span9">
-            {{#if view.isLoaded}}
-              {{outlet}}
-            {{else}}
-                <div class="spinner"></div>
-            {{/if}}
-          </div>
-      </div>
-    </div>
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/rollbackHA/rollback_wizard.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/rollbackHA/rollback_wizard.hbs b/ambari-web/app/templates/main/admin/rollbackHA/rollback_wizard.hbs
deleted file mode 100644
index 1f10cc7..0000000
--- a/ambari-web/app/templates/main/admin/rollbackHA/rollback_wizard.hbs
+++ /dev/null
@@ -1,40 +0,0 @@
-{{!
-* 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.
-}}
-
-<div class="wizard">
-  <div class="container">
-    <div class="container-fluid">
-      <div class="row-fluid">
-        <div class="span3">
-          <!--Sidebar content-->
-          <div class="well">
-            <ul class="nav nav-pills nav-stacked">
-              <li class="nav-header">{{t admin.highAvailability.wizard.rollback.header.title}}</li>
-              <li {{bindAttr class="isStep1:active view.isStep1Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep1 target="controller"}}>{{t admin.rollbackHighAvailability.wizard.step1.header}}</a></li>
-              <li {{bindAttr class="isStep2:active view.isStep2Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep2 target="controller"}}>{{t admin.rollbackHighAvailability.wizard.step2.header}}</a></li>
-              <li {{bindAttr class="isStep3:active view.isStep3Disabled:disabled"}}><a href="javascript:void(null);"  {{action gotoStep3 target="controller"}}>{{t admin.rollbackHighAvailability.wizard.step3.header}}</a></li>
-            </ul>
-          </div>
-        </div>
-        <div class="wizard-content well span9">
-          {{outlet}}
-        </div>
-      </div>
-    </div>
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/rollbackHA/step1.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/rollbackHA/step1.hbs b/ambari-web/app/templates/main/admin/rollbackHA/step1.hbs
deleted file mode 100644
index 7e92a5c..0000000
--- a/ambari-web/app/templates/main/admin/rollbackHA/step1.hbs
+++ /dev/null
@@ -1,50 +0,0 @@
-{{!
-* 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.
-}}
-<div>
-  {{#if view.isLoaded}}
-      <h2>{{t admin.rollbackHighAvailability.wizard.step1.header}}</h2>
-
-      <div class="alert alert-info">
-          <p>
-              Select Additional NameNode host:
-            {{view Ember.Select
-            contentBinding="view.addNNHosts"
-            valueBinding="view.selectedAddNNHost"
-            }}
-          </p>
-
-          <div class="code-snippet">Tip: Suggested host <b>{{view.tipAddNNHost}}</b></div>
-      </div>
-      <div class="alert alert-info">
-          <p>
-              Select Secondary NameNode host:
-            {{view Ember.Select
-            contentBinding="view.sNNHosts"
-            valueBinding="view.selectedSNNHost"
-            }}
-          </p>
-
-          <div class="code-snippet">Tip: Suggested host <b>{{view.tipSNNHost}}</b></div>
-      </div>
-      <div class="btn-area">
-          <a {{bindAttr class=":btn controller.isNameServiceIdValid::disabled :btn-success :pull-right"}} {{action done target="view"}}>{{t common.next}} &rarr;</a>
-      </div>
-  {{else}}
-      <div class="spinner"></div>
-  {{/if}}
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/rollbackHA/step2.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/rollbackHA/step2.hbs b/ambari-web/app/templates/main/admin/rollbackHA/step2.hbs
deleted file mode 100644
index 10b14d1..0000000
--- a/ambari-web/app/templates/main/admin/rollbackHA/step2.hbs
+++ /dev/null
@@ -1,27 +0,0 @@
-{{!
-* 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.
-}}
-<div>
-  <h2>{{t admin.rollbackHighAvailability.wizard.step2.header}}</h2>
-  <div class="alert alert-info">
-      {{{view.step2BodyText}}}
-  </div>
-   <div class="btn-area">
-      <a  {{bindAttr class=":btn :btn-success :pull-right"}} {{action next}}>{{t common.next}} &rarr;</a>
-      <span class="pull-right btn-extra-info">{{view.nnCheckPointText}}</span>
-    </div>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/templates/main/admin/rollbackHA/step3.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/rollbackHA/step3.hbs b/ambari-web/app/templates/main/admin/rollbackHA/step3.hbs
deleted file mode 100644
index 850b4e3..0000000
--- a/ambari-web/app/templates/main/admin/rollbackHA/step3.hbs
+++ /dev/null
@@ -1,24 +0,0 @@
-{{!
-* 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.
-}}
-<div>
-  <h2>{{t admin.rollbackHighAvailability.wizard.step3.header}}</h2>
-
-  <div class="btn-area">
-    <a {{bindAttr class=":btn controller.isNameServiceIdValid::disabled :btn-success :pull-right"}} {{action next}}>{{t common.next}} &rarr;</a>
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/utils/db.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/db.js b/ambari-web/app/utils/db.js
index b39c5f2..272112b 100644
--- a/ambari-web/app/utils/db.js
+++ b/ambari-web/app/utils/db.js
@@ -38,6 +38,7 @@ var InitialData =  {
   'ReassignMaster' : {},
   'AddSecurity': {},
   'HighAvailabilityWizard': {},
+  'RMHighAvailabilityWizard': {},
   'RollbackHighAvailabilityWizard': {},
   'tmp': {}
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/views.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views.js b/ambari-web/app/views.js
index 29f8789..7a8fb4f 100644
--- a/ambari-web/app/views.js
+++ b/ambari-web/app/views.js
@@ -64,22 +64,27 @@ require('views/main/host/metrics/processes');
 require('views/main/host/addHost/step4_view');
 require('views/main/admin');
 require('views/main/admin/highAvailability_view');
-require('views/main/admin/highAvailability/wizard_view');
+require('views/main/admin/highAvailability/nameNode/wizard_view');
 require('views/main/admin/highAvailability/progress_view');
-require('views/main/admin/highAvailability/rollback_view');
-require('views/main/admin/highAvailability/step1_view');
-require('views/main/admin/highAvailability/step2_view');
-require('views/main/admin/highAvailability/step3_view');
-require('views/main/admin/highAvailability/step4_view');
-require('views/main/admin/highAvailability/step5_view');
-require('views/main/admin/highAvailability/step6_view');
-require('views/main/admin/highAvailability/step7_view');
-require('views/main/admin/highAvailability/step8_view');
-require('views/main/admin/highAvailability/step9_view');
-require('views/main/admin/rollbackHA/step1_view');
-require('views/main/admin/rollbackHA/step2_view');
-require('views/main/admin/rollbackHA/step3_view');
-require('views/main/admin/rollbackHA/rollback_wizard_view');
+require('views/main/admin/highAvailability/nameNode/rollback_view');
+require('views/main/admin/highAvailability/nameNode/step1_view');
+require('views/main/admin/highAvailability/nameNode/step2_view');
+require('views/main/admin/highAvailability/nameNode/step3_view');
+require('views/main/admin/highAvailability/nameNode/step4_view');
+require('views/main/admin/highAvailability/nameNode/step5_view');
+require('views/main/admin/highAvailability/nameNode/step6_view');
+require('views/main/admin/highAvailability/nameNode/step7_view');
+require('views/main/admin/highAvailability/nameNode/step8_view');
+require('views/main/admin/highAvailability/nameNode/step9_view');
+require('views/main/admin/highAvailability/nameNode/rollbackHA/step1_view');
+require('views/main/admin/highAvailability/nameNode/rollbackHA/step2_view');
+require('views/main/admin/highAvailability/nameNode/rollbackHA/step3_view');
+require('views/main/admin/highAvailability/nameNode/rollbackHA/rollback_wizard_view');
+require('views/main/admin/highAvailability/resourceManager/wizard_view');
+require('views/main/admin/highAvailability/resourceManager/step1_view');
+require('views/main/admin/highAvailability/resourceManager/step2_view');
+require('views/main/admin/highAvailability/resourceManager/step3_view');
+require('views/main/admin/highAvailability/resourceManager/step4_view');
 require('views/main/admin/cluster');
 require('views/main/admin/misc_view');
 require('views/main/admin/stack_upgrade');

http://git-wip-us.apache.org/repos/asf/ambari/blob/b8643394/ambari-web/app/views/main/admin/highAvailability/nameNode/rollbackHA/rollback_wizard_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/admin/highAvailability/nameNode/rollbackHA/rollback_wizard_view.js b/ambari-web/app/views/main/admin/highAvailability/nameNode/rollbackHA/rollback_wizard_view.js
new file mode 100644
index 0000000..723420a
--- /dev/null
+++ b/ambari-web/app/views/main/admin/highAvailability/nameNode/rollbackHA/rollback_wizard_view.js
@@ -0,0 +1,49 @@
+/**
+ * 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');
+
+App.RollbackHighAvailabilityWizardView = Em.View.extend({
+
+  didInsertElement: function() {
+    var currentStep = this.get('controller.currentStep');
+    if (currentStep > 4) {
+      this.get('controller').setLowerStepsDisable(currentStep);
+    }
+  },
+
+  templateName: require('templates/main/admin/highAvailability/nameNode/rollbackHA/rollback_wizard'),
+
+  isStep1Disabled: function () {
+    return this.isStepDisabled(1);
+  }.property('controller.isStepDisabled.@each.value').cacheable(),
+
+  isStep2Disabled: function () {
+    return this.isStepDisabled(2);
+  }.property('controller.isStepDisabled.@each.value').cacheable(),
+
+  isStep3Disabled: function () {
+    return this.isStepDisabled(3);
+  }.property('controller.isStepDisabled.@each.value').cacheable(),
+
+  isStepDisabled: function (index) {
+    return this.get('controller.isStepDisabled').findProperty('step', index).get('value');
+  }
+
+});