You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jg...@apache.org on 2018/06/18 18:33:51 UTC
[ambari] branch branch-feature-AMBARI-14714-mpack-advisor updated:
[AMBARI-24137] Fixed mpack display on service summary view.
This is an automated email from the ASF dual-hosted git repository.
jgolieb pushed a commit to branch branch-feature-AMBARI-14714-mpack-advisor
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/branch-feature-AMBARI-14714-mpack-advisor by this push:
new 24299f4 [AMBARI-24137] Fixed mpack display on service summary view.
24299f4 is described below
commit 24299f4f855bb0e34514d3d220388ef0b293bc0a
Author: Jason Golieb <jg...@hortonworks.com>
AuthorDate: Mon Jun 18 09:22:27 2018 -0400
[AMBARI-24137] Fixed mpack display on service summary view.
---
ambari-web/app/controllers/main/service.js | 2 +-
ambari-web/app/mappers/service_mapper.js | 24 +++++++++++++++++-----
ambari-web/app/models/service.js | 2 ++
ambari-web/app/styles/bootstrap_overrides.less | 2 --
ambari-web/app/utils/misc.js | 7 +++++--
ambari-web/app/views/main/service/service.js | 6 +++---
.../mixins/common/widgets/widget_section_test.js | 4 ++--
7 files changed, 32 insertions(+), 15 deletions(-)
diff --git a/ambari-web/app/controllers/main/service.js b/ambari-web/app/controllers/main/service.js
index 7455eac..c52471a 100644
--- a/ambari-web/app/controllers/main/service.js
+++ b/ambari-web/app/controllers/main/service.js
@@ -30,7 +30,7 @@ App.MainServiceController = Em.ArrayController.extend(App.SupportClientConfigsDo
if (!App.router.get('clusterController.isLoaded')) {
return [];
}
- return misc.sortByOrder(App.StackService.find().mapProperty('serviceName'), App.Service.find().toArray());
+ return misc.sortByOrder(App.StackService.find().mapProperty('serviceName'), App.Service.find().toArray(), s => s.get('serviceName'));
}.property('App.router.clusterController.isLoaded').volatile(),
/**
diff --git a/ambari-web/app/mappers/service_mapper.js b/ambari-web/app/mappers/service_mapper.js
index 99d8adb..5cb2b9e 100644
--- a/ambari-web/app/mappers/service_mapper.js
+++ b/ambari-web/app/mappers/service_mapper.js
@@ -21,10 +21,13 @@ var misc = require('utils/misc');
App.serviceMapper = App.QuickDataMapper.create({
model: App.Service,
config: {
- id: 'ServiceInfo.service_name',
+ id: 'ServiceInfo.id',
service_name: 'ServiceInfo.service_name',
service_group_name: 'ServiceInfo.service_group_name',
- work_status: 'ServiceInfo.state'
+ work_status: 'ServiceInfo.state',
+ mpack_name: 'ServiceInfo.mpack_name',
+ mpack_version: 'ServiceInfo.mpack_version',
+ tool_tip_content: 'ServiceInfo.tool_tip_content'
},
initialAppLoad: false,
passiveStateMap: {},
@@ -33,8 +36,15 @@ App.serviceMapper = App.QuickDataMapper.create({
var self = this;
var passiveStateMap = this.get('passiveStateMap');
var services = [];
+
json.items.forEach(function (item) {
- services = services.concat(item.services);
+ const itemServices = item.services.map(service => {
+ service.ServiceInfo.mpack_name = item.ServiceGroupInfo.mpack_name;
+ service.ServiceInfo.mpack_version = item.ServiceGroupInfo.mpack_version;
+ return service;
+ });
+
+ services = services.concat(itemServices);
});
services.forEach(function (service) {
@@ -47,9 +57,13 @@ App.serviceMapper = App.QuickDataMapper.create({
} else {
var serviceData = {
ServiceInfo: {
+ id: `${service.ServiceInfo.service_name}-${service.ServiceInfo.service_group_name}`,
service_name: service.ServiceInfo.service_name,
service_group_name: service.ServiceInfo.service_group_name,
- state: service.ServiceInfo.state
+ state: service.ServiceInfo.state,
+ mpack_name: service.ServiceInfo.mpack_name,
+ mpack_version: service.ServiceInfo.mpack_version,
+ tool_tip_content: `${service.ServiceInfo.service_name} (${service.ServiceInfo.service_group_name})`
},
host_components: [],
components: []
@@ -65,7 +79,7 @@ App.serviceMapper = App.QuickDataMapper.create({
App.serviceMetricsMapper.mapExtendedModel(item);
return self.parseIt(item, self.get('config'));
});
- parsedCacheServices = misc.sortByOrder(App.StackService.find().mapProperty('serviceName'), parsedCacheServices);
+ parsedCacheServices = misc.sortByOrder(App.StackService.find().mapProperty('serviceName'), parsedCacheServices, item => item.service_name);
App.store.safeLoadMany(this.get('model'), parsedCacheServices);
this.set('initialAppLoad', true);
}
diff --git a/ambari-web/app/models/service.js b/ambari-web/app/models/service.js
index 0c6a64d..3bb61a4 100644
--- a/ambari-web/app/models/service.js
+++ b/ambari-web/app/models/service.js
@@ -24,6 +24,8 @@ App.Service = DS.Model.extend({
serviceName: DS.attr('string'),
displayName: Em.computed.formatRole('serviceName', true),
serviceGroupName: DS.attr('string'),
+ mpackName: DS.attr('string'),
+ mpackVersion: DS.attr('string'),
passiveState: DS.attr('string', {defaultValue: "OFF"}),
workStatus: DS.attr('string'),
rand: DS.attr('string'),
diff --git a/ambari-web/app/styles/bootstrap_overrides.less b/ambari-web/app/styles/bootstrap_overrides.less
index febbf93..1522875 100644
--- a/ambari-web/app/styles/bootstrap_overrides.less
+++ b/ambari-web/app/styles/bootstrap_overrides.less
@@ -85,7 +85,6 @@ select.form-control {
background-color: #fff;
border-radius: 0;
.panel-heading {
- padding: 0;
margin-bottom: 15px;
.panel-title {
line-height: 34px;
@@ -94,7 +93,6 @@ select.form-control {
}
.panel .panel-body {
- padding: 0;
position: relative;
min-height: 200px;
height: 100%;
diff --git a/ambari-web/app/utils/misc.js b/ambari-web/app/utils/misc.js
index ae0e49b..3fe3d9d 100644
--- a/ambari-web/app/utils/misc.js
+++ b/ambari-web/app/utils/misc.js
@@ -54,11 +54,14 @@ module.exports = {
return ((((((+d[0])*256)+(+d[1]))*256)+(+d[2]))*256)+(+d[3]);
},
- sortByOrder: function (sortOrder, array) {
+ sortByOrder: function (sortOrder, array, sortOn) {
+ //provide default sortOn function if one is not passed in
+ sortOn = sortOn || (item => Em.get(item, 'id'));
+
var sorted = [];
for (var i = 0; i < sortOrder.length; i++)
for (var j = 0; j < array.length; j++) {
- if (sortOrder[i] == Em.get(array[j], 'id')) {
+ if (sortOrder[i] == sortOn(array[j])) {
sorted.push(array[j]);
}
}
diff --git a/ambari-web/app/views/main/service/service.js b/ambari-web/app/views/main/service/service.js
index 6032333..9b46dcc 100644
--- a/ambari-web/app/views/main/service/service.js
+++ b/ambari-web/app/views/main/service/service.js
@@ -124,9 +124,9 @@ App.MainDashboardServiceViewWrapper = Em.Mixin.create({
layoutName: require('templates/main/service/service'),
mpackVersion: function() {
- const stackService = App.StackService.find(this.get('controller.content.serviceName'));
- return `${stackService.get('stackName')} (${stackService.get('stackVersion')})`;
- }.property('controller.content.serviceName'),
+ const service = this.get('controller.content');
+ return `${service.get('mpackName')} (${service.get('mpackVersion')})`;
+ }.property('controller.content'),
});
App.MainDashboardServiceView = Em.View.extend(App.MainDashboardServiceViewWrapper, {
diff --git a/ambari-web/test/mixins/common/widgets/widget_section_test.js b/ambari-web/test/mixins/common/widgets/widget_section_test.js
index e6b8bf4..1da742d 100644
--- a/ambari-web/test/mixins/common/widgets/widget_section_test.js
+++ b/ambari-web/test/mixins/common/widgets/widget_section_test.js
@@ -38,9 +38,9 @@ describe('App.WidgetSectionMixin', function () {
},
{
services: [
- {
+ Em.Object.create({
serviceName: 'AMBARI_METRICS'
- }
+ })
],
isAmbariMetricsInstalled: true,
title: 'Ambari Metrics installed'
--
To stop receiving notification emails like this one, please contact
jgolieb@apache.org.