You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by yu...@apache.org on 2015/03/03 19:09:19 UTC
ambari git commit: AMBARI-9833. UI should get information about repos
and packages for HostCheck from custom action. (akovalenko)
Repository: ambari
Updated Branches:
refs/heads/branch-2.0.0 71c73dc8a -> c2d575861
AMBARI-9833. UI should get information about repos and packages for HostCheck from custom action. (akovalenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c2d57586
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c2d57586
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c2d57586
Branch: refs/heads/branch-2.0.0
Commit: c2d575861e6efe9a029721e314257f92eccd6f70
Parents: 71c73dc
Author: Aleksandr Kovalenko <ak...@hortonworks.com>
Authored: Fri Feb 27 18:05:54 2015 +0200
Committer: Yusaku Sako <yu...@hortonworks.com>
Committed: Tue Mar 3 10:09:11 2015 -0800
----------------------------------------------------------------------
.../app/controllers/wizard/step3_controller.js | 26 ++++--
ambari-web/app/styles/application.less | 3 +
.../test/controllers/wizard/step3_test.js | 96 ++++++++------------
3 files changed, 62 insertions(+), 63 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/c2d57586/ambari-web/app/controllers/wizard/step3_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step3_controller.js b/ambari-web/app/controllers/wizard/step3_controller.js
index 2c545c1..b07391a 100644
--- a/ambari-web/app/controllers/wizard/step3_controller.js
+++ b/ambari-web/app/controllers/wizard/step3_controller.js
@@ -94,6 +94,12 @@ App.WizardStep3Controller = Em.Controller.extend({
hasMoreRegisteredHosts: false,
/**
+ * Contain data about installed packages on hosts
+ * @type {Array}
+ */
+ hostsPackagesData: [],
+
+ /**
* List of installed hostnames
* @type {string[]}
*/
@@ -863,13 +869,13 @@ App.WizardStep3Controller = Em.Controller.extend({
if (App.get('testMode')) {
this.getHostInfo();
} else {
- var data = this.getDataForCheckRequest("last_agent_env_check", false);
+ var data = this.getDataForCheckRequest("last_agent_env_check,installed_packages,existing_repos", false);
data ? this.requestToPerformHostCheck(data) : this.stopHostCheck();
}
},
/**
- * set all fields from which depends runnig host check to true value
+ * set all fields from which depends running host check to true value
* which force finish checking;
*/
stopHostCheck: function() {
@@ -961,7 +967,7 @@ App.WizardStep3Controller = Em.Controller.extend({
var requestId = this.get("requestId");
var checker = setTimeout(function () {
if (self.get('stopChecking') == true) {
- clearInterval(checker);
+ clearTimeout(checker);
} else {
App.ajax.send({
name: 'preinstalled.checks.tasks',
@@ -990,7 +996,13 @@ App.WizardStep3Controller = Em.Controller.extend({
if (["FAILED", "COMPLETED", "TIMEDOUT"].contains(data.Requests.request_status)) {
if (data.Requests.inputs.indexOf("last_agent_env_check") != -1) {
this.set('stopChecking', true);
- this.getHostInfo();
+ this.set('hostsPackagesData', data.tasks.map(function (task) {
+ return {
+ hostName: Em.get(task, 'Tasks.host_name'),
+ installedPackages: Em.get(task, 'Tasks.structured_out.installed_packages')
+ }
+ }));
+ this.getHostInfo();
} else if (data.Requests.inputs.indexOf("host_resolution_check") != -1) {
this.parseHostNameResolution(data);
this.getGeneralHostCheck();
@@ -1424,6 +1436,7 @@ App.WizardStep3Controller = Em.Controller.extend({
usersWarnings: {},
alternativeWarnings: {}
};
+ var hostsPackagesData = this.get('hostsPackagesData');
data.items.sortPropertyLight('Hosts.host_name').forEach(function (_host) {
var host = {
@@ -1458,8 +1471,9 @@ App.WizardStep3Controller = Em.Controller.extend({
}, this);
//parse all package warnings for host
- if (_host.Hosts.last_agent_env.installedPackages) {
- _host.Hosts.last_agent_env.installedPackages.forEach(function (_package) {
+ var hostPackagesData = hostsPackagesData.findProperty('hostName', _host.Hosts.host_name);
+ if (hostPackagesData) {
+ hostPackagesData.installedPackages.forEach(function (_package) {
warning = warningCategories.packagesWarnings[_package.name];
if (warning) {
warning.hosts.push(_host.Hosts.host_name);
http://git-wip-us.apache.org/repos/asf/ambari/blob/c2d57586/ambari-web/app/styles/application.less
----------------------------------------------------------------------
diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less
index 775aa6b..c0c43e8 100644
--- a/ambari-web/app/styles/application.less
+++ b/ambari-web/app/styles/application.less
@@ -3257,6 +3257,9 @@ table.graphs {
margin-top: 10px;
}
}
+ .icon-warning-sign {
+ color: @health-status-yellow;
+ }
}
.host-checks-update {
http://git-wip-us.apache.org/repos/asf/ambari/blob/c2d57586/ambari-web/test/controllers/wizard/step3_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/wizard/step3_test.js b/ambari-web/test/controllers/wizard/step3_test.js
index 9846b69..5e3841c 100644
--- a/ambari-web/test/controllers/wizard/step3_test.js
+++ b/ambari-web/test/controllers/wizard/step3_test.js
@@ -1409,62 +1409,6 @@ describe('App.WizardStep3Controller', function () {
])
},
{
- m: 'parse installedPackages',
- tests: Em.A([
- {
- items: [
- {Hosts: {host_name: 'c1', last_agent_env: {installedPackages: []}}}
- ],
- m: 'empty installedPackages',
- e: {
- warnings: [],
- warningsByHost: [0]
- }
- },
- {
- items: [
- {Hosts: {host_name: 'c1', last_agent_env: {installedPackages: [
- {name: 'n1'}
- ]}}}
- ],
- m: 'not empty installedPackages',
- e: {
- warnings: [
- {
- name: 'n1',
- hosts: ['c1'],
- onSingleHost: true,
- category: 'packages'
- }
- ],
- warningsByHost: [1]
- }
- },
- {
- items: [
- {Hosts: {host_name: 'c1', last_agent_env: {installedPackages: [
- {name: 'n1'}
- ]}}},
- {Hosts: {host_name: 'c2', last_agent_env: {installedPackages: [
- {name: 'n1'}
- ]}}}
- ],
- m: 'not empty installedPackages on two hosts',
- e: {
- warnings: [
- {
- name: 'n1',
- hosts: ['c1', 'c2'],
- onSingleHost: false,
- category: 'packages'
- }
- ],
- warningsByHost: [1]
- }
- }
- ])
- },
- {
m: 'parse hostHealth.liveServices',
tests: Em.A([
{
@@ -2523,12 +2467,50 @@ describe('App.WizardStep3Controller', function () {
Requests: {
request_status: "COMPLETED",
inputs: "last_agent_env_check"
- }
+ },
+ tasks: [
+ {
+ Tasks: {
+ host_name: 'h1',
+ structured_out: {
+ "installed_packages": [
+ {
+ "version": "b1",
+ "name": "n1",
+ "repoName": "r1"
+ },
+ {
+ "version": "b2",
+ "name": "n2",
+ "repoName": "r2"
+ }
+ ]
+ }
+ }
+ }
+ ]
};
it('run getHostInfo', function() {
c.getHostCheckTasksSuccess(lastAgentEnvCheckComplete);
expect(c.get('stopChecking')).to.be.true;
expect(c.getHostInfo.calledOnce).to.be.true;
+ expect(c.get('hostsPackagesData')).eql([
+ {
+ hostName: 'h1',
+ installedPackages: [
+ {
+ "version": "b1",
+ "name": "n1",
+ "repoName": "r1"
+ },
+ {
+ "version": "b2",
+ "name": "n2",
+ "repoName": "r2"
+ }
+ ]
+ }
+ ]);
});
});