You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by dg...@apache.org on 2020/06/09 10:46:10 UTC

[incubator-dlab] branch develop updated: [DLAB-1737]: For notebook based on GPU allowed only GPU computational resource and vice-versa (#781)

This is an automated email from the ASF dual-hosted git repository.

dgnatyshyn pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git


The following commit(s) were added to refs/heads/develop by this push:
     new 8f85f9b  [DLAB-1737]: For notebook based on GPU allowed only GPU computational resource and vice-versa (#781)
8f85f9b is described below

commit 8f85f9ba2096d58284b06ee91654a38e754b7ce5
Author: Dmytro Gnatyshyn <42...@users.noreply.github.com>
AuthorDate: Tue Jun 9 13:46:01 2020 +0300

    [DLAB-1737]: For notebook based on GPU allowed only GPU computational resource and vice-versa (#781)
    
    [DLAB-1737]: For notebook based on GPU allowed only GPU computational resource and vice-versa
---
 ...computational-resource-create-dialog.component.ts | 18 +++++++++++++-----
 .../create-environment.component.ts                  | 20 ++++++++++++++++++--
 2 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create-dialog.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create-dialog.component.ts
index 414f483..ab252f0 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create-dialog.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create-dialog.component.ts
@@ -83,6 +83,7 @@ export class ComputationalResourceCreateDialogComponent implements OnInit {
 
   public selectImage($event) {
     this.selectedImage = $event;
+    this.filterShapes();
     this.getComputationalResourceLimits();
 
     if ($event.templates && $event.templates.length)
@@ -253,10 +254,8 @@ export class ComputationalResourceCreateDialogComponent implements OnInit {
         this.clusterTypes.forEach((cluster, index) => this.clusterTypes[index].computation_resources_shapes =
           SortUtils.shapesSort(cluster.computation_resources_shapes));
         this.selectedImage = clusterTypes.templates[0];
-
         if (this.selectedImage) {
           this._ref.detectChanges();
-
           this.filterShapes();
           this.resourceForm.get('template_name').setValue(this.selectedImage.template_name);
           this.getComputationalResourceLimits();
@@ -267,9 +266,10 @@ export class ComputationalResourceCreateDialogComponent implements OnInit {
   }
 
   private filterShapes(): void {
+    const allowed: any = ['GPU optimized'];
     if (this.notebook_instance.template_name.toLowerCase().indexOf('tensorflow') !== -1
-      || this.notebook_instance.template_name.toLowerCase().indexOf('deep learning') !== -1) {
-      const allowed: any = ['GPU optimized'];
+      || this.notebook_instance.template_name.toLowerCase().indexOf('deep learning') !== -1
+    ) {
       const filtered = Object.keys(
         SortUtils.shapesSort(this.selectedImage.computation_resources_shapes))
         .filter(key => allowed.includes(key))
@@ -277,13 +277,21 @@ export class ComputationalResourceCreateDialogComponent implements OnInit {
           obj[key] = this.selectedImage.computation_resources_shapes[key];
           return obj;
         }, {});
-
       if (this.PROVIDER !== 'azure') {
         const images = this.clusterTypes.filter(image => image.image === 'docker.dlab-dataengine');
         this.clusterTypes = images;
         this.selectedImage = this.clusterTypes[0];
       }
       this.selectedImage.computation_resources_shapes = filtered;
+    } else {
+      const filtered = Object.keys(
+        SortUtils.shapesSort(this.selectedImage.computation_resources_shapes))
+        .filter(key => !(allowed.includes(key)))
+        .reduce((obj, key) => {
+          obj[key] = this.selectedImage.computation_resources_shapes[key];
+          return obj;
+        }, {});
+      this.selectedImage.computation_resources_shapes = filtered;
     }
   }
 
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 d23d7a4..4ae38ad 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
@@ -111,8 +111,24 @@ export class ExploratoryEnvironmentCreateComponent implements OnInit {
 
   public getShapes(template) {
     this.currentTemplate = template;
-    this.shapes = SortUtils.shapesSort(template.exploratory_environment_shapes);
-    this.getImagesList();
+    const allowed: any = ['GPU optimized'];
+    if (template.exploratory_environment_versions[0].template_name.toLowerCase().indexOf('tensorflow') === -1
+      && template.exploratory_environment_versions[0].template_name.toLowerCase().indexOf('deep learning') === -1
+    ) {
+      const filtered = Object.keys(
+        SortUtils.shapesSort(template.exploratory_environment_shapes))
+        .filter(key => !(allowed.includes(key)))
+        .reduce((obj, key) => {
+          obj[key] = template.exploratory_environment_shapes[key];
+          return obj;
+        }, {});
+      template.exploratory_environment_shapes.computation_resources_shapes = filtered;
+      this.shapes = SortUtils.shapesSort(template.exploratory_environment_shapes.computation_resources_shapes);
+      this.getImagesList();
+    } else {
+      this.shapes = SortUtils.shapesSort(template.exploratory_environment_shapes);
+      this.getImagesList();
+    }
   }
 
   public createExploratoryEnvironment(data) {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org