Merge pull request #1219 from apache/DATALAB-2442
[DATALAB-2442] added t-shirt size for gpu types, hid the option for recreate node
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.html b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.html
index 56e0719..e407d30 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.html
@@ -91,12 +91,12 @@
Stop edge node
</a>
</li>
- <li class="project-seting-item " *ngIf="element.areTerminatedNode" (click)="openEdgeDialog('recreate', element)">
+ <!-- <li class="project-seting-item " *ngIf="element.areTerminatedNode" (click)="openEdgeDialog('recreate', element)">
<i class="material-icons">refresh</i>
<a class="action">
Recreate edge node
</a>
- </li>
+ </li> -->
<li class="project-seting-item " *ngIf="element.areStoppedNode || element.areRunningNode" (click)="openEdgeDialog('terminate', element)">
<i class="material-icons">phonelink_off</i>
<a class="action">
diff --git a/services/self-service/src/main/resources/webapp/src/app/core/util/helpUtils.ts b/services/self-service/src/main/resources/webapp/src/app/core/util/helpUtils.ts
index 68178d5..1ebed41 100644
--- a/services/self-service/src/main/resources/webapp/src/app/core/util/helpUtils.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/core/util/helpUtils.ts
@@ -35,4 +35,28 @@
return;
}
}
+
+ public static sortGpuTypes(gpuType: Array<string>): Array<string> {
+ let sortedTypes = [];
+
+ gpuType.forEach(type => checkType(type));
+
+ function checkType(type) {
+ switch (type) {
+ case 'nvidia-tesla-t4':
+ sortedTypes[0] = type;
+ return;
+
+ case 'nvidia-tesla-p100':
+ sortedTypes[1] = type;
+ return;
+
+ case 'nvidia-tesla-v100':
+ sortedTypes[2] = type;
+ return;
+ }
+ }
+
+ return sortedTypes;
+ }
}
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.html
index 289403e..aaa633c 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.html
@@ -232,7 +232,7 @@
<mat-select formControlName="gpu_type" disableOptionCentering [disabled]="!createExploratoryForm.controls['shape'].value"
panelClass="create-resources-dialog" placeholder="GPU type">
<mat-option *ngFor="let list_item of gpuTypes" [value]="list_item" (click)="setCount('', list_item)">
- {{ list_item}}
+ <strong class="highlight icon-label">{{ addSizeToGpuType(list_item) }}</strong> {{ list_item }}
</mat-option>
<mat-option *ngIf="!gpuTypes.length" class="multiple-select ml-10" disabled>
GPU list is empty
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.ts
index 7399018..7e4a90e 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/create-environment/create-environment.component.ts
@@ -24,7 +24,7 @@
import { Project } from '../../../administration/project/project.component';
import { UserResourceService, ProjectService } from '../../../core/services';
-import {CheckUtils, SortUtils, HTTP_STATUS_CODES, PATTERNS} from '../../../core/util';
+import {CheckUtils, SortUtils, HTTP_STATUS_CODES, PATTERNS, HelpUtils} from '../../../core/util';
import { DICTIONARY } from '../../../../dictionary/global.dictionary';
import { CLUSTER_CONFIGURATION } from '../../computational/computational-resource-create-dialog/cluster-configuration-templates';
import {tap} from 'rxjs/operators';
@@ -150,6 +150,19 @@
}
+ public addSizeToGpuType(gpuType: string): string {
+ switch (gpuType) {
+ case 'nvidia-tesla-t4':
+ return 'S';
+
+ case 'nvidia-tesla-p100':
+ return 'M';
+
+ case 'nvidia-tesla-v100':
+ return 'L';
+ }
+ }
+
public getShapes(template) {
this.selectedImage = null;
const controls = ['notebook_image_name', 'shape', 'gpu_type', 'gpu_count'];
@@ -176,7 +189,8 @@
(template?.image === 'docker.datalab-jupyter' ||
template?.image === 'docker.datalab-deeplearning' ||
template?.image === 'docker.datalab-tensor')) {
- this.gpuTypes = template?.computationGPU ? template.computationGPU : [];
+
+ this.gpuTypes = template?.computationGPU ? HelpUtils.sortGpuTypes(template.computationGPU) : [];
if(template?.image === 'docker.datalab-tensor' || template?.image === 'docker.datalab-deeplearning') {
this.addGpuFields();
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/edge-action-dialog.component.ts b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/edge-action-dialog.component.ts
index 1fe8e66..244493d 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/edge-action-dialog.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/edge-action-dialog.component.ts
@@ -56,7 +56,7 @@
</ul>
</div>
<ng-template #oneNode>
- Edge node <span class="strong">{{data.item[0].name}}</span> wil be {{data.type === 'stop' ? 'stopped' : 'recreated'}}
+ Edge node <span class="strong">{{data.item[0].name}}</span> wil be {{data.type === 'stop' ? 'stopped' : data.type === 'start' ? 'started' : 'recreated'}}
</ng-template>
<p class="m-top-20 action-text"><span class="strong">Do you want to proceed?</span></p>