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 2015/03/23 16:30:12 UTC
ambari git commit: AMBARI-10173. RU: Wizard does not show up in UI
when triggered by API. (akovalenko)
Repository: ambari
Updated Branches:
refs/heads/trunk f424e9c30 -> bcc6c36dc
AMBARI-10173. RU: Wizard does not show up in UI when triggered by API. (akovalenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/bcc6c36d
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/bcc6c36d
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/bcc6c36d
Branch: refs/heads/trunk
Commit: bcc6c36dc9c35e645383368431199438593918c1
Parents: f424e9c
Author: Aleksandr Kovalenko <ak...@hortonworks.com>
Authored: Mon Mar 23 15:24:34 2015 +0200
Committer: Aleksandr Kovalenko <ak...@hortonworks.com>
Committed: Mon Mar 23 17:29:15 2015 +0200
----------------------------------------------------------------------
.../assets/data/stack_versions/upgrades.json | 15 +++++++
.../global/background_operations_controller.js | 3 ++
.../controllers/global/cluster_controller.js | 41 +++++++++++++++-----
ambari-web/app/utils/ajax/ajax.js | 4 ++
.../global/cluster_controller_test.js | 17 ++++++++
5 files changed, 71 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/bcc6c36d/ambari-web/app/assets/data/stack_versions/upgrades.json
----------------------------------------------------------------------
diff --git a/ambari-web/app/assets/data/stack_versions/upgrades.json b/ambari-web/app/assets/data/stack_versions/upgrades.json
new file mode 100644
index 0000000..5d0d743
--- /dev/null
+++ b/ambari-web/app/assets/data/stack_versions/upgrades.json
@@ -0,0 +1,15 @@
+{
+ "href": "http://c6401.ambari.apache.org:8080/api/v1/clusters/c/upgrades?fields=Upgrade/request_status,Upgrade/to_version,Upgrade/request_id,Upgrade/direction",
+ "items": [
+ {
+ "href": "http://c6401.ambari.apache.org:8080/api/v1/clusters/c/upgrades/19",
+ "Upgrade": {
+ "cluster_name": "c",
+ "direction": "UPGRADE",
+ "request_id": 19,
+ "request_status": "COMPLETED",
+ "to_version": "2.2.3.0-2610"
+ }
+ }
+ ]
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/bcc6c36d/ambari-web/app/controllers/global/background_operations_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/background_operations_controller.js b/ambari-web/app/controllers/global/background_operations_controller.js
index 0bd1d83..bf2a65f 100644
--- a/ambari-web/app/controllers/global/background_operations_controller.js
+++ b/ambari-web/app/controllers/global/background_operations_controller.js
@@ -210,6 +210,9 @@ App.BackgroundOperationsController = Em.Controller.extend({
data.items.forEach(function (request) {
if (this.isUpgradeRequest(request)) {
+ if (!App.get('upgradeIsRunning')) {
+ App.router.get('clusterController').restoreUpgradeState();
+ }
return;
}
var rq = this.get("services").findProperty('id', request.Requests.id);
http://git-wip-us.apache.org/repos/asf/ambari/blob/bcc6c36d/ambari-web/app/controllers/global/cluster_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/global/cluster_controller.js b/ambari-web/app/controllers/global/cluster_controller.js
index 52310cf..f3839c1 100644
--- a/ambari-web/app/controllers/global/cluster_controller.js
+++ b/ambari-web/app/controllers/global/cluster_controller.js
@@ -315,18 +315,30 @@ App.ClusterController = Em.Controller.extend({
},
/**
- * restore upgrade status from local storage
+ * restore upgrade status from server
* and make call to get latest status from server
*/
restoreUpgradeState: function () {
- var dbUpgradeState = App.db.get('MainAdminStackAndUpgrade', 'upgradeState');
- if (!Em.isNone(dbUpgradeState)) {
- App.set('upgradeState', dbUpgradeState);
- }
- App.router.get('mainAdminStackAndUpgradeController').initDBProperties();
- App.router.get('mainAdminStackAndUpgradeController').loadUpgradeData(true);
- App.router.get('mainAdminStackAndUpgradeController').loadStackVersionsToModel(true).done(function () {
- App.set('stackVersionsAvailable', App.StackVersion.find().content.length > 0);
+ this.getAllUpgrades().done(function (data) {
+ var upgradeController = App.router.get('mainAdminStackAndUpgradeController');
+ var lastUpgradeData = data.items.sortProperty('Upgrade.request_id').pop();
+
+ if (lastUpgradeData) {
+ upgradeController.setDBProperty('upgradeId', lastUpgradeData.Upgrade.request_id);
+ upgradeController.setDBProperty('isDowngrade', lastUpgradeData.Upgrade.direction === 'DOWNGRADE');
+ upgradeController.setDBProperty('upgradeState', lastUpgradeData.Upgrade.request_status);
+ upgradeController.setDBProperty('upgradeVersion', lastUpgradeData.Upgrade.to_version);
+ }
+
+ var dbUpgradeState = App.db.get('MainAdminStackAndUpgrade', 'upgradeState');
+ if (!Em.isNone(dbUpgradeState)) {
+ App.set('upgradeState', dbUpgradeState);
+ }
+ upgradeController.initDBProperties();
+ upgradeController.loadUpgradeData(true);
+ upgradeController.loadStackVersionsToModel(true).done(function () {
+ App.set('stackVersionsAvailable', App.StackVersion.find().content.length > 0);
+ });
});
},
@@ -478,5 +490,16 @@ App.ClusterController = Em.Controller.extend({
},
checkDetailedRepoVersionErrorCallback: function () {
App.set('isStormMetricsSupported', true);
+ },
+
+ /**
+ * Load required data for all upgrades from API
+ * @returns {$.ajax}
+ */
+ getAllUpgrades: function () {
+ return App.ajax.send({
+ name: 'cluster.load_last_upgrade',
+ sender: this
+ });
}
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/bcc6c36d/ambari-web/app/utils/ajax/ajax.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js
index 9aed907..c1c3452 100644
--- a/ambari-web/app/utils/ajax/ajax.js
+++ b/ambari-web/app/utils/ajax/ajax.js
@@ -1187,6 +1187,10 @@ var urls = {
'real': '/clusters',
'mock': '/data/clusters/info.json'
},
+ 'cluster.load_last_upgrade': {
+ 'real': '/clusters/{clusterName}/upgrades?fields=Upgrade/request_status,Upgrade/request_id,Upgrade/to_version,Upgrade/direction',
+ 'mock': '/data/stack_versions/upgrades.json'
+ },
'cluster.update_upgrade_version': {
'real': '/stacks/{stackName}/versions?fields=services/StackServices,Versions',
'mock': '/data/wizard/stack/stacks.json',
http://git-wip-us.apache.org/repos/asf/ambari/blob/bcc6c36d/ambari-web/test/controllers/global/cluster_controller_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/global/cluster_controller_test.js b/ambari-web/test/controllers/global/cluster_controller_test.js
index be4e284..f734dff 100644
--- a/ambari-web/test/controllers/global/cluster_controller_test.js
+++ b/ambari-web/test/controllers/global/cluster_controller_test.js
@@ -505,4 +505,21 @@ describe('App.clusterController', function () {
});
});
+ describe('#getAllUpgrades()', function () {
+
+ beforeEach(function () {
+ sinon.stub(App.ajax, 'send', Em.K);
+ });
+
+ afterEach(function () {
+ App.ajax.send.restore();
+ });
+
+ it('should send request to get upgrades data', function () {
+ controller.getAllUpgrades();
+ expect(App.ajax.send.calledOnce).to.be.true;
+ });
+
+ });
+
});