You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2015/01/08 11:40:43 UTC
[2/2] ambari git commit: AMBARI-9039 UI should offer to reinstall
OUT_OF_SYNC cluster stack versions. (ababiichuk)
AMBARI-9039 UI should offer to reinstall OUT_OF_SYNC cluster stack versions. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/6eb5bd63
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/6eb5bd63
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/6eb5bd63
Branch: refs/heads/trunk
Commit: 6eb5bd63160b150902eb0d68d92e98281780a852
Parents: 7c5c777
Author: aBabiichuk <ab...@cybervisiontech.com>
Authored: Thu Jan 8 11:11:34 2015 +0200
Committer: aBabiichuk <ab...@cybervisiontech.com>
Committed: Thu Jan 8 11:11:34 2015 +0200
----------------------------------------------------------------------
.../repo_version_management_controller.js | 6 ++++--
.../stack_versions/stack_version_details_controller.js | 9 ++++-----
ambari-web/app/mappers/stack_version_mapper.js | 13 +++++++++++++
ambari-web/app/models/host_stack_version.js | 4 ++--
ambari-web/app/models/stack_version/version.js | 10 ++++------
.../admin/stack_versions/stack_version_details.hbs | 6 +++---
.../admin/stack_versions/stack_version_details_view.js | 8 ++++----
ambari-web/test/models/host_stack_version_test.js | 2 +-
.../admin/stack_version/stack_version_details_test.js | 11 +++++++++++
9 files changed, 46 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/6eb5bd63/ambari-web/app/controllers/main/admin/stack_versions/repo_version_management_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/stack_versions/repo_version_management_controller.js b/ambari-web/app/controllers/main/admin/stack_versions/repo_version_management_controller.js
index 8fe3ab6..6042ea8 100644
--- a/ambari-web/app/controllers/main/admin/stack_versions/repo_version_management_controller.js
+++ b/ambari-web/app/controllers/main/admin/stack_versions/repo_version_management_controller.js
@@ -35,8 +35,9 @@ App.RepoVersionsManagementController = Em.ArrayController.extend({
* @type {String}
*/
realRepoUrl: function () {
+ //TODO correct url after api will be fixed
return App.get('apiPrefix') + App.get('stackVersionURL') +
- '/repository_versions?fields=*,operating_systems/*,operating_systems/repositories/*';
+ '/repository_versions?fields=*,operating_systems/*,operating_systems/repositories/*,operatingSystems/*,operatingSystems/repositories/*';
}.property('App.stackVersionURL'),
/**
@@ -50,8 +51,9 @@ App.RepoVersionsManagementController = Em.ArrayController.extend({
* @type {String}
*/
realStackUrl: function () {
+ //TODO correct url after api will be fixed
return App.apiPrefix + '/clusters/' + App.get('clusterName') +
- '/stack_versions?fields=*,repository_versions/*,repository_versions/operating_systems/repositories/*';
+ '/stack_versions?fields=*,repository_versions/*,repository_versions/operating_systems/repositories/*,repository_versions/operatingSystems/repositories/*';
}.property('App.clusterName'),
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/6eb5bd63/ambari-web/app/controllers/main/admin/stack_versions/stack_version_details_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/admin/stack_versions/stack_version_details_controller.js b/ambari-web/app/controllers/main/admin/stack_versions/stack_version_details_controller.js
index c4c4060..1e9c2c9 100644
--- a/ambari-web/app/controllers/main/admin/stack_versions/stack_version_details_controller.js
+++ b/ambari-web/app/controllers/main/admin/stack_versions/stack_version_details_controller.js
@@ -50,8 +50,7 @@ App.MainStackVersionsDetailsController = Em.Controller.extend({
*/
installComplete: function() {
return this.get('content.stackVersion.state')
- && this.get('content.stackVersion.state') != "INSTALLING"
- && this.get('content.stackVersion.state') != "INSTALL_FAILED";
+ && !["INSTALLING", "INSTALL_FAILED", "OUT_OF_SYNC"].contains(this.get('content.stackVersion.state'));
}.property('content.stackVersion.state'),
/**
@@ -62,7 +61,7 @@ App.MainStackVersionsDetailsController = Em.Controller.extend({
* @type {Boolean}
*/
notInstalled: function() {
- return !this.get('content.stackVersion.state') || this.get('content.stackVersion.state') == "INSTALL_FAILED";
+ return !this.get('content.stackVersion.state') || ["INSTALL_FAILED", "OUT_OF_SYNC"].contains(this.get('content.stackVersion.state'));
}.property('content.stackVersion.state'),
/**
@@ -78,8 +77,8 @@ App.MainStackVersionsDetailsController = Em.Controller.extend({
* @type {Number}
*/
hostsToInstall: function() {
- return this.get('content.stackVersion') ? this.get('content.stackVersion.initHosts.length') : App.get('allHostNames.length');
- }.property('content.stackVersion.initHosts.length'),
+ return this.get('content.stackVersion') ? this.get('content.stackVersion.notInstalledHosts.length') : App.get('allHostNames.length');
+ }.property('content.stackVersion.notInstalledHosts.length'),
/**
* persentage of install progress
http://git-wip-us.apache.org/repos/asf/ambari/blob/6eb5bd63/ambari-web/app/mappers/stack_version_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/stack_version_mapper.js b/ambari-web/app/mappers/stack_version_mapper.js
index 2d3f885..2df848a 100644
--- a/ambari-web/app/mappers/stack_version_mapper.js
+++ b/ambari-web/app/mappers/stack_version_mapper.js
@@ -27,9 +27,11 @@ App.stackVersionMapper = App.QuickDataMapper.create({
"version": "version",
"repository_version_id": "repository_version_id",
"state": "state",
+ "not_installed_hosts": "host_states.NOT_INSTALLED",
"installing_hosts": "host_states.INSTALLING",
"installed_hosts": "host_states.INSTALLED",
"install_failed_hosts": "host_states.INSTALL_FAILED",
+ "out_of_sync_hosts": "host_states.OUT_OF_SYNC",
"upgrading_hosts": "host_states.UPGRADING",
"upgraded_hosts": "host_states.UPGRADED",
"upgrade_failed_hosts": "host_states.UPGRADE_FAILED",
@@ -45,6 +47,17 @@ App.stackVersionMapper = App.QuickDataMapper.create({
var stack = item.ClusterStackVersions;
stack.repository_version_id = item.ClusterStackVersions.repository_version;
/**
+ * this property contains array of hosts on which repoversion wasn't installed
+ * possible states:
+ * <code>INSTALLING<code>
+ * <code>INSTALL_FAILED<code>
+ * <code>OUT_OF_SYNC<code>
+ */
+ stack.host_states.NOT_INSTALLED = item.ClusterStackVersions.host_states.INSTALLING
+ .concat(item.ClusterStackVersions.host_states.INSTALL_FAILED)
+ .concat(item.ClusterStackVersions.host_states.OUT_OF_SYNC);
+
+ /**
* this property contains array of hosts on which repoversion was installed
* but state of repoveriosn for this hosts can be any postinstalled state
* possible states:
http://git-wip-us.apache.org/repos/asf/ambari/blob/6eb5bd63/ambari-web/app/models/host_stack_version.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/host_stack_version.js b/ambari-web/app/models/host_stack_version.js
index 7fe51c3..4c9438f 100644
--- a/ambari-web/app/models/host_stack_version.js
+++ b/ambari-web/app/models/host_stack_version.js
@@ -37,7 +37,7 @@ App.HostStackVersion = DS.Model.extend({
return App.HostStackVersion.formatStatus(this.get('status'));
}.property('status'),
installEnabled: function () {
- return (this.get('status') === 'INIT' || this.get('status') === 'INSTALL_FAILED');
+ return ['OUT_OF_SYNC', 'INSTALL_FAILED'].contains(this.get('status'));
}.property('status'),
installDisabled: Ember.computed.not('installEnabled')
});
@@ -52,7 +52,7 @@ App.HostStackVersion.statusDefinition = [
"INSTALLED",
"INSTALLING",
"INSTALL_FAILED",
- "INIT",
+ "OUT_OF_SYNC",
"CURRENT"
];
http://git-wip-us.apache.org/repos/asf/ambari/blob/6eb5bd63/ambari-web/app/models/stack_version/version.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/stack_version/version.js b/ambari-web/app/models/stack_version/version.js
index e702569..fdc8755 100644
--- a/ambari-web/app/models/stack_version/version.js
+++ b/ambari-web/app/models/stack_version/version.js
@@ -27,18 +27,16 @@ App.StackVersion = DS.Model.extend({
}.property('stack', 'version'),
state: DS.attr('string'),
repositoryVersion: DS.belongsTo('App.RepositoryVersion'),
+ notInstalledHosts: DS.attr('array'),
installingHosts: DS.attr('array'),
installedHosts: DS.attr('array'),
installFailedHosts: DS.attr('array'),
+ outOfSyncHosts: DS.attr('array'),
upgradingHosts: DS.attr('array'),
upgradedHosts: DS.attr('array'),
upgradeFailedHosts: DS.attr('array'),
currentHosts: DS.attr('array'),
- initHosts: function() {
- return this.get('installingHosts') && this.get('installingHosts').concat(this.get('installFailedHosts'));
- }.property('installFailedHosts', 'installingHosts'),
-
noInstalledHosts: function() {
return this.get('installedHosts.length') == 0;
}.property('installedHosts.length'),
@@ -48,8 +46,8 @@ App.StackVersion = DS.Model.extend({
}.property('currentHosts.length'),
noInitHosts: function() {
- return this.get('initHosts.length') == 0;
- }.property('initHosts.length')
+ return this.get('notInstalledHosts.length') == 0;
+ }.property('notInstalledHosts.length')
});
App.StackVersion.FIXTURES = [];
http://git-wip-us.apache.org/repos/asf/ambari/blob/6eb5bd63/ambari-web/app/templates/main/admin/stack_versions/stack_version_details.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/admin/stack_versions/stack_version_details.hbs b/ambari-web/app/templates/main/admin/stack_versions/stack_version_details.hbs
index f922bf2..4effccf 100644
--- a/ambari-web/app/templates/main/admin/stack_versions/stack_version_details.hbs
+++ b/ambari-web/app/templates/main/admin/stack_versions/stack_version_details.hbs
@@ -31,9 +31,9 @@
<div class="span3">{{t admin.stackVersions.details.not.installed.on}}</div>
<div {{bindAttr class="view.noInitHosts:not-active-link :span6"}}>
<a href="#" class="not-installed-hosts-count"
- {{action showHosts view.versionStateMap.not_installed content.repositoryVersion view.initHosts target="App.router.mainStackVersionsController"}}>
- {{view.initHosts.length}}
- {{pluralize view.initHosts.length singular="t:admin.stackVersions.details.host" plural="t:admin.stackVersions.details.hosts"}}
+ {{action showHosts view.versionStateMap.not_installed content.repositoryVersion view.notInstalledHosts target="App.router.mainStackVersionsController"}}>
+ {{view.notInstalledHosts.length}}
+ {{pluralize view.notInstalledHosts.length singular="t:admin.stackVersions.details.host" plural="t:admin.stackVersions.details.hosts"}}
</a>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/ambari/blob/6eb5bd63/ambari-web/app/views/main/admin/stack_versions/stack_version_details_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/admin/stack_versions/stack_version_details_view.js b/ambari-web/app/views/main/admin/stack_versions/stack_version_details_view.js
index f07ab24..cc17d62 100644
--- a/ambari-web/app/views/main/admin/stack_versions/stack_version_details_view.js
+++ b/ambari-web/app/views/main/admin/stack_versions/stack_version_details_view.js
@@ -68,13 +68,13 @@ App.MainStackVersionsDetailsView = Em.View.extend({
* hosts with stack versions in not installed state
* when stack version for repoversion is not created returns all hosts in cluster
*/
- initHosts: function() {
- if (this.get('showCounters') && this.get('content.stackVersion.installingHosts') && this.get('content.stackVersion.installFailedHosts')) {
- return this.get('content.stackVersion.installingHosts').concat(this.get('content.stackVersion.installFailedHosts'));
+ notInstalledHosts: function() {
+ if (this.get('showCounters') && this.get('content.stackVersion.notInstalledHosts')) {
+ return this.get('content.stackVersion.notInstalledHosts');
} else {
return App.get('allHostNames');
}
- }.property('showCounters', 'content.stackVersion.installingHosts.length', 'content.stackVersion.installFailedHosts.length', 'App.allHostNames'),
+ }.property('showCounters', 'content.stackVersion.notInstalledHosts.length', 'App.allHostNames'),
/**
* hosts with stack versions in installed state
http://git-wip-us.apache.org/repos/asf/ambari/blob/6eb5bd63/ambari-web/test/models/host_stack_version_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/models/host_stack_version_test.js b/ambari-web/test/models/host_stack_version_test.js
index e60d96e..be8ed03 100644
--- a/ambari-web/test/models/host_stack_version_test.js
+++ b/ambari-web/test/models/host_stack_version_test.js
@@ -62,7 +62,7 @@ describe('App.HostStackVersion', function () {
describe("#installEnabled", function () {
var testCases = [
{
- status: 'INIT',
+ status: 'OUT_OF_SYNC',
result: true
},
{
http://git-wip-us.apache.org/repos/asf/ambari/blob/6eb5bd63/ambari-web/test/views/main/admin/stack_version/stack_version_details_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/views/main/admin/stack_version/stack_version_details_test.js b/ambari-web/test/views/main/admin/stack_version/stack_version_details_test.js
index e574958..ef9d91c 100644
--- a/ambari-web/test/views/main/admin/stack_version/stack_version_details_test.js
+++ b/ambari-web/test/views/main/admin/stack_version/stack_version_details_test.js
@@ -50,6 +50,12 @@ describe('App.MainStackVersionsDetailsView', function () {
view.set("content.stackVersion.state", "INSTALL_FAILED");
expect(view.get('installButtonMsg')).to.equal(Em.I18n.t('admin.stackVersions.details.hosts.btn.reinstall'))
});
+
+ it("install button msg for out of sync failed state" , function() {
+ view.set("controller.hostsToInstall", 1);
+ view.set("content.stackVersion.state", "OUT_OF_SYNC");
+ expect(view.get('installButtonMsg')).to.equal(Em.I18n.t('admin.stackVersions.details.hosts.btn.install').format(1))
+ });
});
describe('#installButtonClass', function () {
@@ -62,6 +68,11 @@ describe('App.MainStackVersionsDetailsView', function () {
view.set("content.stackVersion.state", "INSTALL_FAILED");
expect(view.get('installButtonClass')).to.equal('btn-danger')
});
+
+ it("install button class install out of sync state" , function() {
+ view.set("content.stackVersion.state", "OUT_OF_SYNC");
+ expect(view.get('installButtonClass')).to.equal('btn-success')
+ });
});
describe('#progress', function () {