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/02/20 10:38:00 UTC
[incubator-dlab] branch DLAB-1476 updated (518c54c -> 620ee0f)
This is an automated email from the ASF dual-hosted git repository.
dgnatyshyn pushed a change to branch DLAB-1476
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git.
discard 518c54c Added dir option to mock
add 5014ead [DLAB-1522]: Removed libs request after libs window is closed (#587)
add 3209cd4 [DLAB-1430]: SSL certs added to post-deployment configuration script
add 9614361 Merge pull request #589 from apache/DLAB-1430
add 5b8e867 [DLAB-1515] Fixed issue with disappearing notebooks templates
add 8471546 [DLAB-22]: Added hint about failed computational resource in show active mode (#590)
add fcd9794 [DLAB-1516]: Subnet search should be by CIDR according to VPC ID
add 8f13d95 Merge pull request #591 from apache/DLAB-1516
add 5adc03f [DLAB-1521] Added notebook name as unique parameter per project while creating notebook
add 9553ac2 DLAB-1532 added endpoint_name to shared container name
add 49ff0f1 DLAB-1532 added endpoint_name to container name
add c129b0c Merge pull request #592 from leonidfrolov/DLAB-1532
add 4b12539 [DLAB-1535] Fixed issue with project filter on Billing page for Edges
add 9b55558 [DLAB-1522]: Made notebook name unique per project (#593)
add f7fdef2 Merge pull request #11 from apache/develop
add 70b9b17 [DLAB-1538]: fixed project creation fails
add 3ceb493 Merge pull request #594 from leonidfrolov/develop
add c32f80d [DLAB-1467]: Added terraform scripts for endpoint deployment on Azure
add c110950 [DLAB-1467]: Added terraform scripts for endpoint deployment on Azure
add ca9ad21 [DLAB-1467]: Added terraform scripts for endpoint deployment on Azure
add c22ecd7 [DLAB-1467]: Added terraform scripts for endpoint deployment on Azure
add 8a7830c [DLAB-1467]: Added terraform scripts for endpoint deployment on Azure
add 7f86e01 [DLAB-1467]: Added terraform scripts for endpoint deployment on Azure
add e19aec1 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add 28dbde9 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add fbc2ed2 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add db9264d [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add d07e834 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add 07e713c [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add 882a9e6 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add f57ea18 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add b39ee4c [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add 15a5288 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add 668ed46 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add 4200b8b [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add f5c21a5 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add b20d09d [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add 96ce0cb [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add 853a083 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add ae860d9 Added missed parameters
add 3f06079 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add 5a183c6 Merge remote-tracking branch 'origin/DLAB-1467' into DLAB-1467
add 0b16e34 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add fc05b59 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add d42fe44 [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add 3d65876 Added azure auth file config
add ca182bc Merge remote-tracking branch 'origin/DLAB-1467' into DLAB-1467
add fc22e2a [DLAB-1467]: Added terraform scripts for deploying DLab endpoint
add 596df9f Merge branch 'develop' of github.com:apache/incubator-dlab into DLAB-1467
add 43582b5 [DLAB-1467]: debug
add d235af9 [DLAB-1467]: debug
add 549e5ef Added conf_cloud_provider parameter
add f4dfe74 Merge remote-tracking branch 'origin/DLAB-1467' into DLAB-1467
add fefdf67 Added ldap parameters
add 9882030 Merge remote-tracking branch 'origin/DLAB-1467' into DLAB-1467
add ed9f676 [DLAB-1467]: added datalake_enabled parameter
add e77d9f0 Added azure auth file while notebook configure action
add 4349c4d Merge remote-tracking branch 'origin/DLAB-1467' into DLAB-1467
add a295241 [DLAB-1467]: added datalake_enabled parameter
add 358f986 Merge pull request #595 from apache/DLAB-1467
add bbf80c7 [DLAB-1544]: Changed behavior of Show Active button for notebooks (#596)
add ef8a2bb [DLAB-1536]: removed bucket creation
add 15354dc Merge pull request #597 from apache/DLAB-1536
add 0db6391 DLAB-1530 Added Endpoint_tag for EMR
add 1417c34 DLAB-1530 removed unnecessary back slash
add 35921fb Merge pull request #598 from leonidfrolov/DLAB-1530
add 58e121d [DLAB-1492]: added missed notebooks images
add 3dc8216 Merge pull request #599 from apache/DLAB-1492
add fa9b02f DLAB-1532 added endpoint name to user container name that is written to result.json
add 0a6096e Merge branch 'develop' of https://github.com/leonidfrolov/incubator-dlab into develop
add 7caab91 Merge pull request #600 from leonidfrolov/develop
add 71bf40d DLAB-1547 fixed error with emr creation
add 08a5fb2 Merge pull request #601 from leonidfrolov/DLAB-1530
add 984cded [DLAB-1543]: Fixed issues on billing page (#602)
add dcf62cb DLAB-24 defined function to get index from service account name and changed all functions that use service account email
add 56f218f DLAB-24 added unique index to ssn service account id and role when creating and terminating ssn
add b50d2f6 DLAB-24 added sbn argument to create instance script
add a45188f DLAB-24 updated get_index_by_service_account_name function
add 4d1a702 DLAB-24 removed excessive sbn
add 3f6abc7 DLAB-24 added print statement for testing
add 6cedabe DLAB-24 changed get index function to use sbn, accountID is not in format sbnindex instead of sbn-index, as when index is not defined sbn- is not a valid accountID
add f6dd83a DLAB-24 added print statement for testing
add fc94a86 DLAB-24 removed print statement for testing
add f059e53 DLAB-24 added page size for request in get_index_by_service_account_name
add f2cc806 DLAB-24 updated get_index_by_service_account_name function to use page token
add 5f6587e DLAB-24 added print statement for testing
add f5b6405 DLAB-24 made index for ssn to include "-" .e.g. -5354s
add 0d732ab DLAB-24 added unique index for project creation and termination
add 73b6798 DLAB-24 removed -
add 662cf2e DLAB-24 replaced - with _
add f64ff69 DLAB-24 removed "_" from the index
add ecaf70c DLAB-24 removed print in meta.lib, changed print in action lib
add 541c47c DLAB-24 added check for get_service_account if unique_index exists and added "-" before the index
add 25b561c DLAB-24 get_index_by_service_account_name doesnt need service base name anymore
add 11f7e69 DLAB-24 to generate service account email new variable is used
add ae55d2c DLAB-24 added '-' before index in ssn-role name
add 992804f DLAB-24 rearranged structure of edge and ps role names
add 3eac3b6 DLAB-24 added prints for testing
add 7d1d9d7 DLAB-24 moved some variable definition, removed testing prints, removed unused lines
add dc78929 DLAB-24 fixed error
add 9356de7 DLAB-24 fixed error
add c7d72d2 DLAB-24 fixed error
add a4ef0e8 DLAB-24 added print statements in get_index_by_service_account_name function
add fc3d5c7 DLAB-24 defined necessary variable
add 0dfcb2b DLAB-24 changed necessary variable
add df26a38 DLAB-24 added variable, removed uuid generation from fabfile
add 61440c3 DLAB-24 changed print in get_index_by_service_name
add b0b0489 DLAB-24 changed print in get_index_by_service_name
add d774cca DLAB-24 returned deleted lines
add 593b21f DLAB-24 replaced service_id_variable with service_base_name
add a938391 DLAB-24 distinguished ssn_unique_index
add 512926e DLAB-24 changed print in get_index... function
add a38e329 DLAB-24 fixed error
add 002b33c DLAB-24 removed unnecessary lib
add 75a0636 Merge pull request #603 from leonidfrolov/DLAB-24
add abae905 DLAB-24 fixed mistake
add e342f01 Merge pull request #604 from leonidfrolov/DLAB-24
add 134fe6e [Dlab-1422] The endpoint URL verification (#588)
add 5e25a7d [DLAB-1527]: Rarely notebook is not created successful from the first attempt fixed
add 6b0c738 [DLAB-1527]: fixes for RedHat implemented
add 44d2823 [DLAB-1527]: fixes for RedHat updated
add 0a9f4f6 Merge pull request #605 from apache/DLAB-1527
add 5fe0f7c [DLAB-1527]: function for apt-get/yum fixed
add 1fed9bd [DLAB-1527]: function for apt-get/yum fixed
add 4e2365a Merge pull request #606 from apache/DLAB-1527
add 0ebbb5c [DLAB-1549]: Prevented lib_groups requests if library managements popup is not opened (#607)
new e472804 Merge branch 'DLAB-1476' of https://github.com/apache/incubator-dlab into DLAB-1476
new 620ee0f [DLAB-1476]: Added demo screenshots for links
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (518c54c)
\
N -- N -- N refs/heads/DLAB-1476 (620ee0f)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
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.
Summary of changes:
.../scripts/post-deployment_configuration.py | 69 +++++-------
.../src/general/conf/dlab.ini | 2 +-
.../src/general/lib/gcp/actions_lib.py | 41 ++++---
.../src/general/lib/gcp/meta_lib.py | 56 +++++++++-
.../src/general/lib/os/debian/common_lib.py | 42 +++++--
.../src/general/lib/os/debian/edge_lib.py | 7 +-
.../src/general/lib/os/debian/notebook_lib.py | 64 ++++++-----
.../src/general/lib/os/debian/ssn_lib.py | 19 ++--
.../src/general/lib/os/fab.py | 5 +-
.../src/general/lib/os/redhat/common_lib.py | 44 ++++++--
.../src/general/lib/os/redhat/edge_lib.py | 8 +-
.../src/general/lib/os/redhat/notebook_lib.py | 60 +++++-----
.../src/general/lib/os/redhat/ssn_lib.py | 21 ++--
.../scripts/aws/dataengine-service_configure.py | 2 +-
.../scripts/aws/dataengine-service_create.py | 4 +-
.../scripts/aws/dataengine-service_prepare.py | 6 +-
.../src/general/scripts/aws/dataengine_prepare.py | 4 +-
.../src/general/scripts/aws/project_prepare.py | 2 +-
.../src/general/scripts/aws/ssn_configure.py | 4 +
.../src/general/scripts/azure/edge_configure.py | 4 +-
.../src/general/scripts/azure/edge_prepare.py | 2 +-
.../src/general/scripts/azure/project_prepare.py | 4 +-
.../src/general/scripts/azure/ssn_configure.py | 4 +
.../general/scripts/gcp/common_create_instance.py | 3 +-
.../scripts/gcp/common_create_service_account.py | 10 +-
.../general/scripts/gcp/common_prepare_notebook.py | 4 +-
.../scripts/gcp/dataengine-service_configure.py | 6 +-
.../scripts/gcp/dataengine-service_prepare.py | 6 +-
.../src/general/scripts/gcp/dataengine_prepare.py | 8 +-
.../src/general/scripts/gcp/edge_configure.py | 30 ++---
.../src/general/scripts/gcp/edge_terminate.py | 2 +-
.../src/general/scripts/gcp/project_prepare.py | 57 +++++-----
.../src/general/scripts/gcp/project_terminate.py | 10 +-
.../src/general/scripts/gcp/ssn_configure.py | 26 +++--
.../src/general/scripts/gcp/ssn_prepare.py | 21 ++--
.../scripts/gcp/ssn_terminate_gcp_resources.py | 2 +-
infrastructure-provisioning/src/ssn/fabfile.py | 7 +-
.../terraform/azure/endpoint/main/instance.tf | 70 ++++++++++++
.../main/s3.tf => azure/endpoint/main/main.tf} | 28 +++--
.../terraform/azure/endpoint/main/network.tf | 98 +++++++++++++++++
.../{aws => azure}/endpoint/main/outputs.tf | 8 +-
.../terraform/azure/endpoint/main/sg.tf | 72 ++++++++++++
.../{aws => azure}/endpoint/main/variables.tf | 57 ++++------
.../terraform/bin/deploy/endpoint_fab.py | 121 ++++++++-------------
.../terraform/bin/deploy/provisioning.yml | 1 +
infrastructure-provisioning/terraform/bin/dlab.py | 74 ++++++++++++-
.../terraform/gcp/endpoint/main/buckets.tf | 35 ------
.../terraform/gcp/endpoint/main/variables.tf | 4 -
.../dlab/login/resources/css/login.css | 1 +
services/{billing-aws => billing-azure}/Dockerfile | 4 +-
.../billing/gcp/service/BillingServiceImpl.java | 2 +-
.../epam/dlab/billing/gcp/util/BillingUtils.java | 6 +-
.../epam/dlab/dto/azure/AzureCloudSettings.java | 16 +++
services/provisioning-service/provisioning.yml | 1 +
.../epam/dlab/backendapi/CloudConfiguration.java | 1 +
...rovisioningServiceApplicationConfiguration.java | 2 +-
.../backendapi/core/commands/CommandBuilder.java | 11 +-
.../core/commands/CommandExecutorMockAsync.java | 6 +-
.../backendapi/core/commands/RunDockerCommand.java | 5 +
.../response/handlers/ComputationalConfigure.java | 42 ++++---
.../resources/GitExploratoryResource.java | 7 ++
.../dlab/backendapi/resources/ImageResource.java | 11 +-
.../dlab/backendapi/resources/LibraryResource.java | 11 +-
.../backendapi/resources/base/EdgeService.java | 8 ++
.../resources/base/ExploratoryService.java | 8 ++
.../resources/base/InfrastructureService.java | 43 ++++----
.../service/impl/CheckInactivityServiceImpl.java | 23 +++-
.../service/impl/ProjectServiceImpl.java | 13 ++-
.../service/impl/SparkClusterService.java | 27 ++++-
.../epam/dlab/backendapi/dao/ExploratoryDAO.java | 29 ++++-
.../epam/dlab/backendapi/domain/EndpointDTO.java | 8 +-
.../backendapi/resources/EndpointResource.java | 3 +-
.../backendapi/resources/ExploratoryResource.java | 4 +
...ateFormDTO.java => ExploratoryCreatePopUp.java} | 20 ++--
.../backendapi/service/ExploratoryService.java | 3 +
.../service/impl/EndpointServiceImpl.java | 1 +
.../service/impl/ExploratoryServiceImpl.java | 16 +++
.../services/applicationServiceFacade.service.ts | 7 ++
.../src/app/core/services/userResource.service.ts | 8 ++
.../webapp/src/app/core/util/sortUtils.ts | 5 +
.../reporting-grid/reporting-grid.component.html | 2 +-
.../reporting-grid/reporting-grid.component.scss | 4 +
.../cluster-details/cluster-details.component.html | 6 +-
.../cluster-details/cluster-details.component.ts | 23 +++-
.../computational-resource-create.model.ts | 2 +-
.../computational-resource.model.ts} | 30 +++--
.../create-environment.component.html | 3 +-
.../create-environment.component.ts | 19 +++-
.../demo-picture-dialog.component.html} | 12 +-
.../demo-picture-dialog.component.scss} | 6 +
.../demo-picture-dialog.component.ts} | 10 +-
.../index.ts | 12 +-
.../detail-dialog/detail-dialog.component.html | 8 +-
.../detail-dialog/detail-dialog.component.ts | 32 +++++-
.../install-libraries.component.scss | 9 ++
.../install-libraries.component.ts | 12 +-
.../filter-libs.model.ts => notebook.model.ts} | 30 +++--
.../src/app/resources/resources-grid/index.ts | 2 +
.../resources-grid/resources-grid.component.scss | 4 +
.../resources-grid/resources-grid.component.ts | 49 +++++++--
.../edge-action-dialog.component.ts | 24 ++--
.../webapp/src/assets/img/demo/Jupyter.png | Bin 0 -> 115150 bytes
.../webapp/src/assets/img/demo/Rstudio.png | Bin 0 -> 210897 bytes
.../webapp/src/assets/img/demo/handoop_cluster.png | Bin 0 -> 105996 bytes
.../webapp/src/assets/img/demo/spark_cluster.png | Bin 0 -> 75258 bytes
.../webapp/src/assets/img/demo/tensorboard.png | Bin 0 -> 61639 bytes
.../resources/webapp/src/assets/img/demo/ungit.png | Bin
.../webapp/src/assets/img/demo/zeppeling.png | Bin 0 -> 146524 bytes
.../webapp/src/assets/styles/_dialogs.scss | 8 ++
.../resources/webapp/src/assets/styles/_theme.scss | 36 ++----
.../webapp/src/dictionary/azure.dictionary.ts | 2 +-
111 files changed, 1321 insertions(+), 610 deletions(-)
create mode 100644 infrastructure-provisioning/terraform/azure/endpoint/main/instance.tf
rename infrastructure-provisioning/terraform/{aws/endpoint/main/s3.tf => azure/endpoint/main/main.tf} (59%)
create mode 100644 infrastructure-provisioning/terraform/azure/endpoint/main/network.tf
copy infrastructure-provisioning/terraform/{aws => azure}/endpoint/main/outputs.tf (81%)
create mode 100644 infrastructure-provisioning/terraform/azure/endpoint/main/sg.tf
copy infrastructure-provisioning/terraform/{aws => azure}/endpoint/main/variables.tf (75%)
delete mode 100644 infrastructure-provisioning/terraform/gcp/endpoint/main/buckets.tf
copy services/{billing-aws => billing-azure}/Dockerfile (92%)
copy services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/{ExploratoryImageCreateFormDTO.java => ExploratoryCreatePopUp.java} (74%)
copy services/self-service/src/main/resources/webapp/src/app/resources/{exploratory/install-libraries/filter-libs.model.ts => computational/computational-resource.model.ts} (63%)
copy services/self-service/src/main/resources/webapp/src/app/{shared/modal-dialog/progress-dialog/progress-dialog.component.html => resources/exploratory/demo-picture-dialog/demo-picture-dialog.component.html} (73%)
copy services/self-service/src/main/resources/webapp/src/app/{swagger/swagger.component.scss => resources/exploratory/demo-picture-dialog/demo-picture-dialog.component.scss} (95%)
copy services/self-service/src/main/resources/webapp/src/app/resources/exploratory/{ami-create-dialog/ami-create-dialog.component.ts => demo-picture-dialog/demo-picture-dialog.component.ts} (92%)
copy services/self-service/src/main/resources/webapp/src/app/resources/exploratory/{ami-create-dialog => demo-picture-dialog}/index.ts (79%)
copy services/self-service/src/main/resources/webapp/src/app/resources/exploratory/{install-libraries/filter-libs.model.ts => notebook.model.ts} (67%)
create mode 100644 services/self-service/src/main/resources/webapp/src/assets/img/demo/Jupyter.png
create mode 100644 services/self-service/src/main/resources/webapp/src/assets/img/demo/Rstudio.png
create mode 100644 services/self-service/src/main/resources/webapp/src/assets/img/demo/handoop_cluster.png
create mode 100644 services/self-service/src/main/resources/webapp/src/assets/img/demo/spark_cluster.png
create mode 100644 services/self-service/src/main/resources/webapp/src/assets/img/demo/tensorboard.png
copy doc/ungit_push.png => services/self-service/src/main/resources/webapp/src/assets/img/demo/ungit.png (100%)
create mode 100644 services/self-service/src/main/resources/webapp/src/assets/img/demo/zeppeling.png
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 01/02: Merge branch 'DLAB-1476' of
https://github.com/apache/incubator-dlab into DLAB-1476
Posted by dg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dgnatyshyn pushed a commit to branch DLAB-1476
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit e4728048cf9af01cca5a279f59c2ea86ad10e2ac
Merge: 0ebbb5c 87b609e
Author: Dmytro Gnatyshyn <di...@ukr.net>
AuthorDate: Wed Feb 19 11:08:25 2020 +0200
Merge branch 'DLAB-1476' of https://github.com/apache/incubator-dlab into DLAB-1476
.../backendapi/core/commands/CommandExecutorMockAsync.java | 11 +++++++++--
.../com/epam/dlab/backendapi/modules/ProductionModule.java | 7 ++++++-
2 files changed, 15 insertions(+), 3 deletions(-)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 02/02: [DLAB-1476]: Added demo screenshots for
links
Posted by dg...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dgnatyshyn pushed a commit to branch DLAB-1476
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 620ee0fc0c2c9fb95ff6a22d38244ae913885dbd
Author: Dmytro Gnatyshyn <di...@ukr.net>
AuthorDate: Thu Feb 20 12:35:20 2020 +0200
[DLAB-1476]: Added demo screenshots for links
---
.../cluster-details/cluster-details.component.html | 6 +-
.../cluster-details/cluster-details.component.ts | 23 ++++-
.../demo-picture-dialog.component.html | 28 ++++++
.../demo-picture-dialog.component.scss | 24 ++++++
.../demo-picture-dialog.component.ts | 94 +++++++++++++++++++++
.../exploratory/demo-picture-dialog/index.ts | 39 +++++++++
.../detail-dialog/detail-dialog.component.html | 8 +-
.../detail-dialog/detail-dialog.component.ts | 32 ++++++-
.../src/app/resources/resources-grid/index.ts | 2 +
.../webapp/src/assets/img/demo/Jupyter.png | Bin 0 -> 115150 bytes
.../webapp/src/assets/img/demo/Rstudio.png | Bin 0 -> 210897 bytes
.../webapp/src/assets/img/demo/handoop_cluster.png | Bin 0 -> 105996 bytes
.../webapp/src/assets/img/demo/spark_cluster.png | Bin 0 -> 75258 bytes
.../webapp/src/assets/img/demo/tensorboard.png | Bin 0 -> 61639 bytes
.../resources/webapp/src/assets/img/demo/ungit.png | Bin 0 -> 98113 bytes
.../webapp/src/assets/img/demo/zeppeling.png | Bin 0 -> 146524 bytes
.../webapp/src/assets/styles/_dialogs.scss | 8 ++
17 files changed, 256 insertions(+), 8 deletions(-)
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.html
index 04ea086..8ce7fed 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.html
@@ -100,8 +100,10 @@
<div class="m-top-10">
<p *ngFor="let item of resource.computational_url" class="ellipsis flex">
<span class="strong">{{ item.description }}:</span>
- <a href="{{item.url}}" target="_blank" matTooltip="{{item.url}}"
- matTooltipPosition="above">{{ item.url }}</a>
+ <a *ngIf="demoMode" href="{{item.url}}" target="_blank" matTooltip="{{item.url}}"
+ matTooltipPosition="above">{{ item.url }}</a>
+ <span *ngIf="demoMode" class="fake-link" (click)="openDemoLink(item.description)" matTooltip="{{item.url}}"
+ matTooltipPosition="above">{{ item.url }}</span>
</p>
</div>
</div>
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
index 75ea01e..d724f71 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
@@ -18,7 +18,7 @@
*/
import { Component, ViewChild, OnInit, Inject } from '@angular/core';
-import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
+import {MatDialogRef, MAT_DIALOG_DATA, MatDialog} from '@angular/material/dialog';
import { FormGroup, FormBuilder } from '@angular/forms';
import { ToastrService } from 'ngx-toastr';
@@ -26,6 +26,7 @@ import { DateUtils, CheckUtils } from '../../../core/util';
import { DataengineConfigurationService } from '../../../core/services';
import { DICTIONARY } from '../../../../dictionary/global.dictionary';
import { CLUSTER_CONFIGURATION } from '../computational-resource-create-dialog/cluster-configuration-templates';
+import {DemoPictureDialogComponent} from '../../exploratory/demo-picture-dialog';
@Component({
selector: 'dlab-cluster-details',
@@ -46,13 +47,15 @@ export class DetailComputationalResourcesComponent implements OnInit {
tooltip: boolean = false;
config: Array<{}> = [];
public configurationForm: FormGroup;
+ private demoMode: boolean = true;
constructor(
@Inject(MAT_DIALOG_DATA) public data: any,
public toastr: ToastrService,
public dialogRef: MatDialogRef<DetailComputationalResourcesComponent>,
private dataengineConfigurationService: DataengineConfigurationService,
- private _fb: FormBuilder
+ private _fb: FormBuilder,
+ private dialog: MatDialog
) { }
ngOnInit() {
@@ -117,4 +120,20 @@ export class DetailComputationalResourcesComponent implements OnInit {
? (control.value && control.value !== null && CheckUtils.isJSON(control.value) ? null : { valid: false })
: null;
}
+
+ private openDemoLink(template) {
+ const demoData = {
+ title: template.slice(0, -3),
+ url: ''
+ };
+
+ if (this.data.resource.image === 'docker.dlab-dataengine') {
+ demoData.url = 'assets/img/demo/spark_cluster.png';
+ } else {
+ demoData.url = 'assets/img/demo/handoop_cluster.png';
+ }
+ this.dialog.open(DemoPictureDialogComponent, { data: demoData, panelClass: 'modal-fullscreen' })
+ .afterClosed().subscribe(() => console.log('done'));
+ }
+
}
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/demo-picture-dialog.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/demo-picture-dialog.component.html
new file mode 100644
index 0000000..a45900a
--- /dev/null
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/demo-picture-dialog.component.html
@@ -0,0 +1,28 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+
+<div class="ami-dialog" id="dialog-box">
+ <header class="dialog-header">
+ <h4 class="modal-title">Demo {{data.title}}</h4>
+ <button type="button" class="close" (click)="dialogRef.close()">×</button>
+ </header>
+ <div class="dialog-content">
+ <img class="demo-picture" src="{{data.url}}" alt="">
+ </div>
+</div>
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/demo-picture-dialog.component.scss b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/demo-picture-dialog.component.scss
new file mode 100644
index 0000000..1668e5f
--- /dev/null
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/demo-picture-dialog.component.scss
@@ -0,0 +1,24 @@
+/*!
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+
+.demo-picture{
+ width: 100%;
+}
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/demo-picture-dialog.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/demo-picture-dialog.component.ts
new file mode 100644
index 0000000..dd13006
--- /dev/null
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/demo-picture-dialog.component.ts
@@ -0,0 +1,94 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import { Component, OnInit, Inject } from '@angular/core';
+import { FormGroup, FormBuilder, Validators } from '@angular/forms';
+import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
+import { ToastrService } from 'ngx-toastr';
+
+import { UserResourceService } from '../../../core/services';
+import { HTTP_STATUS_CODES } from '../../../core/util';
+import { DICTIONARY } from '../../../../dictionary/global.dictionary';
+
+@Component({
+ selector: 'demo-picture-dialog',
+ templateUrl: './demo-picture-dialog.component.html',
+ styleUrls: ['./demo-picture-dialog.component.scss']
+})
+export class DemoPictureDialogComponent implements OnInit {
+ readonly DICTIONARY = DICTIONARY;
+ public notebook: any;
+ public createAMIForm: FormGroup;
+ public provider: string;
+ namePattern = '[-_a-zA-Z0-9]+';
+ delimitersRegex = /[-_]?/g;
+ imagesList: any;
+
+ constructor(
+ @Inject(MAT_DIALOG_DATA) public data: any,
+ public toastr: ToastrService,
+ public dialogRef: MatDialogRef<DemoPictureDialogComponent>,
+ private _userResource: UserResourceService,
+ private _fb: FormBuilder,
+ ) { }
+
+ ngOnInit() {
+ this.notebook = this.data;
+ this.provider = this.data.cloud_provider;
+
+ this.initFormModel();
+ this._userResource.getImagesList(this.data.project).subscribe(res => this.imagesList = res);
+ }
+
+ public assignChanges(data) {
+ this._userResource.createAMI(data).subscribe(
+ response => response.status === HTTP_STATUS_CODES.ACCEPTED && this.dialogRef.close(),
+ error => this.toastr.error(error.message || `Image creation failed!`, 'Oops!'));
+ }
+
+ private initFormModel(): void {
+ this.createAMIForm = this._fb.group({
+ name: ['', [Validators.required, Validators.pattern(this.namePattern), this.providerMaxLength, this.checkDuplication.bind(this)]],
+ description: [''],
+ exploratory_name: [this.notebook.name]
+ });
+ }
+
+ private providerMaxLength(control) {
+ if (control && control.value)
+ return control.value.length <= 10 ? null : { valid: false };
+ }
+
+ private checkDuplication(control) {
+ if (control.value)
+ return this.isDuplicate(control.value) ? { duplication: true } : null;
+ }
+
+ private isDuplicate(value: string) {
+ for (let index = 0; index < this.imagesList.length; index++) {
+ if (this.delimitersFiltering(value) === this.delimitersFiltering(this.imagesList[index].name))
+ return true;
+ }
+ return false;
+ }
+
+ private delimitersFiltering(resource): string {
+ return resource.replace(this.delimitersRegex, '').toString().toLowerCase();
+ }
+}
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/index.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/index.ts
new file mode 100644
index 0000000..dd32784
--- /dev/null
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/demo-picture-dialog/index.ts
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { MaterialModule } from '../../../shared/material.module';
+
+import { DemoPictureDialogComponent } from './demo-picture-dialog.component';
+export * from './demo-picture-dialog.component';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ MaterialModule,
+ FormsModule,
+ ReactiveFormsModule
+ ],
+ declarations: [DemoPictureDialogComponent],
+ entryComponents: [DemoPictureDialogComponent],
+ exports: [DemoPictureDialogComponent]
+})
+export class DemoPictureDialogModule {}
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
index 4977b22..1950044 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
@@ -48,14 +48,18 @@
<div class="links_block">
<p *ngFor="let item of notebook.url">
<span class="description">{{item.description}}: </span>
- <a class="ellipsis" matTooltip="{{item.url}}" matTooltipPosition="above" href="{{item.url}}"
+ <a *ngIf="!demoMode" class="ellipsis" matTooltip="{{item.url}}" matTooltipPosition="above" href="{{item.url}}"
target="_blank">
{{item.url}}
</a>
+ <span *ngIf="demoMode" (click)="openDemoLink(item.description)" class="ellipsis fake-link" matTooltip="{{item.url}}" matTooltipPosition="above">
+ {{item.url}}
+ </span>
</p>
+
</div>
<p class="flex" *ngIf="notebook.username">Node User: <span
- class="strong">{{ notebook.username }}</span></p>
+ class="strong" >{{ notebook.username }}</span></p>
<p class="flex" *ngIf="notebook.password">Password: <span
class="strong">{{ notebook.password }}</span></p>
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
index 1fa43ca..6aae7ca 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
@@ -20,12 +20,14 @@
import { Component, ViewChild, OnInit, Inject } from '@angular/core';
import { FormGroup, FormBuilder } from '@angular/forms';
import { ToastrService } from 'ngx-toastr';
-import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
+import {MatDialogRef, MAT_DIALOG_DATA, MatDialog} from '@angular/material/dialog';
import { DateUtils, CheckUtils } from '../../../core/util';
import { DICTIONARY } from '../../../../dictionary/global.dictionary';
import { DataengineConfigurationService } from '../../../core/services';
import { CLUSTER_CONFIGURATION } from '../../computational/computational-resource-create-dialog/cluster-configuration-templates';
+import {AmiCreateDialogComponent} from '../ami-create-dialog';
+import {DemoPictureDialogComponent} from '../demo-picture-dialog';
@Component({
selector: 'detail-dialog',
@@ -41,17 +43,20 @@ export class DetailDialogComponent implements OnInit {
upTimeSince: string = '';
tooltip: boolean = false;
config: Array<{}> = [];
+ demoMode: boolean = true;
public configurationForm: FormGroup;
@ViewChild('configurationNode', { static: false }) configuration;
+
constructor(
@Inject(MAT_DIALOG_DATA) public data: any,
private dataengineConfigurationService: DataengineConfigurationService,
private _fb: FormBuilder,
public dialogRef: MatDialogRef<DetailDialogComponent>,
- public toastr: ToastrService
+ public toastr: ToastrService,
+ private dialog: MatDialog
) {
this.notebook = data;
}
@@ -120,4 +125,27 @@ export class DetailDialogComponent implements OnInit {
? (control.value && control.value !== null && CheckUtils.isJSON(control.value) ? null : { valid: false })
: null;
}
+
+ private openDemoLink(template) {
+ const demoData = {
+ title: template,
+ url: ''
+ };
+
+ if (template === 'Jupyter') {
+ demoData.url = 'assets/img/demo/Jupyter.png';
+ } else if (template === 'Ungit') {
+ demoData.url = 'assets/img/demo/ungit.png';
+ } else if (template === 'TensorBoard') {
+ demoData.url = 'assets/img/demo/tensorboard.png';
+ } else if (template === 'RStudio') {
+ demoData.url = 'assets/img/demo/Rstudio.png';
+ } else if (template === 'Apache Zeppelin') {
+ demoData.url = 'assets/img/demo/zeppeling.png';
+ } else {
+ demoData.url = 'assets/img/demo/Jupyter.png';
+ }
+ this.dialog.open(DemoPictureDialogComponent, { data: demoData, panelClass: 'modal-fullscreen' })
+ .afterClosed().subscribe(() => console.log('done'));
+ }
}
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts
index 39a9732..e5ab331 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts
@@ -32,6 +32,7 @@ import { InstallLibrariesModule } from '../exploratory/install-libraries';
import { AmiCreateDialogModule } from '../exploratory/ami-create-dialog';
import { SchedulerModule } from '../scheduler';
import { UnderscorelessPipeModule } from '../../core/pipes/underscoreless-pipe';
+import {DemoPictureDialogModule} from '../exploratory/demo-picture-dialog';
@NgModule({
imports: [
@@ -47,6 +48,7 @@ import { UnderscorelessPipeModule } from '../../core/pipes/underscoreless-pipe';
InstallLibrariesModule,
SchedulerModule,
AmiCreateDialogModule,
+ DemoPictureDialogModule,
UnderscorelessPipeModule,
MaterialModule
],
diff --git a/services/self-service/src/main/resources/webapp/src/assets/img/demo/Jupyter.png b/services/self-service/src/main/resources/webapp/src/assets/img/demo/Jupyter.png
new file mode 100644
index 0000000..6fea12e
Binary files /dev/null and b/services/self-service/src/main/resources/webapp/src/assets/img/demo/Jupyter.png differ
diff --git a/services/self-service/src/main/resources/webapp/src/assets/img/demo/Rstudio.png b/services/self-service/src/main/resources/webapp/src/assets/img/demo/Rstudio.png
new file mode 100644
index 0000000..45f7367
Binary files /dev/null and b/services/self-service/src/main/resources/webapp/src/assets/img/demo/Rstudio.png differ
diff --git a/services/self-service/src/main/resources/webapp/src/assets/img/demo/handoop_cluster.png b/services/self-service/src/main/resources/webapp/src/assets/img/demo/handoop_cluster.png
new file mode 100644
index 0000000..741f9b1
Binary files /dev/null and b/services/self-service/src/main/resources/webapp/src/assets/img/demo/handoop_cluster.png differ
diff --git a/services/self-service/src/main/resources/webapp/src/assets/img/demo/spark_cluster.png b/services/self-service/src/main/resources/webapp/src/assets/img/demo/spark_cluster.png
new file mode 100644
index 0000000..79999b9
Binary files /dev/null and b/services/self-service/src/main/resources/webapp/src/assets/img/demo/spark_cluster.png differ
diff --git a/services/self-service/src/main/resources/webapp/src/assets/img/demo/tensorboard.png b/services/self-service/src/main/resources/webapp/src/assets/img/demo/tensorboard.png
new file mode 100644
index 0000000..5387534
Binary files /dev/null and b/services/self-service/src/main/resources/webapp/src/assets/img/demo/tensorboard.png differ
diff --git a/services/self-service/src/main/resources/webapp/src/assets/img/demo/ungit.png b/services/self-service/src/main/resources/webapp/src/assets/img/demo/ungit.png
new file mode 100644
index 0000000..aa7fa9f
Binary files /dev/null and b/services/self-service/src/main/resources/webapp/src/assets/img/demo/ungit.png differ
diff --git a/services/self-service/src/main/resources/webapp/src/assets/img/demo/zeppeling.png b/services/self-service/src/main/resources/webapp/src/assets/img/demo/zeppeling.png
new file mode 100644
index 0000000..ed71f56
Binary files /dev/null and b/services/self-service/src/main/resources/webapp/src/assets/img/demo/zeppeling.png differ
diff --git a/services/self-service/src/main/resources/webapp/src/assets/styles/_dialogs.scss b/services/self-service/src/main/resources/webapp/src/assets/styles/_dialogs.scss
index f1fa89f..6acdc96 100644
--- a/services/self-service/src/main/resources/webapp/src/assets/styles/_dialogs.scss
+++ b/services/self-service/src/main/resources/webapp/src/assets/styles/_dialogs.scss
@@ -335,6 +335,14 @@ mat-dialog-container {
top: 49%;
}
+.fake-link{
+ color: #35afd5;
+ text-decoration: none;
+ transition: all 0.45s ease-in-out;
+ line-height: 19px;
+ cursor: pointer;
+}
+
@media screen and (max-width: 1280px) {
.modal-fullscreen {
max-width: 100vw !important;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org