From 2fa013e2aab85f943e75356a4b6743f8efa6e36d Mon Sep 17 00:00:00 2001 From: guochuyicmri Date: Fri, 17 May 2019 13:46:55 +0800 Subject: [PATCH] Service instance lifecycle management Change-Id: Ic4d63972757adf2a21e59a39990d8c8b504fb812 Issue-ID: USECASEUI-218 Signed-off-by: guochuyicmri --- .../services-list/services-list.component.html | 6 +- .../services-list/services-list.component.ts | 89 ++++++++++++--------- .../src/assets/images/loading-animate2.gif | Bin 0 -> 84437 bytes 3 files changed, 52 insertions(+), 43 deletions(-) create mode 100644 usecaseui-portal/src/assets/images/loading-animate2.gif diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.html b/usecaseui-portal/src/app/services/services-list/services-list.component.html index c266c41d..3185869d 100644 --- a/usecaseui-portal/src/app/services/services-list/services-list.component.html +++ b/usecaseui-portal/src/app/services/services-list/services-list.component.html @@ -50,7 +50,7 @@
{{"i18nTextDefine_ServiceType" | translate}} : - +
@@ -654,6 +654,6 @@
- loading -

Please wating¡­¡­

+ loading +

Please wating……

diff --git a/usecaseui-portal/src/app/services/services-list/services-list.component.ts b/usecaseui-portal/src/app/services/services-list/services-list.component.ts index 986cbf50..fb110626 100644 --- a/usecaseui-portal/src/app/services/services-list/services-list.component.ts +++ b/usecaseui-portal/src/app/services/services-list/services-list.component.ts @@ -42,8 +42,8 @@ export class ServicesListComponent implements OnInit { customerSelected2 = {name: null, id: null}; serviceTypeList = []; serviceTypeList2 = []; - serviceTypeSelected = {name:null}; - serviceTypeSelected2 = {name: null}; + serviceTypeSelected = {name:''}; + serviceTypeSelected2 = {name: ''}; serviceTypeSelectedName = ""; templateTypeSelected ="CCVPN"; orchestratorSelected = {name:null,id:null}; @@ -162,17 +162,19 @@ export class ServicesListComponent implements OnInit { console.log("serviceTypeList.length == 0", this.serviceTypeList2); return false; } - this.serviceTypeSelected2 = this.serviceTypeSelected; - this.serviceTypeSelectedName = this.serviceTypeSelected2.name; - console.log(this.customerSelected2); - console.log(this.serviceTypeSelected2); this.getAlltemplates(); }) } + serviceTypeChange(): void { + this.serviceTypeSelected2.name = this.serviceTypeSelectedName + console.log(this.serviceTypeSelectedName) + } createModal(): void { this.isVisible = true; this.getallOrchestrators(); this.customerSelected2 = this.customerSelected; + this.serviceTypeSelectedName = this.serviceTypeSelected.name; + this.serviceTypeSelected2 = Object.assign({},this.serviceTypeSelected); this.getServiceType(this.customerSelected2); } // @@ -250,7 +252,7 @@ export class ServicesListComponent implements OnInit { if (data.status == "FAILED") { this.temParametersTips = true; this.isVisible = true; - console.log("Template parsing failed"); + console.log("Template parsing Failed"); }else { this.isVisible = false; this.temParametersTips = false; @@ -736,7 +738,7 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { 'service-instance-name':obj.service.name, serviceDomain:this.templateTypeSelected, childServiceInstances:[], - status:"Creating", + status:"In Progress", statusClass: 1001, rate:0, tips:"" @@ -746,7 +748,9 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { this.createNotification(templateCreatestarting); let updata = (prodata)=>{ newData.rate = prodata.progress; - newData.tips = newData["status"]+newData.rate+"%"; + newData.tips = this.listSortMasters["operationTypes"].find((its) => { + return its["sortCode"] == newData["statusClass"] && its["language"] == this.language + })["sortValue"] + newData.rate + "%"; if(newData["rate"] > 100){ newData["status"]= prodata.status; newData.tips = this.listSortMasters["operationTypes"].find((its)=>{ return its["sortCode"]==newData["statusClass"] && its["language"]==this.language})["sortValue"]+'\xa0\xa0\xa0'+newData["status"]; @@ -795,18 +799,18 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { 'service-instance-name':obj.step1.nsName, serviceDomain:this.templateTypeSelected, childServiceInstances:[], - status:"Creating", - statusClass: 1001, + status:"In Progress", + statusClass: 1001, rate:0, tips:"" } - this.thisCreateService = newData; + this.thisCreateService = newData; this.tableData = [newData,...this.tableData]; - this.createNotification(templateCreatestarting); + this.createNotification(templateCreatestarting); if(data.status == "FAILED"){ - this.createSuccessNotification(templateCreateSuccessFaild); - console.log("create ns service failed :" + JSON.stringify(data)); - newData.status = "failed"; + console.log("create ns service Failed :" + JSON.stringify(data)); + newData.status = "Failed"; + this.createSuccessNotification(templateCreateSuccessFaild); return false; } let createParams = "?ns_instance_id=" + data.nsInstanceId + @@ -816,9 +820,12 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { "&parentServiceInstanceId="; // step2 this.createNsService(createParams,obj.step2).then((jobid)=>{ - if(jobid == "failed"){ - this.createSuccessNotification(templateCreateSuccessFaild); - newData.status = "failed"; + if(jobid == "Failed"){ + newData.status = "Failed"; + console.log(jobid,"ns two jobid") + this.thisCreateService = newData; + console.log(this.thisCreateService) + this.createSuccessNotification(templateCreateSuccessFaild); newData.tips = this.listSortMasters["operationTypes"].find((its) => { return its["sortCode"] == newData["statusClass"] && its["language"] == this.language })["sortValue"] + '\xa0\xa0\xa0' + this.listSortMasters["operationResults"].find((its) => { @@ -829,7 +836,9 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { let operationType="1001"; let updata = (prodata)=>{ newData.rate = prodata.progress; - newData.tips = newData["status"]+newData.rate+"%"; + newData.tips = this.listSortMasters["operationTypes"].find((its) => { + return its["sortCode"] == newData["statusClass"] && its["language"] == this.language + })["sortValue"] + newData.rate + "%"; if(newData["rate"] > 100){ newData["status"]=prodata.status; newData.tips = this.listSortMasters["operationTypes"].find((its)=>{ return its["sortCode"]==newData["statusClass"] && its["language"]==this.language})["sortValue"]+'\xa0\xa0\xa0'+newData["status"]; @@ -864,8 +873,8 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { this.myhttp.createInstance(requestBody,createParams) .subscribe((data)=>{ if(data.status == "FAILED"){ - this.createSuccessNotification(templateCreateSuccessFaild); - console.log("create e2e service failed :" + JSON.stringify(data)); + res("Failed"); + console.log("create e2e service Failed :" + JSON.stringify(data)); return false; } res(data.service); @@ -878,8 +887,8 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { this.myhttp.nsCreateInstance2(id,obj) .subscribe((data)=>{ if(data.status == "FAILED"){ - console.log("instantiate ns service failed :" + JSON.stringify(data)); - res("failed"); + console.log("instantiate ns service Failed :" + JSON.stringify(data)); + res("Failed"); return false; } res(data.jobId); @@ -897,8 +906,8 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { this.myhttp.scaleE2eService(id,requestBody) .subscribe((data)=>{ if(data.status == "FAILED"){ - console.log("scale E2e service failed :" + JSON.stringify(data)); - service.status = "failed"; + console.log("scale E2e service Failed :" + JSON.stringify(data)); + service.status = "Failed"; service.tips = this.listSortMasters["operationTypes"].find((its) => { return its["sortCode"] == service.statusClass && its["language"] == this.language })["sortValue"] + '\xa0\xa0\xa0' + this.listSortMasters["operationResults"].find((its) => { @@ -947,8 +956,8 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { this.myhttp.healNsService(id,requestBody) .subscribe((data)=>{ if(data.status == "FAILED"){ - console.log("heal nsvnf service failed :" + JSON.stringify(data)); - service.status = "failed"; + console.log("heal nsvnf service Failed :" + JSON.stringify(data)); + service.status = "Failed"; service.tips = this.listSortMasters["operationTypes"].find((its) => { return its["sortCode"] == service.statusClass && its["language"] == this.language })["sortValue"] + '\xa0\xa0\xa0' + this.listSortMasters["operationResults"].find((its) => { @@ -1004,8 +1013,8 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { this.myhttp.deleteInstance(params) .subscribe((data)=>{ if(data.status == "FAILED"){ - console.log("delete service failed :" + JSON.stringify(data)); - service.status = "failed"; + console.log("delete service Failed :" + JSON.stringify(data)); + service.status = "Failed"; service.tips = this.listSortMasters["operationTypes"].find((its)=>{ return its["sortCode"]==service.statusClass && its["language"]==this.language})["sortValue"]+'\xa0\xa0\xa0'+ this.listSortMasters["operationResults"].find((its) => { return its["sortCode"] == 2002 && its["language"] == this.language })["sortValue"]; @@ -1060,8 +1069,8 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { gracefulTerminationTimeout : this.gracefulTerminationTimeout } this.stopNsService(id,requestBody).then((jobid)=>{ - if(jobid == "failed"){ - service.status = "failed"; + if(jobid == "Failed"){ + service.status = "Failed"; service.tips = this.listSortMasters["operationTypes"].find((its)=>{ return its["sortCode"]==service.statusClass && its["language"]==this.language})["sortValue"] + this.listSortMasters["operationResults"].find((its) => { return its["sortCode"] == 2002 && its["language"] == this.language })["sortValue"]; @@ -1087,8 +1096,8 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { })["sortValue"]; this.deleteSuccessNotification(templateDeleteSuccessFaild); if(data.status == "FAILED"){ - console.log("delete ns service failed :" + JSON.stringify(data)); - service.status = "failed"; + console.log("delete ns service Failed :" + JSON.stringify(data)); + service.status = "Failed"; service.tips = this.listSortMasters["operationTypes"].find((its)=>{ return its["sortCode"]==service.statusClass && its["language"]==this.language})["sortValue"] + this.listSortMasters["operationResults"].find((its) => { return its["sortCode"] == 2002 && its["language"] == this.language })["sortValue"]; @@ -1115,8 +1124,8 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { this.myhttp.stopNsService(id,obj) .subscribe((data)=>{ if(data.status == "FAILED"){ - console.log("stop ns service failed :" + JSON.stringify(data)); - res("failed"); + console.log("stop ns service Failed :" + JSON.stringify(data)); + res("Failed"); return false; } res(data.jobId); @@ -1144,7 +1153,7 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { this.myhttp.getProgress(obj) .subscribe((data)=>{ if(data.status == "FAILED"){ - callback({progress:255,status:"failed"}); + callback({progress:255,status:"Failed"}); return false; } if(data.operationStatus == null || data.operationStatus.progress==undefined){ @@ -1214,7 +1223,7 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { this.myhttp.getNsProgress(jobid,id,operationType) .subscribe((data)=>{ if(data.status == "FAILED"){ - callback({progress:255,status:"failed"}); + callback({progress:255,status:"Failed"}); return false; } if(data.responseDescriptor == null || data.responseDescriptor.progress==undefined){ @@ -1229,8 +1238,8 @@ e2eCloseCreate(obj,templateCreatestarting,templateCreateSuccessFaild) { },10000) return false; } - if(data.responseDescriptor.progress > 100){ - callback({progress:255,status:"time over"}); + if(data.responseDescriptor.progress > 100 && data.responseDescriptor.status == "error"){ + callback({progress:255,status:data.responseDescriptor.statusDescription}); return false; } if(data.responseDescriptor.progress < 100){ diff --git a/usecaseui-portal/src/assets/images/loading-animate2.gif b/usecaseui-portal/src/assets/images/loading-animate2.gif new file mode 100644 index 0000000000000000000000000000000000000000..1855bf3e06aeb48453d5215a8a562b80b554d87b GIT binary patch literal 84437 zcmd442UOK}*8P3q!lieRBGP-YU~eE*5DWI+OKgcPF`7w?(tB4dASfV+s0bn`pn`}f zV4>I>f{ML6NhXtdKR>Z%GV{*!%s9{AwPq$`60%nAKKtym&-v~<*vG3+-TG**2GLPvc#;s zUSVCXOiwT6tqme2HN)-uZ3eIVc&kOxHi!;_NN4Z7)^7@us^HrL^=rB?TDo zuM~;J$~&&>{3%##(Kia+9kl09vTZyl>o%eDqth0LGo_8~^uAxL@NJqxul~~N8dewX zE4llqkMYq9TW?xgr<7Qw}`VC1NH*MaMoU%1FZQJ(rjLaQb**kM~pNKJW4>$D5&p4T2GdgF=$^6Wkq^`41CHoZYsN2$K#r>-%3$o6n4hm50 zG-QAFxpeOYyQ!!4?`+8OOCORlq%fyx*Mx$F*G?7gy0CY~vG7j52XZeJ%x}nVo%SjlK;abEMWP%ZmuwZ;2dPQ;q~ZXJ3s|8~vB z?u)M19xS+fCe1y$e*BFK+VftK8xvKhZTmqW7Q&UNLqH&x$I z?R{(GwXptf-sv%ak+rq>+czE^`reH5-jmfDf2QZXIY0P$DP-7=aoX9k{`K6jIT2IG z{cO2W_O;&JA4hLk?Pe#vUB7X&=~k!hTh8wEpQq+Jvd=ubRfl()Zgl^vLiQGwJETj{>^A_)3#~$Pe=AO4*bcn>DssZ0FfIs_8yhkKg_G_u;}5wYO7rj^J{xOcvx`O%l^^+#&L@t6<(aT z>(PO$D<3>6x*2T$xVUx0qQ?i@cIe|F+lS9in1nbyueL~9 z{QRU%R_^mt4n+^2*K|GM@S?WIg~c!G`rOTZVY^mF`U8ti7i|_LhzvzP`~vC9>H+y#X>+&u}cz!8?`S~X{k(T`0w-IFBK zZ@5ADDv_+LQF4gbrWZ`4KHgVj_F{|Dbmgp@5)(sZk0GifCqh_Im|{?Y&X?0Io7!aE zCd%14$~*Pe3*P|2>8uWf@(ea)Kp&8%z(;x}n)8;(J6bD-ACyw>U|EqZB_|IhY0aA; z<2+i<(nM|CROn2xpNno#tU^~ik(89?{ACuk*I`L0Pujp7`ZLb2fV{+-+F~trDHRPU zPiBCh_KF`A`@2dh%1f&#cZ^uA(Ah>eI9{Zzt{V^|w(Tt?uOO0^)?Bb$e%Z$V6kGkH zpYth;1!{N=9^73%@-2(4k4@Q{vPEFA^wg}aewnaXMs{A>o`OU}C*%Fw_LU4ixW#IS z()uoy$1D3D-cVY4a=q1{v**r+saKt^tc$2A)w&d3fAg$K@P*r5u7_T!Z3}LGJScGJ zo!bus@0Z%V3V8Ck#s9@^usB~!~f{(AMVV($^t%cqL94vUZGnU+YY≫xi=O4V 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‹H_FhnU;)2iEK05 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