Merge pull request #1234 from apache/DATALAB-2502

Datalab 2502
diff --git a/infrastructure-provisioning/src/general/files/aws/tensor-rstudio_description.json b/infrastructure-provisioning/src/general/files/aws/tensor-rstudio_description.json
index 31b350d..51fc3a4 100644
--- a/infrastructure-provisioning/src/general/files/aws/tensor-rstudio_description.json
+++ b/infrastructure-provisioning/src/general/files/aws/tensor-rstudio_description.json
@@ -8,10 +8,10 @@
   "exploratory_environment_versions" :
   [
     {
-      "template_name": "RStudio with TensorFlow 2.1.0",
+      "template_name": "RStudio with TensorFlow 2.5.0",
       "description": "Base image with TensorFlow and RStudio node creation routines",
       "environment_type": "exploratory",
-      "version": "tensorflow_gpu-2.1.0",
+      "version": "tensorflow_gpu-2.5.0",
       "vendor": "AWS"
     }
   ]
diff --git a/infrastructure-provisioning/src/general/files/aws/tensor_description.json b/infrastructure-provisioning/src/general/files/aws/tensor_description.json
index 82a7f4f..20402e6 100644
--- a/infrastructure-provisioning/src/general/files/aws/tensor_description.json
+++ b/infrastructure-provisioning/src/general/files/aws/tensor_description.json
@@ -8,10 +8,10 @@
   "exploratory_environment_versions" :
   [
     {
-      "template_name": "Jupyter with TensorFlow 2.3.2",
+      "template_name": "Jupyter with TensorFlow 2.5.0",
       "description": "Base image with TensorFlow and Jupyter node creation routines",
       "environment_type": "exploratory",
-      "version": "tensorflow_gpu-2.3.2",
+      "version": "tensorflow_gpu-2.5.0",
       "vendor": "AWS"
     }
   ]
diff --git a/infrastructure-provisioning/src/general/files/gcp/tensor-rstudio_description.json b/infrastructure-provisioning/src/general/files/gcp/tensor-rstudio_description.json
index 39335d3..14f33eb 100644
--- a/infrastructure-provisioning/src/general/files/gcp/tensor-rstudio_description.json
+++ b/infrastructure-provisioning/src/general/files/gcp/tensor-rstudio_description.json
@@ -27,10 +27,10 @@
   },
   "exploratory_environment_versions": [
     {
-      "template_name": "RStudio with TensorFlow 2.1.0",
+      "template_name": "RStudio with TensorFlow 2.5.0",
       "description": "Base image with TensorFlow and RStudio node creation routines",
       "environment_type": "exploratory",
-      "version": "tensorflow_gpu-2.1.0",
+      "version": "tensorflow_gpu-2.5.0",
       "vendor": "GCP"
     }
   ]
diff --git a/infrastructure-provisioning/src/general/files/gcp/tensor_description.json b/infrastructure-provisioning/src/general/files/gcp/tensor_description.json
index eebc7fd..8561110 100644
--- a/infrastructure-provisioning/src/general/files/gcp/tensor_description.json
+++ b/infrastructure-provisioning/src/general/files/gcp/tensor_description.json
@@ -10,10 +10,10 @@
   "exploratory_environment_versions" :
   [
     {
-      "template_name": "Jupyter with TensorFlow 2.1.0",
+      "template_name": "Jupyter with TensorFlow 2.5.0",
       "description": "Base image with TensorFlow and Jupyter node creation routines",
       "environment_type": "exploratory",
-      "version": "tensorflow_gpu-2.1.0",
+      "version": "tensorflow_gpu-2.5.0",
       "vendor": "GCP"
     }
   ]
diff --git a/infrastructure-provisioning/src/general/scripts/gcp/dataengine-service_prepare.py b/infrastructure-provisioning/src/general/scripts/gcp/dataengine-service_prepare.py
index 83d8740..3229525 100644
--- a/infrastructure-provisioning/src/general/scripts/gcp/dataengine-service_prepare.py
+++ b/infrastructure-provisioning/src/general/scripts/gcp/dataengine-service_prepare.py
@@ -140,12 +140,12 @@
 
     subprocess.run("echo Waiting for changes to propagate; sleep 10", shell=True, check=True)
 
-    if 'masterGPUCount' in os.environ:
+    if 'master_gpu_count' in os.environ:
         dataproc_cluster = json.loads(open('/root/templates/dataengine-service_cluster_with_gpu.json').read())
-        dataproc_cluster['config']['masterConfig']['accelerators'][0]['acceleratorCount'] = int(os.environ['masterGPUCount'])
-        dataproc_cluster['config']['masterConfig']['accelerators'][0]['acceleratorTypeUri'] = os.environ['masterGPUType']
-        dataproc_cluster['config']['workerConfig']['accelerators'][0]['acceleratorCount'] = int(os.environ['slaveGPUCount'])
-        dataproc_cluster['config']['workerConfig']['accelerators'][0]['acceleratorTypeUri'] = os.environ['slaveGPUType']
+        dataproc_cluster['config']['masterConfig']['accelerators'][0]['acceleratorCount'] = int(os.environ['master_gpu_count'])
+        dataproc_cluster['config']['masterConfig']['accelerators'][0]['acceleratorTypeUri'] = os.environ['master_gpu_type']
+        dataproc_cluster['config']['workerConfig']['accelerators'][0]['acceleratorCount'] = int(os.environ['slave_gpu_count'])
+        dataproc_cluster['config']['workerConfig']['accelerators'][0]['acceleratorTypeUri'] = os.environ['slave_gpu_type']
         gpu_driver = 'gs://goog-dataproc-initialization-actions-{}/gpu/install_gpu_driver.sh'.format(dataproc_conf['region'])
         dataproc_cluster['config']['initializationActions'][0]['executableFile'] = gpu_driver
 
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create-dialog.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create-dialog.component.html
index 6fd4253..461c6ad 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create-dialog.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create-dialog.component.html
@@ -309,7 +309,7 @@
             rises above your bid price, the Spot instance is reclaimed by AWS so that it can be given to another
             customer. Make sure to backup your data on periodic basis.</span>
         </div>
-        <div class="checkbox-group control-group m-top-10"
+        <div class="checkbox-group control-group"
               [hidden]="PROVIDER === 'gcp' && selectedImage?.image === 'docker.datalab-dataengine-service'"
               *ngIf="notebook_instance?.image !== 'docker.datalab-zeppelin'">
           <div class="d-flex cursor-pointer label" (click)="addAdditionalParams('configuration')">