You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by an...@apache.org on 2019/06/18 17:47:25 UTC
[incubator-dlab] 03/06: [DLAB-805]: preparation model cleanup
This is an automated email from the ASF dual-hosted git repository.
ankovalyshyn pushed a commit to branch feature/projects
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 6c47e51765034751f8a561ffa37a2420cee3231b
Author: Andriana Kovalyshyn <An...@epam.com>
AuthorDate: Tue Jun 18 20:44:15 2019 +0300
[DLAB-805]: preparation model cleanup
---
.../computational-resource-create.model.ts | 206 ++++-----------------
1 file changed, 41 insertions(+), 165 deletions(-)
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create.model.ts b/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create.model.ts
index 5e7b45d..cf642a4 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create.model.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/computational/computational-resource-create-dialog/computational-resource-create.model.ts
@@ -18,186 +18,62 @@
*/
/* tslint:disable:no-empty */
+import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { UserResourceService } from '../../../core/services';
-import { ComputationalResourceImage,
- ComputationalResourceApplicationTemplate,
- ResourceShapeTypesModel } from '../../../core/models';
import { DICTIONARY } from '../../../../dictionary/global.dictionary';
-export class ComputationalResourceCreateModel {
+@Injectable()
+export class ComputationalResourceModel {
- confirmAction: Function;
- selectedItemChanged: Function;
+ constructor(private userResourceService: UserResourceService) { }
- computational_resource_alias: string;
- computational_resource_count: number;
- computational_resource_instance_shape: string;
- computational_resource_slave_shape: string;
- notebook_name: string;
- emr_slave_instance_spot: boolean;
- emr_slave_instance_price: number;
- preemptible_inst: number;
- config: any;
+ public createComputationalResource(parameters, image, env, spot): Observable<{}> {
+ const config = parameters.configuration_parameters ? JSON.parse(parameters.configuration_parameters) : null;
- selectedItem: ComputationalResourceApplicationTemplate = new ComputationalResourceApplicationTemplate({},
- new ResourceShapeTypesModel({}), '', '', '');
- selectedImage: ComputationalResourceImage;
- resourceImages: Array<ComputationalResourceImage> = [];
- templates: Array<ComputationalResourceApplicationTemplate> = [];
-
- availableTemplates: boolean = false;
- private userResourceService: UserResourceService;
- private continueWith: Function;
-
- static getDefault(userResourceService): ComputationalResourceCreateModel {
- return new ComputationalResourceCreateModel('', 0, '', '', '', () => { }, () => { }, null, null, userResourceService);
- }
-
- constructor(
- computational_resource_alias: string,
- computational_resource_count: number,
- computational_resource_master_shape: string,
- computational_resource_slave_shape: string,
- notebook_name: string,
- fnProcessResults: any,
- fnProcessErrors: any,
- selectedItemChanged: Function,
- continueWith: Function,
- userResourceService: UserResourceService
- ) {
- this.notebook_name = notebook_name;
- this.userResourceService = userResourceService;
- this.selectedItemChanged = selectedItemChanged;
- this.continueWith = continueWith;
- this.prepareModel(fnProcessResults, fnProcessErrors);
- // this.loadTemplates();
- }
-
- public setSelectedItem(item: ComputationalResourceApplicationTemplate) {
- this.selectedItem = item;
- }
-
- public setCreatingParams(
- name: string,
- count: number,
- instance_shape: string,
- shape_slave: string,
- spot: boolean,
- price: number,
- preemptible_inst?: number,
- config?: any
- ): void {
- this.computational_resource_alias = name;
- this.computational_resource_count = count;
- this.computational_resource_instance_shape = instance_shape;
- this.computational_resource_slave_shape = shape_slave;
- this.emr_slave_instance_spot = spot;
- this.emr_slave_instance_price = price;
- this.preemptible_inst = preemptible_inst || 0;
- this.config = config || null;
- }
-
- public loadTemplates(): void {
- if (this.resourceImages.length === 0)
- this.userResourceService.getComputationalTemplates('project-2')
- .subscribe(
- data => {
- let computationalResourceImage;
-
- this.availableTemplates = !!data.length;
-
- for (let parentIndex = 0; parentIndex < data.length; parentIndex++) {
- computationalResourceImage = new ComputationalResourceImage(data[parentIndex]);
-
- if (DICTIONARY.cloud_provider !== 'azure')
- this.resourceImages.push(computationalResourceImage);
- }
-
- if (this.resourceImages.length > 0 && DICTIONARY.cloud_provider !== 'azure') {
- this.setSelectedClusterType(0);
- } else if (DICTIONARY.cloud_provider === 'azure') {
- this.selectedItem = computationalResourceImage || {};
- this.selectedImage = computationalResourceImage || {};
- }
-
- if (this.continueWith)
- this.continueWith();
- });
- }
-
- public setSelectedClusterType(index) {
- this.selectedImage = this.resourceImages[index];
- this.templates = [];
-
- for (let index = 0; index < this.selectedImage.application_templates.length; index++)
- this.templates.push(this.selectedImage.application_templates[index]);
-
- this.setSelectedTemplate(0);
- }
-
- public setSelectedTemplate(index: number): void {
- if (this.templates && this.templates[index]) {
- this.selectedItem = this.templates[index];
- if (this.selectedItemChanged)
- this.selectedItemChanged();
- } else {
- this.selectedItem = null;
- }
- }
-
- public resetModel() {
- this.setSelectedTemplate(0);
- }
-
- private prepareModel(fnProcessResults: any, fnProcessErrors: any): void {
- this.confirmAction = () => this.createComputationalResource()
- .subscribe(
- response => fnProcessResults(response),
- error => fnProcessErrors(error)
- );
- }
-
- private createComputationalResource(): Observable<{}> {
- if (DICTIONARY.cloud_provider === 'aws' && this.selectedImage.image === 'docker.dlab-dataengine-service') {
+ debugger;
+ if (DICTIONARY.cloud_provider === 'aws' && image.image === 'docker.dlab-dataengine-service') {
return this.userResourceService.createComputationalResource_DataengineService({
- name: this.computational_resource_alias,
- emr_instance_count: this.computational_resource_count,
- emr_master_instance_type: this.computational_resource_instance_shape,
- emr_slave_instance_type: this.computational_resource_slave_shape,
- emr_version: this.selectedItem.version,
- notebook_name: this.notebook_name,
- image: this.selectedItem.image,
- template_name: this.selectedItem.template_name,
- emr_slave_instance_spot: this.emr_slave_instance_spot,
- emr_slave_instance_spot_pct_price: this.emr_slave_instance_price,
- config: this.config
+ name: parameters.cluster_alias_name,
+ emr_instance_count: parameters.instance_number,
+ emr_master_instance_type: parameters.shape_master,
+ emr_slave_instance_type: parameters.shape_slave,
+ emr_version: parameters.version,
+ notebook_name: env.name,
+ image: image.image,
+ template_name: image.template_name,
+ emr_slave_instance_spot: spot,
+ emr_slave_instance_spot_pct_price: parameters.emr_slave_instance_price,
+ config: config,
+ project: env.project
});
- } else if (DICTIONARY.cloud_provider === 'gcp' && this.selectedImage.image === 'docker.dlab-dataengine-service') {
+ } else if (DICTIONARY.cloud_provider === 'gcp' && image.image === 'docker.dlab-dataengine-service') {
return this.userResourceService.createComputationalResource_DataengineService({
- name: this.computational_resource_alias,
- template_name: this.selectedItem.template_name,
- notebook_name: this.notebook_name,
- image: this.selectedItem.image,
- dataproc_master_instance_type: this.computational_resource_instance_shape,
- dataproc_slave_instance_type: this.computational_resource_slave_shape,
- dataproc_version: this.selectedItem.version,
+ name: parameters.cluster_alias_name,
+ dataproc_slave_count: (parameters.instance_number - 1),
+ template_name: image.template_name,
+ notebook_name: env.name,
+ image: image.image,
+ dataproc_master_instance_type: parameters.shape_master,
+ dataproc_slave_instance_type: parameters.shape_slave,
+ dataproc_version: image.version,
dataproc_master_count: 1,
- dataproc_slave_count: (this.computational_resource_count - 1),
- dataproc_preemptible_count: this.preemptible_inst,
- config: this.config
+ dataproc_preemptible_count: parameters.preemptible_instance_number,
+ config: config,
+ project: env.project
});
} else {
return this.userResourceService.createComputationalResource_Dataengine({
- name: this.computational_resource_alias,
- dataengine_instance_count: this.computational_resource_count,
- dataengine_instance_shape: this.computational_resource_instance_shape,
- notebook_name: this.notebook_name,
- image: this.selectedImage.image,
- template_name: this.selectedImage.template_name,
- config: this.config
+ name: parameters.cluster_alias_name,
+ dataengine_instance_count: parameters.instance_number,
+ dataengine_instance_shape: parameters.shape_master,
+ notebook_name: env.name,
+ image: image.image,
+ template_name: image.template_name,
+ config: config,
+ project: env.project
});
}
- };
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org