You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by dg...@apache.org on 2020/10/05 14:31:53 UTC

[incubator-datalab] branch DATALAB-1534 created (now 7bbdbe7)

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

dgnatyshyn pushed a change to branch DATALAB-1534
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git.


      at 7bbdbe7  [DATALAB-1534]: Added possibility to recreate edge node after edge termination/failing

This branch includes the following new commits:

     new bc38f94  Merge remote-tracking branch 'origin/develop' into develop
     new 7bbdbe7  [DATALAB-1534]: Added possibility to recreate edge node after edge termination/failing

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



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


[incubator-datalab] 02/02: [DATALAB-1534]: Added possibility to recreate edge node after edge termination/failing

Posted by dg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 7bbdbe7a1d976b01820554f2ac2c887fa3596ab9
Author: Dmytro_Gnatyshyn <di...@ukr.net>
AuthorDate: Mon Oct 5 17:31:30 2020 +0300

    [DATALAB-1534]: Added possibility to recreate edge node after edge termination/failing
---
 .../project/project-list/project-list.component.html        | 12 +++++++++---
 .../project/project-list/project-list.component.ts          | 13 +++++++++++++
 .../src/app/administration/project/project.component.ts     |  3 +++
 3 files changed, 25 insertions(+), 3 deletions(-)

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 ef82f31..81d4ddf 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
@@ -71,19 +71,25 @@
       <bubble-up #actions class="list-menu" position="bottom-left" alternative="top-left">
         <ul class="list-unstyled">
           <div class="active-items"></div>
-          <li class="project-seting-item" *ngIf="areStoppedEndpoints(element)" (click)="openEdgeDialog('start', element)">
+          <li class="project-seting-item" *ngIf="element.areStoppedNode" (click)="openEdgeDialog('start', element)">
             <i class="material-icons">play_circle_outline</i>
             <a class="action">
               Start edge node
             </a>
           </li>
-          <li class="project-seting-item" *ngIf="areStartedEndpoints(element)" (click)="openEdgeDialog('stop', element )">
+          <li class="project-seting-item" *ngIf="element.areRunningNode" (click)="openEdgeDialog('stop', element )">
             <i class="material-icons">pause_circle_outline</i>
             <a class="action" >
               Stop edge node
             </a>
           </li>
-          <li class="project-seting-item " *ngIf="areStoppedEndpoints(element) || areStartedEndpoints(element)" (click)="openEdgeDialog('terminate', 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 class="project-seting-item " *ngIf="element.areStoppedNode || element.areRunningNode" (click)="openEdgeDialog('terminate', element)">
             <i class="material-icons">phonelink_off</i>
             <a class="action">
               Terminate edge node
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.ts
index 5d20373..4900fd8 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.ts
@@ -70,6 +70,13 @@ export class ProjectListComponent implements OnInit, OnDestroy {
     setTimeout(() => {this.progressBarService.startProgressBar(); } , 0);
     this.subscriptions.add(this.projectDataService._projects.subscribe((value: Project[]) => {
       this.projectList = value;
+      if (this.projectList) {
+        this.projectList.forEach(project => {
+          project.areRunningNode = this.areStartedEndpoints(project);
+          project.areStoppedNode = this.areStoppedEndpoints(project);
+          project.areTerminatedNode = this.areTerminatedOrFailedEndpoints(project);
+        });
+      }
       if (value) this.dataSource = new MatTableDataSource(value);
       this.progressBarService.stopProgressBar();
     }, () => this.progressBarService.stopProgressBar()));
@@ -117,6 +124,9 @@ export class ProjectListComponent implements OnInit, OnDestroy {
         if (action === 'terminate') {
           return endpoint.status === 'RUNNING' || endpoint.status === 'STOPPED';
         }
+        if (action === 'recreate') {
+          return endpoint.status === 'TERMINATED' || endpoint.status === 'FAILED';
+        }
       });
       this.dialog.open(EdgeActionDialogComponent, {data: {type: action, item: endpoints}, panelClass: 'modal-sm'})
         .afterClosed().subscribe(endpoint => {
@@ -134,4 +144,7 @@ export class ProjectListComponent implements OnInit, OnDestroy {
   public areStoppedEndpoints(project) {
     return project.endpoints.filter(endpoint => endpoint.status === 'STOPPED').length > 0;
   }
+  public areTerminatedOrFailedEndpoints(project) {
+    return project.endpoints.filter(endpoint => endpoint.status === 'TERMINATED' || endpoint.status === 'FAILED').length > 0;
+  }
 }
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.ts
index 183be85..6779c5c 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.ts
@@ -40,6 +40,9 @@ export interface Project {
   tag: string;
   groups: string[];
   shared_image_enabled?: boolean;
+  areStoppedNode?: boolean;
+  areTerminatedNode?: boolean;
+  areRunningNode?: boolean;
 }
 
 @Component({


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


[incubator-datalab] 01/02: Merge remote-tracking branch 'origin/develop' into develop

Posted by dg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit bc38f94458bfe9c13dbdbb19a4119a964c3296ab
Merge: 4eb9579 8345a43
Author: Dmytro_Gnatyshyn <di...@ukr.net>
AuthorDate: Mon Oct 5 15:15:18 2020 +0300

    Merge remote-tracking branch 'origin/develop' into develop

 CONTRIBUTING.md                                    |   4 +-
 DISCLAIMER                                         |   2 +-
 LICENSE                                            |   4 +-
 NOTICE                                             |   2 +-
 README.md                                          |  36 ++---
 USER_GUIDE.md                                      |   6 +-
 doc/audit_page.png                                 | Bin 109629 -> 108511 bytes
 doc/azure_dlab_arch.png                            | Bin 31321 -> 84473 bytes
 doc/billing_filter.png                             | Bin 41447 -> 41779 bytes
 doc/billing_page.png                               | Bin 53655 -> 52589 bytes
 doc/bucket_action.png                              | Bin 55568 -> 56017 bytes
 doc/bucket_browser.png                             | Bin 51360 -> 52321 bytes
 doc/bucket_button.png                              | Bin 78545 -> 77601 bytes
 doc/bucket_upload.png                              | Bin 56301 -> 57023 bytes
 doc/close to limit.png                             | Bin 67002 -> 58076 bytes
 doc/datalab_aws.png                                | Bin 96693 -> 123464 bytes
 doc/datalab_azure.png                              | Bin 94589 -> 115400 bytes
 doc/datalab_gcp.png                                | Bin 108227 -> 129699 bytes
 doc/delete_group.png                               | Bin 45914 -> 46128 bytes
 doc/environment_management.png                     | Bin 66315 -> 65687 bytes
 doc/exceeded quota.png                             | Bin 60963 -> 52612 bytes
 doc/main_menu.png                                  | Bin 9606 -> 25329 bytes
 doc/main_menu_env.png                              | Bin 9543 -> 25368 bytes
 doc/main_page.png                                  | Bin 42762 -> 42027 bytes
 doc/main_page_filter.png                           | Bin 90067 -> 88966 bytes
 doc/manage_environment.png                         | Bin 20835 -> 21161 bytes
 doc/notebook_info.png                              | Bin 31617 -> 25610 bytes
 doc/physical_architecture.png                      | Bin 48848 -> 127137 bytes
 doc/project_quota.png                              | Bin 66333 -> 26693 bytes
 doc/select_bucket.png                              | Bin 36518 -> 37286 bytes
 doc/ungit_push.png                                 | Bin 98113 -> 270779 bytes
 doc/ungit_window.png                               | Bin 17814 -> 55233 bytes
 doc/ungit_work.png                                 | Bin 33738 -> 99910 bytes
 doc/upload_or_generate_user_key.png                | Bin 53928 -> 52329 bytes
 doc/zeppelin.png                                   | Bin 32812 -> 89367 bytes
 .../scripts/deploy_repository/deploy_repository.py |   2 +-
 .../templates/configureNexus.groovy                |   8 +-
 .../src/general/scripts/azure/ssn_configure.py     |   2 +
 .../src/general/scripts/azure/ssn_prepare.py       |   2 +
 .../templates/configmap-ui-conf.yaml               |   2 +-
 .../terraform/bin/deploy/endpoint_fab.py           |   2 +-
 .../terraform/gcp/endpoint/provisioning.py         |   2 +-
 .../templates/configmap-ui-conf.yaml               |   2 +-
 .../deeplearning/deeplearning-notebook.json        |  10 +-
 .../deeplearning/spark_cluster.json                |   8 +-
 .../azure_templates/jupyter/jupyter-notebook.json  |  10 +-
 .../azure_templates/jupyter/spark_cluster.json     |   8 +-
 .../azure_templates/rstudio/rstudio-notebook.json  |  10 +-
 .../azure_templates/rstudio/spark_cluster.json     |   8 +-
 .../azure_templates/tensor/spark_cluster.json      |   8 +-
 .../azure_templates/tensor/tensor-notebook.json    |  10 +-
 .../azure_templates/zeppelin/spark_cluster.json    |   8 +-
 .../zeppelin/zeppelin-notebook.json                |   8 +-
 integration-tests/examples/config.properties       |   9 +-
 integration-tests/examples/copy_files.py           |   2 +-
 .../examples/ec2_templates/deeplearning/EMR.json   |  16 +-
 .../ec2_templates/deeplearning/EMR_spot.json       |  20 +--
 .../deeplearning/deeplearning-notebook.json        |  10 +-
 .../ec2_templates/deeplearning/spark_cluster.json  |   8 +-
 .../examples/ec2_templates/jupyter/EMR.json        |  16 +-
 .../examples/ec2_templates/jupyter/EMR_spot.json   |  20 +--
 .../ec2_templates/jupyter/jupyter-notebook.json    |  10 +-
 .../ec2_templates/jupyter/spark_cluster.json       |   8 +-
 .../examples/ec2_templates/rstudio/EMR.json        |  16 +-
 .../examples/ec2_templates/rstudio/EMR_spot.json   |  20 +--
 .../ec2_templates/rstudio/rstudio-notebook.json    |  10 +-
 .../ec2_templates/rstudio/spark_cluster.json       |   8 +-
 .../examples/ec2_templates/tensor/EMR.json         |  16 +-
 .../examples/ec2_templates/tensor/EMR_spot.json    |  20 +--
 .../ec2_templates/tensor/spark_cluster.json        |   8 +-
 .../ec2_templates/tensor/tensor-notebook.json      |  10 +-
 .../examples/ec2_templates/zeppelin/EMR.json       |  16 +-
 .../examples/ec2_templates/zeppelin/EMR_spot.json  |  20 +--
 .../ec2_templates/zeppelin/spark_cluster.json      |   8 +-
 .../ec2_templates/zeppelin/zeppelin-notebook.json  |   8 +-
 .../gcp_templates/deeplearning/dataproc.json       |  12 +-
 .../deeplearning/deeplearning-notebook.json        |  10 +-
 .../gcp_templates/deeplearning/spark_cluster.json  |   8 +-
 .../examples/gcp_templates/jupyter/dataproc.json   |  12 +-
 .../gcp_templates/jupyter/jupyter-notebook.json    |  10 +-
 .../gcp_templates/jupyter/spark_cluster.json       |   8 +-
 .../examples/gcp_templates/rstudio/dataproc.json   |  12 +-
 .../gcp_templates/rstudio/rstudio-notebook.json    |  10 +-
 .../gcp_templates/rstudio/spark_cluster.json       |   8 +-
 .../examples/gcp_templates/tensor/dataproc.json    |  12 +-
 .../gcp_templates/tensor/spark_cluster.json        |   8 +-
 .../gcp_templates/tensor/tensor-notebook.json      |  10 +-
 .../examples/gcp_templates/zeppelin/dataproc.json  |  12 +-
 .../gcp_templates/zeppelin/spark_cluster.json      |   8 +-
 .../gcp_templates/zeppelin/zeppelin-notebook.json  |   8 +-
 .../deeplearning/template_preparation_tensor.ipynb |  10 +-
 .../template_visualization_tensor.ipynb            |   6 +-
 .../tensor/template_preparation_tensor.ipynb       |  10 +-
 .../tensor/template_visualization_tensor.ipynb     |   6 +-
 integration-tests/pom.xml                          |   8 +-
 .../cloud/VirtualMachineStatusChecker.java         |  12 +-
 .../automation/cloud/aws/AmazonHelper.java         |   7 +-
 .../automation/cloud/aws/AmazonInstanceState.java  |   0
 .../automation/cloud/azure/AzureHelper.java        |   0
 .../automation/cloud/gcp/GcpHelper.java            |  13 +-
 .../automation/cloud/gcp/GcpInstanceState.java     |   0
 .../automation/docker/AckStatus.java               |   0
 .../automation/docker/Bridge.java                  |   0
 .../automation/docker/Docker.java                  |   0
 .../automation/docker/DockerContainer.java         |   0
 .../automation/docker/HostConfig.java              |   0
 .../automation/docker/Labels.java                  |   0
 .../automation/docker/NetworkSettings.java         |   0
 .../automation/docker/Networks.java                |   0
 .../automation/docker/SSHConnect.java              |   7 +-
 .../automation/exceptions/CloudException.java      |   0
 .../automation/exceptions/DockerException.java     |   0
 .../automation/exceptions/JenkinsException.java    |   0
 .../automation/exceptions/LoadFailException.java   |   0
 .../automation/helper/CloudHelper.java             |  21 ++-
 .../automation/helper/CloudProvider.java           |   0
 .../automation/helper/ConfigPropertyValue.java     | 178 ++++++++++-----------
 .../automation/helper/NamingHelper.java            |   0
 .../automation/helper/PropertiesResolver.java      |   0
 .../automation/helper/WaitForStatus.java           |   0
 .../{dlab => datalab}/automation/http/ApiPath.java |   0
 .../automation/http/ContentType.java               |   0
 .../automation/http/HttpRequest.java               |   0
 .../automation/http/HttpStatusCode.java            |   0
 .../jenkins/JenkinsConfigProperties.java           |   0
 .../jenkins/JenkinsResponseElements.java           |   0
 .../automation/jenkins/JenkinsService.java         |   0
 .../automation/jenkins/JenkinsUrls.java            |   0
 .../automation/model/CreateNotebookDto.java        |   0
 .../automation/model/DeployClusterDto.java         |   0
 .../automation/model/DeployDataProcDto.java        |   0
 .../automation/model/DeployEMRDto.java             |   0
 .../automation/model/DeploySparkDto.java           |   0
 .../automation/model/ExploratoryImageDto.java      |   0
 .../automation/model/ImageDto.java                 |   0
 .../automation/model/JsonMapperDto.java            |   0
 .../{dlab => datalab}/automation/model/Lib.java    |   0
 .../automation/model/LoginDto.java                 |   0
 .../automation/model/NotebookConfig.java           |   0
 .../automation/test/TestCallable.java              |  23 ++-
 .../automation/test/TestDataEngineService.java     |  11 +-
 .../automation/test/TestServices.java              |  13 +-
 .../test/libs/LibraryNotFoundException.java        |   0
 .../automation/test/libs/LibsHelper.java           |   6 +-
 .../automation/test/libs/TestDescription.java      |   0
 .../automation/test/libs/TestLibGroupStep.java     |   0
 .../automation/test/libs/TestLibInstallStep.java   |   6 +-
 .../automation/test/libs/TestLibListStep.java      |   0
 .../automation/test/libs/TestLibStep.java          |   0
 .../test/libs/models/LibInstallRequest.java        |   0
 .../test/libs/models/LibSearchRequest.java         |   0
 .../test/libs/models/LibStatusResponse.java        |   0
 .../test/libs/models/LibToSearchData.java          |   0
 .../automation/test/libs/models/LibraryStatus.java |   0
 .../core/commands/CommandExecutorMockAsync.java    |   1 +
 .../backendapi/core/commands/DockerAction.java     |  25 +--
 .../response/handlers/ProjectCallbackHandler.java  |  25 +--
 .../response/handlers/ResourceCallbackHandler.java |   3 +-
 .../backendapi/resources/ProjectResource.java      |  39 +++--
 .../datalab/backendapi/service/ProjectService.java |  10 +-
 .../service/impl/ProjectServiceImpl.java           |  71 ++++----
 .../mock_response/aws/project_recreate.json        |  57 +++++++
 .../mock_response/azure/project_recreate.json      |  57 +++++++
 .../mock_response/gcp/project_recreate.json        |  57 +++++++
 services/self-service/pom.xml                      |   2 +-
 services/self-service/self-service.yml             |   2 +-
 .../datalab/backendapi/domain/AuditActionEnum.java |   3 +-
 .../backendapi/resources/ProjectResource.java      |  18 +++
 .../datalab/backendapi/service/ProjectService.java |  22 +--
 .../service/impl/ProjectServiceImpl.java           |  34 +++-
 .../app/resources/scheduler/scheduler.component.ts |   2 +-
 .../backendapi/resources/ProjectResourceTest.java  |  21 ++-
 .../backendapi/service/ProjectServiceImplTest.java |  51 ++++--
 173 files changed, 875 insertions(+), 553 deletions(-)


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