Browse Source

YARN-7462. Render outstanding resource requests on application page of new YARN UI. Contributed by Vasudevan Skm.

Sunil G 7 năm trước cách đây
mục cha
commit
c4c57b80e1

+ 1 - 3
.gitignore

@@ -44,6 +44,4 @@ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/dist
 hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/tmp
 hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/tmp
 yarnregistry.pdf
 yarnregistry.pdf
 patchprocess/
 patchprocess/
-
-
-.history/
+.history/

+ 1 - 0
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-app.js

@@ -52,6 +52,7 @@ export default DS.Model.extend({
   currentAppAttemptId: DS.attr('string'),
   currentAppAttemptId: DS.attr('string'),
   remainingTimeoutInSeconds: DS.attr('number'),
   remainingTimeoutInSeconds: DS.attr('number'),
   applicationExpiryTime: DS.attr('string'),
   applicationExpiryTime: DS.attr('string'),
+  resourceRequests: DS.attr('array'),
 
 
   isFailed: function() {
   isFailed: function() {
     return this.get('finalStatus') === "FAILED";
     return this.get('finalStatus') === "FAILED";

+ 1 - 0
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-app.js

@@ -58,6 +58,7 @@ export default DS.JSONAPISerializer.extend({
           allocatedMB: payload.allocatedMB,
           allocatedMB: payload.allocatedMB,
           allocatedVCores: payload.allocatedVCores,
           allocatedVCores: payload.allocatedVCores,
           runningContainers: payload.runningContainers,
           runningContainers: payload.runningContainers,
+          resourceRequests: payload.resourceRequests,
           memorySeconds: payload.memorySeconds,
           memorySeconds: payload.memorySeconds,
           vcoreSeconds: payload.vcoreSeconds,
           vcoreSeconds: payload.vcoreSeconds,
           preemptedResourceMB: payload.preemptedResourceMB,
           preemptedResourceMB: payload.preemptedResourceMB,

+ 42 - 0
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-app/info.hbs

@@ -132,6 +132,48 @@
   {{/if}}
   {{/if}}
 </div>
 </div>
 
 
+{{#unless model.serviceName}}
+  <div class="row">
+    <div class="col-md-12 container-fluid">
+      <div class="panel panel-default">
+        <div class="panel-heading">Outstanding Resource Requests</div>
+        <table class="display table table-striped table-bordered"
+              cellspacing="0" width="100%">
+          <thead>
+          <tr>
+            <th>Scheduler Key</th>
+            <th>Resource Name</th>
+            <th>Capability</th>
+            <th># Containers</th>
+            <th>Relax Locality</th>
+            <th>Node Label Expression</th>
+          </tr>
+          </thead>
+          <tbody>
+          {{#each model.app.resourceRequests as |request|}}
+            <tr>
+              <td>{{request.priority}}</td>
+              <td>{{request.resourceName}}</td>
+              <td>&lt;Memory:{{request.capability.memory}};vCores:{{request.capability.virtualCores}}&gt;</td>
+              <td>{{request.numContainers}}</td>
+              <td>{{request.relaxLocality}}</td>
+              <td>
+                {{#if request.nodeLabelExpression}}
+                  {{request.nodeLabelExpression}}
+                {{else}}
+                  N/A
+                {{/if}}
+              </td>
+            </tr>
+          {{else}}
+            <div class="panel-body">No data available!</div>
+          {{/each}}
+          </tbody>
+        </table>
+      </div>
+    </div>
+  </div>
+{{/unless}}
 <div class="row">
 <div class="row">
   <div class="col-md-12 container-fluid">
   <div class="col-md-12 container-fluid">
     <div class="panel panel-default">
     <div class="panel panel-default">