Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id D11532004F3 for ; Tue, 15 Aug 2017 18:29:11 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id CF704160ED2; Tue, 15 Aug 2017 16:29:11 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 5894D160D2E for ; Tue, 15 Aug 2017 18:29:09 +0200 (CEST) Received: (qmail 92755 invoked by uid 500); 15 Aug 2017 16:29:08 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 92740 invoked by uid 99); 15 Aug 2017 16:29:08 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Aug 2017 16:29:08 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id C164AF32DB; Tue, 15 Aug 2017 16:29:07 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sunilg@apache.org To: common-commits@hadoop.apache.org Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: hadoop git commit: YARN-5146. Support for Fair Scheduler in new YARN UI. Contributed by Abdullah Yousufi. Date: Tue, 15 Aug 2017 16:29:07 +0000 (UTC) archived-at: Tue, 15 Aug 2017 16:29:12 -0000 Repository: hadoop Updated Branches: refs/heads/trunk e3ae3e264 -> dadb0c222 YARN-5146. Support for Fair Scheduler in new YARN UI. Contributed by Abdullah Yousufi. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/dadb0c22 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/dadb0c22 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/dadb0c22 Branch: refs/heads/trunk Commit: dadb0c2225adef5cb0126610733c285b51f4f43e Parents: e3ae3e2 Author: Sunil G Authored: Tue Aug 15 21:58:44 2017 +0530 Committer: Sunil G Committed: Tue Aug 15 21:58:44 2017 +0530 ---------------------------------------------------------------------- .../src/main/webapp/app/adapters/yarn-queue.js | 30 ----- .../app/adapters/yarn-queue/capacity-queue.js | 23 ++++ .../app/adapters/yarn-queue/fair-queue.js | 23 ++++ .../app/adapters/yarn-queue/fifo-queue.js | 23 ++++ .../app/adapters/yarn-queue/yarn-queue.js | 30 +++++ .../main/webapp/app/components/tree-selector.js | 19 ++- .../src/main/webapp/app/models/yarn-queue.js | 94 -------------- .../app/models/yarn-queue/capacity-queue.js | 95 ++++++++++++++ .../webapp/app/models/yarn-queue/fair-queue.js | 79 ++++++++++++ .../webapp/app/models/yarn-queue/fifo-queue.js | 52 ++++++++ .../webapp/app/models/yarn-queue/yarn-queue.js | 23 ++++ .../main/webapp/app/routes/cluster-overview.js | 4 +- .../src/main/webapp/app/routes/yarn-queue.js | 26 ++-- .../src/main/webapp/app/routes/yarn-queues.js | 12 +- .../main/webapp/app/routes/yarn-queues/index.js | 25 ---- .../app/routes/yarn-queues/queues-selector.js | 25 ---- .../main/webapp/app/serializers/yarn-queue.js | 129 ------------------- .../serializers/yarn-queue/capacity-queue.js | 128 ++++++++++++++++++ .../app/serializers/yarn-queue/fair-queue.js | 92 +++++++++++++ .../app/serializers/yarn-queue/fifo-queue.js | 59 +++++++++ .../app/serializers/yarn-queue/yarn-queue.js | 47 +++++++ .../components/queue-configuration-table.hbs | 54 -------- .../templates/components/queue-navigator.hbs | 7 +- .../yarn-queue/capacity-queue-conf-table.hbs | 54 ++++++++ .../yarn-queue/capacity-queue-info.hbs | 84 ++++++++++++ .../components/yarn-queue/capacity-queue.hbs | 63 +++++++++ .../yarn-queue/fair-queue-conf-table.hbs | 52 ++++++++ .../components/yarn-queue/fair-queue-info.hbs | 66 ++++++++++ .../components/yarn-queue/fair-queue.hbs | 63 +++++++++ .../yarn-queue/fifo-queue-conf-table.hbs | 56 ++++++++ .../components/yarn-queue/fifo-queue-info.hbs | 47 +++++++ .../components/yarn-queue/fifo-queue.hbs | 48 +++++++ .../webapp/app/templates/yarn-queue/info.hbs | 73 +---------- .../main/webapp/app/templates/yarn-queues.hbs | 54 +------- .../src/main/webapp/app/utils/color-utils.js | 1 - 35 files changed, 1266 insertions(+), 494 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue.js deleted file mode 100644 index f2017df..0000000 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue.js +++ /dev/null @@ -1,30 +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. - */ - -import AbstractAdapter from './abstract'; - -export default AbstractAdapter.extend({ - address: "rmWebAddress", - restNameSpace: "cluster", - serverName: "RM", - - pathForType(/*modelName*/) { - return 'scheduler'; // move to some common place, return path by modelname. - } - -}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/capacity-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/capacity-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/capacity-queue.js new file mode 100644 index 0000000..7eb9f76 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/capacity-queue.js @@ -0,0 +1,23 @@ +/** + * 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. + */ + +import YarnQueueAdapter from './yarn-queue'; + +export default YarnQueueAdapter.extend({ + +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/fair-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/fair-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/fair-queue.js new file mode 100644 index 0000000..7eb9f76 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/fair-queue.js @@ -0,0 +1,23 @@ +/** + * 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. + */ + +import YarnQueueAdapter from './yarn-queue'; + +export default YarnQueueAdapter.extend({ + +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/fifo-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/fifo-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/fifo-queue.js new file mode 100644 index 0000000..7eb9f76 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/fifo-queue.js @@ -0,0 +1,23 @@ +/** + * 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. + */ + +import YarnQueueAdapter from './yarn-queue'; + +export default YarnQueueAdapter.extend({ + +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/yarn-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/yarn-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/yarn-queue.js new file mode 100644 index 0000000..8184c39 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/adapters/yarn-queue/yarn-queue.js @@ -0,0 +1,30 @@ +/** + * 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. + */ + +import AbstractAdapter from '../abstract'; + +export default AbstractAdapter.extend({ + address: "rmWebAddress", + restNameSpace: "cluster", + serverName: "RM", + + pathForType(/*modelName*/) { + return 'scheduler'; // move to some common place, return path by modelname. + } + +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/tree-selector.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/tree-selector.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/tree-selector.js index 3d72b2f..1a81a32 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/tree-selector.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/tree-selector.js @@ -39,6 +39,9 @@ export default Ember.Component.extend({ // mainSvg mainSvg: undefined, + used: undefined, + max: undefined, + // Init data initData: function() { this.map = { }; @@ -52,7 +55,8 @@ export default Ember.Component.extend({ }.bind(this)); // var selected = this.get("selected"); - + this.used = this.get("used"); + this.max = this.get("max"); this.initQueue("root", 1, this.treeData); }, @@ -81,7 +85,6 @@ export default Ember.Component.extend({ // Queue is not existed return; } - if (depth > this.maxDepth) { this.maxDepth = this.maxDepth + 1; } @@ -149,7 +152,9 @@ export default Ember.Component.extend({ nodeEnter.append("circle") .attr("r", 1e-6) .style("fill", function(d) { - var usedCap = d.queueData.get("usedCapacity"); + var maxCap = d.queueData.get(this.max); + maxCap = maxCap == undefined ? 100 : maxCap; + var usedCap = d.queueData.get(this.used) / maxCap * 100.0; if (usedCap <= 60.0) { return "LimeGreen"; } else if (usedCap <= 100.0) { @@ -157,7 +162,7 @@ export default Ember.Component.extend({ } else { return "LightCoral"; } - }); + }.bind(this)); // append percentage nodeEnter.append("text") @@ -166,13 +171,15 @@ export default Ember.Component.extend({ .attr("fill", "white") .attr("text-anchor", function() { return "middle"; }) .text(function(d) { - var usedCap = d.queueData.get("usedCapacity"); + var maxCap = d.queueData.get(this.max); + maxCap = maxCap == undefined ? 100 : maxCap; + var usedCap = d.queueData.get(this.used) / maxCap * 100.0; if (usedCap >= 100.0) { return usedCap.toFixed(0) + "%"; } else { return usedCap.toFixed(1) + "%"; } - }) + }.bind(this)) .style("fill-opacity", 1e-6); // append queue name http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue.js deleted file mode 100644 index 27c48f7..0000000 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue.js +++ /dev/null @@ -1,94 +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. - */ - -import DS from 'ember-data'; - -export default DS.Model.extend({ - name: DS.attr('string'), - children: DS.attr('array'), - parent: DS.attr('string'), - capacity: DS.attr('number'), - maxCapacity: DS.attr('number'), - usedCapacity: DS.attr('number'), - absCapacity: DS.attr('number'), - absMaxCapacity: DS.attr('number'), - absUsedCapacity: DS.attr('number'), - state: DS.attr('string'), - userLimit: DS.attr('number'), - userLimitFactor: DS.attr('number'), - preemptionDisabled: DS.attr('number'), - numPendingApplications: DS.attr('number'), - numActiveApplications: DS.attr('number'), - users: DS.hasMany('YarnUser'), - - isLeafQueue: function() { - var len = this.get("children.length"); - if (!len) { - return true; - } - return len <= 0; - }.property("children"), - - capacitiesBarChartData: function() { - return [ - { - label: "Absolute Capacity", - value: this.get("name") === "root" ? 100 : this.get("absCapacity") - }, - { - label: "Absolute Used", - value: this.get("name") === "root" ? this.get("usedCapacity") : this.get("absUsedCapacity") - }, - { - label: "Absolute Max Capacity", - value: this.get("name") === "root" ? 100 : this.get("absMaxCapacity") - } - ]; - }.property("absCapacity", "absUsedCapacity", "absMaxCapacity"), - - userUsagesDonutChartData: function() { - var data = []; - if (this.get("users")) { - this.get("users").forEach(function(o) { - data.push({ - label: o.get("name"), - value: o.get("usedMemoryMB") - }); - }); - } - - return data; - }.property("users"), - - hasUserUsages: function() { - return this.get("userUsagesDonutChartData").length > 0; - }.property(), - - numOfApplicationsDonutChartData: function() { - return [ - { - label: "Pending Apps", - value: this.get("numPendingApplications") || 0 // TODO, fix the REST API so root will return #applications as well. - }, - { - label: "Active Apps", - value: this.get("numActiveApplications") || 0 - } - ]; - }.property() -}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/capacity-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/capacity-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/capacity-queue.js new file mode 100644 index 0000000..1cb07bb --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/capacity-queue.js @@ -0,0 +1,95 @@ +/** + * 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. + */ + +import DS from 'ember-data'; + +export default DS.Model.extend({ + name: DS.attr('string'), + children: DS.attr('array'), + parent: DS.attr('string'), + capacity: DS.attr('number'), + maxCapacity: DS.attr('number'), + usedCapacity: DS.attr('number'), + absCapacity: DS.attr('number'), + absMaxCapacity: DS.attr('number'), + absUsedCapacity: DS.attr('number'), + state: DS.attr('string'), + userLimit: DS.attr('number'), + userLimitFactor: DS.attr('number'), + preemptionDisabled: DS.attr('number'), + numPendingApplications: DS.attr('number'), + numActiveApplications: DS.attr('number'), + users: DS.hasMany('YarnUser'), + type: DS.attr('string'), + + isLeafQueue: function() { + var len = this.get("children.length"); + if (!len) { + return true; + } + return len <= 0; + }.property("children"), + + capacitiesBarChartData: function() { + return [ + { + label: "Absolute Capacity", + value: this.get("name") === "root" ? 100 : this.get("absCapacity") + }, + { + label: "Absolute Used", + value: this.get("name") === "root" ? this.get("usedCapacity") : this.get("absUsedCapacity") + }, + { + label: "Absolute Max Capacity", + value: this.get("name") === "root" ? 100 : this.get("absMaxCapacity") + } + ]; + }.property("absCapacity", "usedCapacity", "absMaxCapacity"), + + userUsagesDonutChartData: function() { + var data = []; + if (this.get("users")) { + this.get("users").forEach(function(o) { + data.push({ + label: o.get("name"), + value: o.get("usedMemoryMB") + }); + }); + } + + return data; + }.property("users"), + + hasUserUsages: function() { + return this.get("userUsagesDonutChartData").length > 0; + }.property(), + + numOfApplicationsDonutChartData: function() { + return [ + { + label: "Pending Apps", + value: this.get("numPendingApplications") || 0 // TODO, fix the REST API so root will return #applications as well. + }, + { + label: "Active Apps", + value: this.get("numActiveApplications") || 0 + } + ]; + }.property("numPendingApplications", "numActiveApplications") +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/fair-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/fair-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/fair-queue.js new file mode 100644 index 0000000..be71362 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/fair-queue.js @@ -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. + */ + +import DS from 'ember-data'; + +export default DS.Model.extend({ + name: DS.attr('string'), + children: DS.attr('array'), + parent: DS.attr('string'), + maxApps: DS.attr('number'), + minResources: DS.attr(), + maxResources: DS.attr(), + usedResources: DS.attr(), + demandResources: DS.attr(), + steadyFairResources: DS.attr(), + fairResources: DS.attr(), + clusterResources: DS.attr(), + pendingContainers: DS.attr('number'), + allocatedContainers: DS.attr('number'), + reservedContainers: DS.attr('number'), + schedulingPolicy: DS.attr('string'), + preemptable: DS.attr('number'), + numPendingApplications: DS.attr('number'), + numActiveApplications: DS.attr('number'), + type: DS.attr('string'), + + isLeafQueue: function() { + var len = this.get("children.length"); + if (!len) { + return true; + } + return len <= 0; + }.property("children"), + + capacitiesBarChartData: function() { + return [ + { + label: "Steady Fair Memory", + value: this.get("steadyFairResources.memory") + }, + { + label: "Used Memory", + value: this.get("usedResources.memory") + }, + { + label: "Maximum Memory", + value: this.get("maxResources.memory") + } + ]; + }.property("maxResources.memory", "usedResources.memory", "maxResources.memory"), + + numOfApplicationsDonutChartData: function() { + return [ + { + label: "Pending Apps", + value: this.get("numPendingApplications") || 0 // TODO, fix the REST API so root will return #applications as well. + }, + { + label: "Active Apps", + value: this.get("numActiveApplications") || 0 + } + ]; + }.property() +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/fifo-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/fifo-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/fifo-queue.js new file mode 100644 index 0000000..2386dc4 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/fifo-queue.js @@ -0,0 +1,52 @@ +/** + * 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. + */ + +import DS from 'ember-data'; + +export default DS.Model.extend({ + name: DS.attr('string'), + capacity: DS.attr('number'), + usedCapacity: DS.attr('number'), + state: DS.attr('string'), + minQueueMemoryCapacity: DS.attr('number'), + maxQueueMemoryCapacity: DS.attr('number'), + numNodes: DS.attr('number'), + usedNodeCapacity: DS.attr('number'), + availNodeCapacity: DS.attr('number'), + totalNodeCapacity: DS.attr('number'), + numContainers: DS.attr('number'), + type: DS.attr('string'), + + capacitiesBarChartData: function() { + return [ + { + label: "Available Capacity", + value: this.get("availNodeCapacity") + }, + { + label: "Used Capacity", + value: this.get("usedNodeCapacity") + }, + { + label: "Total Capacity", + value: this.get("totalNodeCapacity") + } + ]; + }.property("availNodeCapacity", "usedNodeCapacity", "totalNodeCapacity") + +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/yarn-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/yarn-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/yarn-queue.js new file mode 100644 index 0000000..dcf5f48 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/yarn-queue.js @@ -0,0 +1,23 @@ +/** + * 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. + */ + +import DS from 'ember-data'; + +export default DS.Model.extend({ + type: DS.attr('string') +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/cluster-overview.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/cluster-overview.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/cluster-overview.js index b5db17d..3c6abd4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/cluster-overview.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/cluster-overview.js @@ -28,7 +28,7 @@ export default AbstractRoute.extend({ { state: "RUNNING" }), - queues: this.store.query('yarn-queue', {}), + queues: this.store.query('yarn-queue.yarn-queue', {}), }); }, @@ -39,6 +39,6 @@ export default AbstractRoute.extend({ unloadAll() { this.store.unloadAll('ClusterMetric'); this.store.unloadAll('yarn-app'); - this.store.unloadAll('yarn-queue'); + this.store.unloadAll('yarn-queue.yarn-queue'); } }); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queue.js index 1c4546c..cd4ed09 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queue.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queue.js @@ -22,22 +22,28 @@ import AbstractRoute from './abstract'; export default AbstractRoute.extend({ model(param) { - return Ember.RSVP.hash({ - selected : param.queue_name, - queues: this.store.query('yarn-queue', {}), - selectedQueue : undefined, - apps: this.store.query('yarn-app', { - queue: param.queue_name - }) - }); + return Ember.RSVP.hash({ + selected : param.queue_name, + queues: this.store.query("yarn-queue.yarn-queue", {}).then((model) => { + let type = model.get('firstObject').get('type'); + return this.store.query("yarn-queue." + type + "-queue", {}); + }), + selectedQueue : undefined, + apps: this.store.query('yarn-app', { + queue: param.queue_name + }) + }); }, afterModel(model) { - model.selectedQueue = this.store.peekRecord('yarn-queue', model.selected); + var type = model.queues.get('firstObject').constructor.modelName; + model.selectedQueue = this.store.peekRecord(type, model.selected); }, unloadAll() { - this.store.unloadAll('yarn-queue'); + this.store.unloadAll('yarn-queue.capacity-queue'); + this.store.unloadAll('yarn-queue.fair-queue'); + this.store.unloadAll('yarn-queue.fifo-queue'); this.store.unloadAll('yarn-app'); } }); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues.js index e4f145d..7d8a200 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues.js @@ -30,17 +30,23 @@ export default AbstractRoute.extend({ } return Ember.RSVP.hash({ selected : queueName, - queues: this.store.query('yarn-queue', {}), + queues: this.store.query("yarn-queue.yarn-queue", {}).then((model) => { + let type = model.get('firstObject').get('type'); + return this.store.query("yarn-queue." + type + "-queue", {}); + }), selectedQueue : undefined }); }, afterModel(model) { - model.selectedQueue = this.store.peekRecord('yarn-queue', model.selected); + var type = model.queues.get('firstObject').constructor.modelName; + model.selectedQueue = this.store.peekRecord(type, model.selected); }, unloadAll() { - this.store.unloadAll('yarn-queue'); + this.store.unloadAll('yarn-queue.capacity-queue'); + this.store.unloadAll('yarn-queue.fair-queue'); + this.store.unloadAll('yarn-queue.fifo-queue'); this.store.unloadAll('yarn-app'); }, http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues/index.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues/index.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues/index.js deleted file mode 100644 index 436c6d8..0000000 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues/index.js +++ /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. - */ - -import Ember from 'ember'; - -export default Ember.Route.extend({ - beforeModel() { - this.transitionTo('yarn-queues.root'); - } -}); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues/queues-selector.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues/queues-selector.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues/queues-selector.js deleted file mode 100644 index 5d14c6f..0000000 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-queues/queues-selector.js +++ /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. - */ - -import Ember from 'ember'; - -export default Ember.Route.extend({ - model() { - return this.store.findAll('yarn-queue'); - }, -}); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue.js deleted file mode 100644 index 4fc1a29..0000000 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue.js +++ /dev/null @@ -1,129 +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. - */ - -import DS from 'ember-data'; - -export default DS.JSONAPISerializer.extend({ - - normalizeSingleResponse(store, primaryModelClass, payload, id, - requestType) { - var children = []; - if (payload.queues) { - payload.queues.queue.forEach(function(queue) { - children.push(queue.queueName); - }); - } - - var includedData = []; - var relationshipUserData = []; - - // update user models - if (payload.users && payload.users.user) { - payload.users.user.forEach(function(u) { - includedData.push({ - type: "YarnUser", - id: u.username + "_" + payload.queueName, - attributes: { - name: u.username, - queueName: payload.queueName, - usedMemoryMB: u.resourcesUsed.memory || 0, - usedVCore: u.resourcesUsed.vCores || 0, - } - }); - - relationshipUserData.push({ - type: "YarnUser", - id: u.username + "_" + payload.queueName, - }); - }); - } - - - var fixedPayload = { - id: id, - type: primaryModelClass.modelName, // yarn-queue - attributes: { - name: payload.queueName, - parent: payload.myParent, - children: children, - capacity: payload.capacity, - usedCapacity: payload.usedCapacity, - maxCapacity: payload.maxCapacity, - absCapacity: payload.absoluteCapacity, - absMaxCapacity: payload.absoluteMaxCapacity, - absUsedCapacity: payload.absoluteUsedCapacity, - state: payload.state, - userLimit: payload.userLimit, - userLimitFactor: payload.userLimitFactor, - preemptionDisabled: payload.preemptionDisabled, - numPendingApplications: payload.numPendingApplications, - numActiveApplications: payload.numActiveApplications, - }, - // Relationships - relationships: { - users: { - data: relationshipUserData - } - } - }; - - return { - queue: this._super(store, primaryModelClass, fixedPayload, id, requestType), - includedData: includedData - }; - }, - - handleQueue(store, primaryModelClass, payload, id, requestType) { - var data = []; - var includedData = []; - var result = this.normalizeSingleResponse(store, primaryModelClass, - payload, id, requestType); - - data.push(result.queue); - includedData = includedData.concat(result.includedData); - - if (payload.queues) { - for (var i = 0; i < payload.queues.queue.length; i++) { - var queue = payload.queues.queue[i]; - queue.myParent = payload.queueName; - var childResult = this.handleQueue(store, primaryModelClass, queue, - queue.queueName, - requestType); - - data = data.concat(childResult.data); - includedData = includedData.concat(childResult.includedData); - } - } - - return { - data: data, - includedData: includedData - }; - }, - - normalizeArrayResponse(store, primaryModelClass, payload, id, requestType) { - var normalizedArrayResponse = {}; - var result = this.handleQueue(store, primaryModelClass, - payload.scheduler.schedulerInfo, "root", requestType); - - normalizedArrayResponse.data = result.data; - normalizedArrayResponse.included = result.includedData; - - return normalizedArrayResponse; - } -}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/capacity-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/capacity-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/capacity-queue.js new file mode 100644 index 0000000..c7350ef --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/capacity-queue.js @@ -0,0 +1,128 @@ +/** + * 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. + */ + +import DS from 'ember-data'; + +export default DS.JSONAPISerializer.extend({ + + normalizeSingleResponse(store, primaryModelClass, payload, id, + requestType) { + var children = []; + if (payload.queues) { + payload.queues.queue.forEach(function(queue) { + children.push(queue.queueName); + }); + } + + var includedData = []; + var relationshipUserData = []; + + // update user models + if (payload.users && payload.users.user) { + payload.users.user.forEach(function(u) { + includedData.push({ + type: "YarnUser", + id: u.username + "_" + payload.queueName, + attributes: { + name: u.username, + queueName: payload.queueName, + usedMemoryMB: u.resourcesUsed.memory || 0, + usedVCore: u.resourcesUsed.vCores || 0, + } + }); + + relationshipUserData.push({ + type: "YarnUser", + id: u.username + "_" + payload.queueName, + }); + }); + } + + var fixedPayload = { + id: id, + type: primaryModelClass.modelName, // yarn-queue + attributes: { + name: payload.queueName, + parent: payload.myParent, + children: children, + capacity: payload.capacity, + usedCapacity: payload.usedCapacity, + maxCapacity: payload.maxCapacity, + absCapacity: payload.absoluteCapacity, + absMaxCapacity: payload.absoluteMaxCapacity, + absUsedCapacity: payload.absoluteUsedCapacity, + state: payload.state, + userLimit: payload.userLimit, + userLimitFactor: payload.userLimitFactor, + preemptionDisabled: payload.preemptionDisabled, + numPendingApplications: payload.numPendingApplications, + numActiveApplications: payload.numActiveApplications, + type: "capacity", + }, + // Relationships + relationships: { + users: { + data: relationshipUserData + } + } + }; + return { + queue: this._super(store, primaryModelClass, fixedPayload, id, requestType), + includedData: includedData + }; + }, + + handleQueue(store, primaryModelClass, payload, id, requestType) { + var data = []; + var includedData = []; + var result = this.normalizeSingleResponse(store, primaryModelClass, + payload, id, requestType); + + data.push(result.queue); + includedData = includedData.concat(result.includedData); + + if (payload.queues) { + for (var i = 0; i < payload.queues.queue.length; i++) { + var queue = payload.queues.queue[i]; + queue.myParent = payload.queueName; + var childResult = this.handleQueue(store, primaryModelClass, queue, + queue.queueName, + requestType); + + data = data.concat(childResult.data); + includedData = includedData.concat(childResult.includedData); + } + } + + return { + data: data, + includedData: includedData + }; + }, + + normalizeArrayResponse(store, primaryModelClass, payload, id, requestType) { + var normalizedArrayResponse = {}; + var result = this.handleQueue(store, primaryModelClass, + payload.scheduler.schedulerInfo, "root", requestType); + + normalizedArrayResponse.data = result.data; + normalizedArrayResponse.included = result.includedData; + + return normalizedArrayResponse; + } +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/fair-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/fair-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/fair-queue.js new file mode 100644 index 0000000..2215d2d --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/fair-queue.js @@ -0,0 +1,92 @@ +/** + * 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. + */ + +import DS from 'ember-data'; + +export default DS.JSONAPISerializer.extend({ + + normalizeSingleResponse(store, primaryModelClass, payload, id, + requestType) { + var children = []; + if (payload.childQueues) { + payload.childQueues.queue.forEach(function(queue) { + children.push(queue.queueName); + }); + } + + var fixedPayload = { + id: id, + type: primaryModelClass.modelName, + attributes: { + name: payload.queueName, + parent: payload.myParent, + children: children, + maxApps: payload.maxApps, + minResources: payload.minResources, + maxResources: payload.maxResources, + usedResources: payload.usedResources, + demandResources: payload.demandResources, + steadyFairResources: payload.steadyFairResources, + fairResources: payload.fairResources, + clusterResources: payload.clusterResources, + pendingContainers: payload.pendingContainers, + allocatedContainers: payload.allocatedContainers, + reservedContainers: payload.reservedContainers, + schedulingPolicy: payload.schedulingPolicy, + preemptable: payload.preemptable, + numPendingApplications: payload.numPendingApps, + numActiveApplications: payload.numActiveApps, + type: "fair", + }, + }; + return this._super(store, primaryModelClass, fixedPayload, id, requestType); + }, + + handleQueue(store, primaryModelClass, payload, id, requestType) { + var data = []; + var includedData = []; + if(!payload) return data; + var result = this.normalizeSingleResponse(store, primaryModelClass, + payload, id, requestType); + + data.push(result); + + if (payload.childQueues) { + for (var i = 0; i < payload.childQueues.queue.length; i++) { + var queue = payload.childQueues.queue[i]; + queue.myParent = payload.queueName; + var childResult = this.handleQueue(store, primaryModelClass, queue, + queue.queueName, + requestType); + + data = data.concat(childResult); + } + } + + return data; + }, + + normalizeArrayResponse(store, primaryModelClass, payload, id, requestType) { + var normalizedArrayResponse = {}; + var result = this.handleQueue(store, primaryModelClass, + payload.scheduler.schedulerInfo.rootQueue, "root", requestType); + + normalizedArrayResponse.data = result; + return normalizedArrayResponse; + } +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/fifo-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/fifo-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/fifo-queue.js new file mode 100644 index 0000000..297ec18 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/fifo-queue.js @@ -0,0 +1,59 @@ +/** + * 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. + */ + +import DS from 'ember-data'; + +export default DS.JSONAPISerializer.extend({ + + normalizeSingleResponse(store, primaryModelClass, payload, id, + requestType) { + + var fixedPayload = { + id: id, + type: primaryModelClass.modelName, + attributes: { + name: id, + capacity: payload.capacity * 100, + usedCapacity: payload.usedCapacity * 100, + usedNodeCapacity: payload.usedNodeCapacity, + availNodeCapacity: payload.availNodeCapacity, + totalNodeCapacity: payload.totalNodeCapacity, + numNodes: payload.numNodes, + numContainers: payload.numContainers, + state: payload.qstate, + minQueueMemoryCapacity: payload.minQueueMemoryCapacity, + maxQueueMemoryCapacity: payload.maxQueueMemoryCapacity, + type: "fifo", + }, + + }; + + return this._super(store, primaryModelClass, fixedPayload, id, + requestType); + }, + + normalizeArrayResponse(store, primaryModelClass, payload, id, requestType) { + var normalizedArrayResponse = {}; + normalizedArrayResponse.data = [ + this.normalizeSingleResponse(store, primaryModelClass, + payload.scheduler.schedulerInfo, "root", requestType) + ]; + + return normalizedArrayResponse; + } +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/yarn-queue.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/yarn-queue.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/yarn-queue.js new file mode 100644 index 0000000..b2e0f2f --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/yarn-queue.js @@ -0,0 +1,47 @@ +/** + * 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. + */ + +import DS from 'ember-data'; + +export default DS.JSONAPISerializer.extend({ + + normalizeSingleResponse(store, primaryModelClass, payload, id, + requestType) { + + var fixedPayload = { + id: id, + type: primaryModelClass.modelName, + attributes: { + type: payload.type.split(/(?=[A-Z])/)[0] + } + }; + return this._super(store, primaryModelClass, fixedPayload, id, + requestType); + }, + + normalizeArrayResponse(store, primaryModelClass, payload, id, requestType) { + var normalizedArrayResponse = {}; + + normalizedArrayResponse.data = [ + this.normalizeSingleResponse(store, primaryModelClass, + payload.scheduler.schedulerInfo, "root", requestType) + ]; + + return normalizedArrayResponse; + } +}); http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/queue-configuration-table.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/queue-configuration-table.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/queue-configuration-table.hbs deleted file mode 100644 index 17a1e1a..0000000 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/queue-configuration-table.hbs +++ /dev/null @@ -1,54 +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. -}} - - - - - - - - - - - - - - - - - - - - - - {{#if queue.isLeafQueue}} - - - - - - - - - - - - - {{/if}} - -
ConfigurationsValue
Configured Capacity{{queue.capacity}}
Configured Max Capacity{{queue.maxCapacity}}
State{{queue.state}}
User Limit Percent{{queue.userLimit}}
User Limit Factor{{queue.userLimitFactor}}
Preemption Disabled{{queue.preemptionDisabled}}
\ No newline at end of file http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/queue-navigator.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/queue-navigator.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/queue-navigator.hbs index d8dd236..e3b0a90 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/queue-navigator.hbs +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/queue-navigator.hbs @@ -20,9 +20,12 @@
- {{tree-selector model=model parentId="tree-selector-container" selected=selected}} +
+ Scheduler: {{model.firstObject.type}} +
+ {{tree-selector model=model parentId="tree-selector-container" selected=selected used=used max=max}}
-{{outlet}} \ No newline at end of file +{{outlet}} http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue-conf-table.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue-conf-table.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue-conf-table.hbs new file mode 100644 index 0000000..3f6017f --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue-conf-table.hbs @@ -0,0 +1,54 @@ +{{! + * 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. +}} + + + + + + + + + + + + + + + + + + + + + + {{#if queue.isLeafQueue}} + + + + + + + + + + + + + {{/if}} + +
ConfigurationsValue
Configured Capacity{{queue.capacity}}
Configured Max Capacity{{queue.maxCapacity}}
State{{queue.state}}
User Limit Percent{{queue.userLimit}}
User Limit Factor{{queue.userLimitFactor}}
Preemption Disabled{{queue.preemptionDisabled}}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue-info.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue-info.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue-info.hbs new file mode 100644 index 0000000..7d44e69 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue-info.hbs @@ -0,0 +1,84 @@ +{{! + * 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. +}} + +
+ +
+
+
+ Queue Capacities: {{model.selected}} +
+
+
+ {{bar-chart data=model.selectedQueue.capacitiesBarChartData + title="" + parentId="capacity-bar-chart" + textWidth=170 + ratio=0.55 + maxHeight=350}} +
+
+
+ +
+
+
+ Queue Information: {{model.selected}} +
+ {{yarn-queue.capacity-queue-conf-table queue=model.selectedQueue}} +
+
+ +
+ +
+ +
+
+
+ Running Apps: {{model.selected}} +
+
+ {{donut-chart data=model.selectedQueue.numOfApplicationsDonutChartData + showLabels=true + parentId="numapplications-donut-chart" + ratio=0.6 + maxHeight=350}} +
+
+
+ + {{#if model.selectedQueue.hasUserUsages}} +
+
+
+ User Usages: {{model.selected}} +
+
+ {{donut-chart data=model.selectedQueue.userUsagesDonutChartData + showLabels=true + parentId="userusage-donut-chart" + type="memory" + ratio=0.6 + maxHeight=350}} +
+
+
+ {{/if}} + +
http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue.hbs new file mode 100644 index 0000000..8b63b66 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/capacity-queue.hbs @@ -0,0 +1,63 @@ +{{! + * 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. +}} + +{{queue-navigator model=model.queues selected=model.selected + used="usedCapacity" max="absMaxCapacity"}} + +
+
+
+
+ Queue Information: {{model.selected}} +
+ {{yarn-queue.capacity-queue-conf-table queue=model.selectedQueue}} +
+
+ +
+
+
+ Queue Capacities: {{model.selected}} +
+
+
+ {{bar-chart data=model.selectedQueue.capacitiesBarChartData + title="" + parentId="capacity-bar-chart" + textWidth=175 + ratio=0.55 + maxHeight=350}} +
+
+
+ +
+
+
+ Running Apps: {{model.selected}} +
+
+ {{donut-chart data=model.selectedQueue.numOfApplicationsDonutChartData + showLabels=true + parentId="numapplications-donut-chart" + ratio=0.6 + maxHeight=350}} +
+
+
+
http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue-conf-table.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue-conf-table.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue-conf-table.hbs new file mode 100644 index 0000000..00fabcc --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue-conf-table.hbs @@ -0,0 +1,52 @@ +{{! + * 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. +}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConfigurationsValue
Fair Memory, VCores{{queue.fairResources.memory}} MB, {{queue.fairResources.vCores}}
Minimum Memory, VCores{{queue.minResources.memory}} MB, {{queue.minResources.vCores}}
Cluster Memory, VCores{{queue.clusterResources.memory}} MB, {{queue.clusterResources.vCores}}
Pending, Allocated, Reserved Containers{{queue.pendingContainers}} , {{queue.allocatedContainers}} , {{queue.reservedContainers}}
Scheduling Policy{{queue.schedulingPolicy}}
Preemption Enabled{{queue.preemptable}}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue-info.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue-info.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue-info.hbs new file mode 100644 index 0000000..a770bfe --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue-info.hbs @@ -0,0 +1,66 @@ +{{! + * 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. +}} + +
+ +
+
+
+ Queue Capacities: {{model.selected}} +
+
+
+ {{bar-chart data=model.selectedQueue.capacitiesBarChartData + title="" + parentId="capacity-bar-chart" + textWidth=170 + ratio=0.55 + maxHeight=350}} +
+
+
+ +
+
+
+ Queue Information: {{model.selected}} +
+ {{yarn-queue.fair-queue-conf-table queue=model.selectedQueue}} +
+
+ +
+ +
+ +
+
+
+ Running Apps: {{model.selected}} +
+
+ {{donut-chart data=model.selectedQueue.numOfApplicationsDonutChartData + showLabels=true + parentId="numapplications-donut-chart" + ratio=0.6 + maxHeight=350}} +
+
+
+ +
http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue.hbs new file mode 100644 index 0000000..0341108 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fair-queue.hbs @@ -0,0 +1,63 @@ +{{! + * 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. +}} + +{{queue-navigator model=model.queues selected=model.selected + used="usedResources.memory" max="clusterResources.memory"}} + +
+
+
+
+ Queue Information: {{model.selected}} +
+ {{yarn-queue.fair-queue-conf-table queue=model.selectedQueue}} +
+
+ +
+
+
+ Queue Capacities: {{model.selected}} +
+
+
+ {{bar-chart data=model.selectedQueue.capacitiesBarChartData + title="" + parentId="capacity-bar-chart" + textWidth=150 + ratio=0.55 + maxHeight=350}} +
+
+
+ +
+
+
+ Running Apps: {{model.selected}} +
+
+ {{donut-chart data=model.selectedQueue.numOfApplicationsDonutChartData + showLabels=true + parentId="numapplications-donut-chart" + ratio=0.6 + maxHeight=350}} +
+
+
+
http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue-conf-table.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue-conf-table.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue-conf-table.hbs new file mode 100644 index 0000000..4ced3e7 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue-conf-table.hbs @@ -0,0 +1,56 @@ +{{! + * 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. +}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConfigurationsValue
Configured Capacity{{queue.capacity}}
Used Capacity{{queue.usedCapacity}}
State{{queue.state}}
Minimum Queue Memory Capacity{{queue.minQueueMemoryCapacity}}
Maximum Queue Memory Capacity{{queue.maxQueueMemoryCapacity}}
Number of Nodes{{queue.numNodes}}
Number of Containers{{queue.numContainers}}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue-info.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue-info.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue-info.hbs new file mode 100644 index 0000000..7f4e8a7 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue-info.hbs @@ -0,0 +1,47 @@ +{{! + * 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. +}} + +
+ +
+
+
+ Queue Capacities: {{model.selected}} +
+
+
+ {{bar-chart data=model.selectedQueue.capacitiesBarChartData + title="" + parentId="capacity-bar-chart" + textWidth=170 + ratio=0.55 + maxHeight=350}} +
+
+
+ +
+
+
+ Queue Information: {{model.selected}} +
+ {{yarn-queue.fifo-queue-conf-table queue=model.selectedQueue}} +
+
+ +
http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue.hbs new file mode 100644 index 0000000..46d79f0 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/components/yarn-queue/fifo-queue.hbs @@ -0,0 +1,48 @@ +{{! + * 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. +}} + +{{queue-navigator model=model.queues selected=model.selected + used="usedNodeCapacity" max="totalNodeCapacity"}} + +
+
+
+
+ Queue Information: {{model.selected}} +
+ {{yarn-queue.fifo-queue-conf-table queue=model.selectedQueue}} +
+
+ +
+
+
+ Queue Capacities: {{model.selected}} +
+
+
+ {{bar-chart data=model.selectedQueue.capacitiesBarChartData + title="" + parentId="capacity-bar-chart" + textWidth=150 + ratio=0.55 + maxHeight=350}} +
+
+
+
http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-queue/info.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-queue/info.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-queue/info.hbs index c112ef9..2f138a7 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-queue/info.hbs +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-queue/info.hbs @@ -16,69 +16,10 @@ * limitations under the License. }} -
- -
-
-
- Queue Capacities: {{model.selected}} -
-
-
- {{bar-chart data=model.selectedQueue.capacitiesBarChartData - title="" - parentId="capacity-bar-chart" - textWidth=170 - ratio=0.55 - maxHeight=350}} -
-
-
- -
-
-
- Queue Information: {{model.selected}} -
- {{queue-configuration-table queue=model.selectedQueue}} -
-
- -
- -
- -
-
-
- Running Apps: {{model.selected}} -
-
- {{donut-chart data=model.selectedQueue.numOfApplicationsDonutChartData - showLabels=true - parentId="numapplications-donut-chart" - ratio=0.6 - maxHeight=350}} -
-
-
- - {{#if model.selectedQueue.hasUserUsages}} -
-
-
- User Usages: {{model.selected}} -
-
- {{donut-chart data=model.selectedQueue.userUsagesDonutChartData - showLabels=true - parentId="userusage-donut-chart" - type="memory" - ratio=0.6 - maxHeight=350}} -
-
-
- {{/if}} - -
+{{#if (eq model.queues.firstObject.type "capacity")}} + {{yarn-queue.capacity-queue-info model=model}} +{{else if (eq model.queues.firstObject.type "fair")}} + {{yarn-queue.fair-queue-info model=model}} +{{else}} + {{yarn-queue.fifo-queue-info model=model}} +{{/if}} http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-queues.hbs ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-queues.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-queues.hbs index 6dfb220..fccdb5b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-queues.hbs +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-queues.hbs @@ -17,54 +17,14 @@ }} {{breadcrumb-bar breadcrumbs=breadcrumbs}} -
- {{queue-navigator model=model.queues selected=model.selected}} - -
- -
-
-
- Queue Information: {{model.selected}} -
- {{queue-configuration-table queue=model.selectedQueue}} -
-
- -
-
-
- Queue Capacities: {{model.selected}} -
-
-
- {{bar-chart data=model.selectedQueue.capacitiesBarChartData - title="" - parentId="capacity-bar-chart" - textWidth=150 - ratio=0.55 - maxHeight=350}} -
-
-
- -
-
-
- Running Apps: {{model.selected}} -
-
- {{donut-chart data=model.selectedQueue.numOfApplicationsDonutChartData - showLabels=true - parentId="numapplications-donut-chart" - ratio=0.6 - maxHeight=350}} -
-
-
- -
+ {{#if (eq model.queues.firstObject.type "capacity")}} + {{yarn-queue.capacity-queue model=model}} + {{else if (eq model.queues.firstObject.type "fair")}} + {{yarn-queue.fair-queue model=model}} + {{else}} + {{yarn-queue.fifo-queue model=model}} + {{/if}}
{{outlet}} http://git-wip-us.apache.org/repos/asf/hadoop/blob/dadb0c22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/utils/color-utils.js ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/utils/color-utils.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/utils/color-utils.js index 6c0cfee..af0cdf4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/utils/color-utils.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/utils/color-utils.js @@ -55,7 +55,6 @@ export default { } } - console.log(colors); return colors; }, --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org For additional commands, e-mail: common-commits-help@hadoop.apache.org