2 * Copyright 2016-2017 ZTE, Inc. and others.
\r
4 * Licensed under the Apache License, Version 2.0 (the "License");
\r
5 * you may not use this file except in compliance with the License.
\r
6 * You may obtain a copy of the License at
\r
8 * http://www.apache.org/licenses/LICENSE-2.0
\r
10 * Unless required by applicable law or agreed to in writing, software
\r
11 * distributed under the License is distributed on an "AS IS" BASIS,
\r
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 * See the License for the specific language governing permissions and
\r
14 * limitations under the License.
\r
20 $id : "serviceController",
\r
21 $apiGatewayServiceName:"apigateway",
\r
22 ifshowApiGatewayService:false,
\r
23 tcp_udp_port_range:["40001","40100"],
\r
24 apiGatewayService:[],
\r
25 apiGatewayService_all:[],
\r
27 routeService_all:[],
\r
30 warning_block:false,
\r
35 warning_block:false,
\r
39 if_http_publish_port:[],
\r
40 $msbProtocol :["REST","HTTP","UI","MQ","FTP","SNMP","TCP","UDP"],
\r
41 $healthCheckType:["","TTL","HTTP","TCP"],
\r
42 $ha_role_Type:["","active","standby"],
\r
45 name:$.i18n.prop("org_onap_msb_discover_lbpolicy_round"),
\r
53 name:$.i18n.prop("org_onap_msb_discover_lbpolicy_leastconn"),
\r
57 name:$.i18n.prop("org_onap_msb_discover_lbpolicy_clientcustom"),
\r
58 value:"client_custom"
\r
62 $msbRouteUrl:apiBasePath+'/services?is_manual=true',
\r
63 $msbRouteInstanceUrl :apiBasePath+'/services/{serviceName}/version/{version}',
\r
64 $msbRouteNodesUrl :apiBasePath+'/services/{serviceName}/version/{version}/nodes',
\r
65 $apiGatewayInfoUrl :apiBasePath+'/services/apigatewayserviceinfo',
\r
66 $tcpudpportrangeUrl:apiBasePath+'/services/tcpudpportrange',
\r
68 publishUrl4SysOut:"",
\r
69 publishUrl4SysIn:"",
\r
70 ifShowPublishUrl4SysOut:false,
\r
71 ifShowPublishUrl4SysIn:false
\r
75 targetServiceHost:"",
\r
76 msbRouteArray : [],
\r
88 visualRangeArray:[],
\r
92 network_plane_type:"",
\r
110 updateServiceInfo:{
\r
130 initMSBRoute:function(){
\r
131 vm.initIUIfori18n();
\r
133 var url= window.location.search.substr(1);
\r
134 vm.pageInfo.pageType=routeUtil.getQueryString(url,"type");
\r
138 if(vm.pageInfo.pageType=="add"){
\r
140 vm.getApigatewayInfo("all");
\r
141 vm.getApigatewayInfo("");
\r
142 vm.pageInfo.pageTitle=$.i18n.prop("org_onap_msb_discover_form_title_add");
\r
146 vm.updateServiceInfo.serviceName=routeUtil.getQueryString(url,"serviceName");
\r
147 vm.updateServiceInfo.version=routeUtil.getQueryString(url,"version");
\r
148 vm.updateServiceInfo.authtype=routeUtil.getQueryString(url,"authtype");
\r
149 vm.updateServiceInfo.namespace=routeUtil.getQueryString(url,"namespace");
\r
151 vm.initUpdateRoute(vm.updateServiceInfo.serviceName,vm.updateServiceInfo.version,vm.updateServiceInfo.namespace);
\r
152 vm.getApigatewayInfo("all");
\r
153 vm.getApigatewayInfo(vm.updateServiceInfo.namespace);
\r
157 if(vm.pageInfo.pageType=="update"){
\r
158 vm.pageInfo.pageTitle=$.i18n.prop("org_onap_msb_discover_form_title_update");
\r
161 else if(vm.pageInfo.pageType=="view"){
\r
162 vm.pageInfo.pageTitle=$.i18n.prop("org_onap_msb_discover_form_title_view");
\r
167 vm.getTcpUdpPortRangeUrl();
\r
172 returnList:function(){
\r
174 window.history.back(-1);
\r
176 closePage:function(){
\r
181 addMsbRoute:function(){
\r
183 vm.msbRouteInfo.serviceName="";
\r
184 vm.msbRouteInfo.version="";
\r
185 vm.msbRouteInfo.url="";
\r
186 vm.msbRouteInfo.protocol="";
\r
187 vm.msbRouteInfo.publish_port="";
\r
188 vm.msbRouteInfo.lb_policy="";
\r
189 vm.msbRouteInfo.visualRange="";
\r
190 vm.msbRouteInfo.visualRangeArray=[],
\r
191 vm.msbRouteInfo.nodes=[];
\r
192 vm.msbRouteInfo.status="1";
\r
193 vm.msbRouteInfo.namespace="";
\r
194 vm.msbRouteInfo.network_plane_type="";
\r
195 vm.msbRouteInfo.host="";
\r
196 vm.msbRouteInfo.path="";
\r
197 vm.msbRouteInfo.enable_ssl=[];
\r
200 vm.server_rtn.warning_block=false;
\r
201 vm.server_rtn.info_block=false;
\r
203 $('#labels').val("");
\r
204 $('#labels').on('tokenfield:createdtoken', function (e) {
\r
206 var valid = re.test(e.attrs.value)
\r
208 $(e.relatedTarget).addClass('invalid')
\r
211 $('#metadata').val("");
\r
212 $('#metadata').on('tokenfield:createdtoken', function (e) {
\r
214 var valid = re.test(e.attrs.value)
\r
216 $(e.relatedTarget).addClass('invalid')
\r
221 $(".form-group").each(function () {
\r
222 $(this).removeClass('has-success');
\r
223 $(this).removeClass('has-error');
\r
224 $(this).find(".help-block[id]").remove();
\r
225 $(this).find(".form-tip").removeClass('form-input-focus');
\r
226 //$(this).find(".item-tip").removeClass('item-tip-focus');
\r
230 initUpdateRoute:function(serviceName,version,namespace){
\r
231 var url= vm.$msbRouteInstanceUrl;
\r
232 var version2=version==""?"null":version;
\r
233 var serviceName2= serviceName.replace(/\//g,"*");
\r
234 url=url.replace("{serviceName}",serviceName2).replace("{version}",version2)+"?ifPassStatus=false&namespace="+namespace;
\r
239 "dataType": "json",
\r
240 success: function (msbRouteInfo) {
\r
241 //vm.msbRouteInfo.serviceName=(msbRouteInfo.protocol=="UI"?msbRouteInfo.serviceName.replace("IUI_",""):msbRouteInfo.serviceName);
\r
242 vm.msbRouteInfo.serviceName=msbRouteInfo.serviceName;
\r
243 vm.msbRouteInfo.oldServiceName=msbRouteInfo.serviceName;
\r
244 vm.msbRouteInfo.version= msbRouteInfo.version;
\r
245 vm.msbRouteInfo.oldVersion= msbRouteInfo.version
\r
246 vm.msbRouteInfo.url=msbRouteInfo.url;
\r
247 vm.msbRouteInfo.protocol=msbRouteInfo.protocol;
\r
248 vm.msbRouteInfo.visualRange=msbRouteInfo.visualRange;
\r
249 vm.msbRouteInfo.visualRangeArray=msbRouteInfo.visualRange.split("|");
\r
250 vm.msbRouteInfo.lb_policy=msbRouteInfo.lb_policy==""?"round-robin":msbRouteInfo.lb_policy;
\r
251 vm.msbRouteInfo.namespace=msbRouteInfo.namespace;
\r
252 vm.msbRouteInfo.network_plane_type=msbRouteInfo.network_plane_type;
\r
253 vm.msbRouteInfo.host=msbRouteInfo.host;
\r
254 vm.msbRouteInfo.path=msbRouteInfo.path;
\r
255 if (msbRouteInfo.enable_ssl == true){
\r
256 vm.msbRouteInfo.enable_ssl=["true"];
\r
258 vm.msbRouteInfo.enable_ssl=[];
\r
261 $("#labels").val(msbRouteInfo.labels);
\r
262 $('#labels').on('tokenfield:createdtoken', function (e) {
\r
264 var valid = re.test(e.attrs.value)
\r
266 $(e.relatedTarget).addClass('invalid')
\r
271 var metadataArray=msbRouteInfo.metadata;
\r
273 for(var i=0;i<metadataArray.length;i++){
\r
274 metadatas.push(metadataArray[i].key+":"+metadataArray[i].value);
\r
278 $("#metadata").val(metadatas);
\r
279 $('#metadata').on('tokenfield:createdtoken', function (e) {
\r
281 var valid = re.test(e.attrs.value)
\r
283 $(e.relatedTarget).addClass('invalid')
\r
288 if(msbRouteInfo.publish_port!=undefined && msbRouteInfo.publish_port.trim()!=""){
\r
289 if(vm.msbRouteInfo.protocol=="TCP" || vm.msbRouteInfo.protocol=="UDP"){
\r
290 vm.if_publish_port=["1"];
\r
291 vm.msbRouteInfo.publish_port=msbRouteInfo.publish_port;
\r
292 vm.msbRouteInfo.oldPublish_port=msbRouteInfo.publish_port;
\r
294 else if(vm.msbRouteInfo.protocol=="HTTP" || vm.msbRouteInfo.protocol=="REST"|| vm.msbRouteInfo.protocol=="UI" || vm.msbRouteInfo.protocol=="PORTAL"){
\r
295 vm.if_http_publish_port=["1"];
\r
296 vm.msbRouteInfo.publish_port=msbRouteInfo.publish_port;
\r
297 vm.msbRouteInfo.oldPublish_port=msbRouteInfo.publish_port;
\r
300 vm.msbRouteInfo.publish_port="";
\r
301 vm.msbRouteInfo.oldPublish_port="";
\r
308 for(var i=0;i<msbRouteInfo.nodes.length;i++){
\r
310 msbRouteInfo.nodes[i].weight="";
\r
311 msbRouteInfo.nodes[i].max_fails="";
\r
312 msbRouteInfo.nodes[i].fail_timeout="";
\r
314 var lb_server_params=msbRouteInfo.nodes[i].lb_server_params;
\r
315 if(lb_server_params!=null){
\r
317 var paramsArray=lb_server_params.split(",");
\r
318 for(var n=0;n<paramsArray.length;n++){
\r
319 var param=paramsArray[n].split("=");
\r
321 case "weight": msbRouteInfo.nodes[i].weight=param[1]; break;
\r
322 case "max_fails": msbRouteInfo.nodes[i].max_fails=param[1]; break;
\r
323 case "fail_timeout": msbRouteInfo.nodes[i].fail_timeout=param[1].replace("s",""); break;
\r
333 vm.msbRouteInfo.nodes=msbRouteInfo.nodes;
\r
334 routeUtil.changeTargetServiceUrl();
\r
337 error: function(XMLHttpRequest, textStatus, errorThrown) {
\r
338 bootbox.alert("get discoverInfo fails:"+XMLHttpRequest.responseText);
\r
345 $(".form-group").each(function () {
\r
347 $(this).find(".item-tip").addClass("item-tip-focus");
\r
353 $showNodeDlg:function() {
\r
356 vm.nodeInfo.port="";
\r
357 vm.nodeInfo.weight="";
\r
358 vm.nodeInfo.max_fails="";
\r
359 vm.nodeInfo.fail_timeout="";
\r
360 vm.nodeInfo.checkType="";
\r
361 vm.nodeInfo.checkUrl="";
\r
362 vm.nodeInfo.checkInterval="10";
\r
363 vm.nodeInfo.checkTimeOut="10";
\r
364 vm.nodeInfo.ttl="10";
\r
365 vm.nodeInfo.ha_role="";
\r
369 vm.nodeDlgInfo.saveType = "add";
\r
370 vm.nodeDlgInfo.titleName=$.i18n.prop("org_onap_msb_discover_node_title");
\r
371 vm.node_rtn.warning_block=false;
\r
372 vm.node_rtn.info_block=false;
\r
374 $('#advanceDiv').collapse('hide');
\r
376 $(".form-group").each(function () {
\r
377 $(this).removeClass('has-success');
\r
378 $(this).removeClass('has-error');
\r
379 $(this).find(".help-block[id]").remove();
\r
380 $(this).find(".form-tip").removeClass('form-input-focus');
\r
381 //$(this).find(".item-tip").removeClass('item-tip-focus');
\r
384 $("#noderouteDlg").modal("show");
\r
387 savenodeInfo:function(){
\r
388 nodesuccess.hide();
\r
390 if (nodeform.valid() == false) {
\r
395 if(vm.nodeInfo.checkType=="TTL"){
\r
396 if(vm.nodeInfo.ttl==""){
\r
397 vm.node_rtn.warning_block=true;
\r
398 vm.node_rtn.info_block=false;
\r
399 vm.node_rtn.rtn_info=$.i18n.prop("org_onap_msb_discover_validator_ttl_empty");
\r
404 vm.nodeInfo.checkTimeOut="";
\r
405 vm.nodeInfo.checkInterval="";
\r
406 vm.nodeInfo.checkUrl="";
\r
410 else if(vm.nodeInfo.checkType=="TCP" || vm.nodeInfo.checkType=="HTTP"){
\r
411 if(vm.nodeInfo.checkInterval==""){
\r
412 vm.node_rtn.warning_block=true;
\r
413 vm.node_rtn.info_block=false;
\r
414 vm.node_rtn.rtn_info= $.i18n.prop("org_onap_msb_discover_validator_interval_empty");
\r
419 if(vm.nodeInfo.checkTimeOut==""){
\r
420 vm.node_rtn.warning_block=true;
\r
421 vm.node_rtn.info_block=false;
\r
422 vm.node_rtn.rtn_info= $.i18n.prop("org_onap_msb_discover_validator_timeOut_empty");
\r
427 if(vm.nodeInfo.checkUrl==""){
\r
428 vm.node_rtn.warning_block=true;
\r
429 vm.node_rtn.info_block=false;
\r
430 vm.node_rtn.rtn_info= $.i18n.prop("org_onap_msb_discover_validator_healthurl_empty");
\r
434 vm.nodeInfo.ttl="";
\r
439 vm.nodeInfo.checkUrl="";
\r
440 vm.nodeInfo.checkInterval="";
\r
441 vm.nodeInfo.checkTimeOut="";
\r
442 vm.nodeInfo.ttl="";
\r
447 if(vm.nodeInfo.checkType=="HTTP"){
\r
449 var reg_http_url_match=/^(|http:\/\/)(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)(([0-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.){2}([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5]))):(\d{1,5}).*$/;
\r
450 if(reg_http_url_match.test(vm.nodeInfo.checkUrl)){
\r
451 /*vm.node_rtn.warning_block=true;
\r
452 vm.node_rtn.info_block=false;
\r
453 vm.node_rtn.rtn_info= $.i18n.prop("org_onap_msb_discover_validator_healthurl_http");
\r
455 if(vm.nodeInfo.checkUrl.indexOf("http://")!=0){
\r
456 vm.nodeInfo.checkUrl="http://"+vm.nodeInfo.checkUrl;
\r
460 if(vm.nodeInfo.checkUrl.indexOf("/")!=0){
\r
461 vm.nodeInfo.checkUrl="/"+vm.nodeInfo.checkUrl;
\r
463 vm.nodeInfo.checkUrl="http://"+vm.nodeInfo.ip+":"+vm.nodeInfo.port+vm.nodeInfo.checkUrl
\r
467 else if(vm.nodeInfo.checkType=="TCP"){
\r
468 var reg_tcp_url_match=/^.*:\d{1,5}$/;
\r
469 if(!reg_tcp_url_match.test(vm.nodeInfo.checkUrl)){
\r
470 vm.node_rtn.warning_block=true;
\r
471 vm.node_rtn.info_block=false;
\r
472 vm.node_rtn.rtn_info= $.i18n.prop("org_onap_msb_discover_validator_healthurl_tcp");
\r
482 if(vm.nodeDlgInfo.saveType=="add")
\r
486 for(var i=0;i<vm.msbRouteInfo.nodes.length;i++){
\r
488 if(vm.msbRouteInfo.nodes[i].ip==vm.nodeInfo.ip && vm.msbRouteInfo.nodes[i].port==vm.nodeInfo.port )
\r
490 vm.node_rtn.warning_block=true;
\r
491 vm.node_rtn.info_block=false;
\r
492 vm.node_rtn.rtn_info=$.i18n.prop('org_onap_msb_discover_err_host_repeat',[vm.nodeInfo.ip],[vm.nodeInfo.port]);
\r
502 port:vm.nodeInfo.port,
\r
503 weight:vm.nodeInfo.weight,
\r
504 max_fails:vm.nodeInfo.max_fails,
\r
505 fail_timeout:vm.nodeInfo.fail_timeout,
\r
506 checkType:vm.nodeInfo.checkType,
\r
507 checkUrl:vm.nodeInfo.checkUrl,
\r
508 checkInterval:vm.nodeInfo.checkInterval==""?"":vm.nodeInfo.checkInterval+"s",
\r
509 checkTimeOut:vm.nodeInfo.checkTimeOut==""?"":vm.nodeInfo.checkTimeOut+"s",
\r
510 ttl:vm.nodeInfo.ttl==""?"":vm.nodeInfo.ttl+"s",
\r
511 ha_role:vm.nodeInfo.ha_role
\r
514 vm.msbRouteInfo.nodes.push(node);
\r
516 else if(vm.nodeDlgInfo.saveType=="update")
\r
518 if(vm.nodeInfo.ip!=vm.oldNodeInfo.ip ||
\r
519 vm.nodeInfo.port!=vm.oldNodeInfo.port) //已修改IP或者port
\r
523 for(var i=0;i<vm.msbRouteInfo.nodes.length;i++){
\r
525 if(vm.msbRouteInfo.nodes[i].ip==vm.nodeInfo.ip && vm.msbRouteInfo.nodes[i].port==vm.nodeInfo.port )
\r
527 vm.node_rtn.warning_block=true;
\r
528 vm.node_rtn.info_block=false;
\r
529 vm.node_rtn.rtn_info= $.i18n.prop('org_onap_msb_discover_err_host_repeat',[vm.nodeInfo.ip],[vm.nodeInfo.port]);
\r
536 for(var i=0;i<vm.msbRouteInfo.nodes.length;i++){
\r
537 if(vm.msbRouteInfo.nodes[i].ip == vm.oldNodeInfo.ip && vm.msbRouteInfo.nodes[i].port == vm.oldNodeInfo.port){
\r
539 vm.msbRouteInfo.nodes[i].ip=vm.nodeInfo.ip;
\r
540 vm.msbRouteInfo.nodes[i].port=vm.nodeInfo.port;
\r
541 vm.msbRouteInfo.nodes[i].weight=vm.nodeInfo.weight;
\r
542 vm.msbRouteInfo.nodes[i].max_fails=vm.nodeInfo.max_fails;
\r
543 vm.msbRouteInfo.nodes[i].fail_timeout=vm.nodeInfo.fail_timeout;
\r
544 vm.msbRouteInfo.nodes[i].checkType=vm.nodeInfo.checkType;
\r
545 vm.msbRouteInfo.nodes[i].checkUrl=vm.nodeInfo.checkUrl;
\r
546 vm.msbRouteInfo.nodes[i].checkInterval=vm.nodeInfo.checkInterval==""?"":vm.nodeInfo.checkInterval+"s";
\r
547 vm.msbRouteInfo.nodes[i].checkTimeOut=vm.nodeInfo.checkTimeOut==""?"":vm.nodeInfo.checkTimeOut+"s";
\r
548 vm.msbRouteInfo.nodes[i].ttl=vm.nodeInfo.ttl==""?"":vm.nodeInfo.ttl+"s";
\r
549 vm.msbRouteInfo.nodes[i].ha_role=vm.nodeInfo.ha_role;
\r
562 $('#noderouteDlg').modal('hide');
\r
565 delnodeInfo:function(ip,port){
\r
566 bootbox.confirm($.i18n.prop('org_onap_msb_discover_err_host_del_ask',[ip],[port]),function(result){
\r
569 for(var i=0;i<vm.msbRouteInfo.nodes.length;i++){
\r
570 if(vm.msbRouteInfo.nodes[i].ip == ip && vm.msbRouteInfo.nodes[i].port == port){
\r
571 vm.msbRouteInfo.nodes.splice(i, 1);
\r
584 updatenodeInfo:function(node){
\r
585 vm.nodeInfo.ip=node.ip;
\r
586 vm.oldNodeInfo.ip=node.ip;
\r
588 vm.nodeInfo.port=node.port;
\r
589 vm.oldNodeInfo.port=node.port;
\r
591 vm.nodeInfo.weight=node.weight;
\r
592 vm.nodeInfo.max_fails=node.max_fails;
\r
593 vm.nodeInfo.fail_timeout=node.fail_timeout;
\r
595 vm.nodeInfo.checkType=node.checkType;
\r
596 vm.nodeInfo.checkUrl=node.checkUrl;
\r
597 if(node.checkInterval!=undefined) vm.nodeInfo.checkInterval=node.checkInterval.replace("s","");
\r
598 if(node.checkTimeOut!=undefined) vm.nodeInfo.checkTimeOut=node.checkTimeOut.replace("s","");
\r
599 if(node.ttl!=undefined) vm.nodeInfo.ttl=node.ttl.replace("s","");
\r
600 vm.nodeInfo.ha_role=node.ha_role;
\r
605 vm.nodeDlgInfo.saveType = "update";
\r
606 vm.nodeDlgInfo.titleName=$.i18n.prop('org_onap_msb_discover_node_title_update');
\r
607 vm.node_rtn.warning_block=false;
\r
608 vm.node_rtn.info_block=false;
\r
610 $('#advanceDiv').collapse('hide');
\r
612 $(".form-group").each(function () {
\r
613 $(this).removeClass('has-success');
\r
614 $(this).removeClass('has-error');
\r
615 $(this).find(".help-block[id]").remove();
\r
616 $(this).find(".form-tip").removeClass('form-input-focus');
\r
619 $("#noderouteDlg").modal("show");
\r
622 resetRoute:function(){
\r
623 if(vm.pageInfo.pageType=="add"){
\r
626 else if(vm.pageInfo.pageType=="update"){
\r
627 vm.initUpdateRoute(vm.updateServiceInfo.serviceName,vm.updateServiceInfo.version,vm.updateServiceInfo.namespace);
\r
631 getTcpUdpPortRangeUrl:function(){
\r
634 "url": vm.$tcpudpportrangeUrl,
\r
635 "dataType": "json",
\r
636 success: function (tcp_udp_port_range) {
\r
637 vm.tcp_udp_port_range=tcp_udp_port_range;
\r
638 $("input[name='publish_port']").attr("placeholder","Range:"+tcp_udp_port_range[0]+"-"+tcp_udp_port_range[1]);
\r
642 error: function(XMLHttpRequest, textStatus, errorThrown) {
\r
643 console.log("get TcpUdpPortRangeUrl fails:"+XMLHttpRequest.responseText);
\r
651 getApigatewayInfo : function(namespace) {
\r
653 // if(namespace=="") namespace="default";
\r
654 if(namespace!="all"){
\r
655 vm.apiGatewayService=[];
\r
656 vm.routeService=[];
\r
660 var url=vm.$apiGatewayInfoUrl+"?namespace="+namespace;
\r
666 "dataType": "json",
\r
667 success: function (resp) {
\r
668 var apiGatewayService=[],routeService=[];
\r
669 var apiGatewayInfoList=resp==null?[]:resp;
\r
671 for(var i=0;i<apiGatewayInfoList.length;i++){
\r
672 if(apiGatewayInfoList[i].visualRange=="0"){
\r
673 routeService.push(apiGatewayInfoList[i]);
\r
675 else if(apiGatewayInfoList[i].visualRange=="1"){
\r
676 apiGatewayService.push(apiGatewayInfoList[i])
\r
680 if(namespace=="all"){
\r
681 vm.apiGatewayService_all=apiGatewayService;
\r
682 vm.routeService_all=routeService;
\r
685 vm.apiGatewayService=apiGatewayService;
\r
686 vm.routeService=routeService;
\r
692 error: function(XMLHttpRequest, textStatus, errorThrown) {
\r
693 console.log("get apigatewayInfo for "+namespace+" fails:"+XMLHttpRequest.responseText);
\r
703 routeUtil.changeTargetServiceUrl();
\r
708 initIUIfori18n:function(){
\r
709 vm.msbLbPolicyRange=[
\r
711 name:$.i18n.prop("org_onap_msb_discover_lbpolicy_round"),
\r
712 value:"round-robin"
\r
719 name:$.i18n.prop("org_onap_msb_discover_lbpolicy_leastconn"),
\r
723 name:$.i18n.prop("org_onap_msb_discover_lbpolicy_clientcustom"),
\r
724 value:"client_custom"
\r
729 savemsbRoute : function() {
\r
733 if (msbform.valid() == false) {
\r
737 if(vm.msbRouteInfo.nodes.length==0){
\r
738 vm.server_rtn.warning_block=true;
\r
739 vm.server_rtn.info_block=false;
\r
740 vm.server_rtn.rtn_info= $.i18n.prop('org_onap_msb_discover_err_host_leastone');
\r
744 if(vm.msbRouteInfo.visualRangeArray.length==0){
\r
745 vm.server_rtn.warning_block=true;
\r
746 vm.server_rtn.info_block=false;
\r
747 vm.server_rtn.rtn_info= $.i18n.prop('org_onap_msb_discover_err_visualrange_empty');
\r
752 /*if(vm.msbRouteInfo.namespace=="default" || vm.msbRouteInfo.namespace=="all" ){
\r
753 vm.server_rtn.warning_block=true;
\r
754 vm.server_rtn.info_block=false;
\r
755 vm.server_rtn.rtn_info= $.i18n.prop('org_onap_msb_discover_err_namespace_err',[vm.msbRouteInfo.namespace]);
\r
760 if(vm.msbRouteInfo.protocol=="REST" || vm.msbRouteInfo.protocol=="HTTP"||vm.msbRouteInfo.protocol=="UI"||vm.msbRouteInfo.protocol=="PORTAL"){
\r
761 if(vm.msbRouteInfo.url==""){
\r
762 vm.server_rtn.warning_block=true;
\r
763 vm.server_rtn.info_block=false;
\r
764 vm.server_rtn.rtn_info=$.i18n.prop('org_onap_msb_discover_err_url_empty',[vm.msbRouteInfo.protocol]);
\r
772 if($('#labels').val().trim()!=""){
\r
773 labelArray=$('#labels').val().split(",");
\r
774 for(var i=0;i<labelArray.length;i++){
\r
775 labelArray[i]=labelArray[i].trim();
\r
776 if(/\S+:\S+/.test(labelArray[i])==false){
\r
777 vm.server_rtn.warning_block=true;
\r
778 vm.server_rtn.info_block=false;
\r
779 vm.server_rtn.rtn_info=$.i18n.prop('org_onap_msb_discover_err_label_format');
\r
788 var metadataArray=[],metadata=[];
\r
789 if($('#metadata').val().trim()!=""){
\r
790 metadataArray=$('#metadata').val().split(",");
\r
791 for(var i=0;i<metadataArray.length;i++){
\r
792 metadataArray[i]=metadataArray[i].trim();
\r
794 if(/\S+:\S+/.test(metadataArray[i])==false){
\r
795 vm.server_rtn.warning_block=true;
\r
796 vm.server_rtn.info_block=false;
\r
797 vm.server_rtn.rtn_info=$.i18n.prop('org_onap_msb_discover_err_metadata_format');
\r
800 var metadata_key_value=metadataArray[i].split(":");
\r
801 var metadata_obj=new Object();
\r
802 metadata_obj.key=metadata_key_value[0];
\r
803 metadata_obj.value=metadata_key_value[1];
\r
804 metadata.push(metadata_obj);
\r
816 vm.server_rtn.warning_block=false;
\r
817 vm.server_rtn.info_block=true;
\r
819 //var msbUrl=vm.msbRouteInfo.url=="/"?"":vm.msbRouteInfo.url;
\r
822 for(var i=0;i<vm.msbRouteInfo.nodes.length;i++){
\r
825 var lb_server_params="";
\r
826 if(vm.msbRouteInfo.nodes[i].weight!=""){
\r
827 lb_server_params+="weight="+vm.msbRouteInfo.nodes[i].weight+","
\r
830 if(vm.msbRouteInfo.nodes[i].max_fails!=""){
\r
831 lb_server_params+="max_fails="+vm.msbRouteInfo.nodes[i].max_fails+","
\r
834 if(vm.msbRouteInfo.nodes[i].fail_timeout!=""){
\r
835 lb_server_params+="fail_timeout="+vm.msbRouteInfo.nodes[i].fail_timeout+"s";
\r
843 ip:vm.msbRouteInfo.nodes[i].ip,
\r
844 port:vm.msbRouteInfo.nodes[i].port,
\r
845 lb_server_params: lb_server_params,
\r
846 checkType:vm.msbRouteInfo.nodes[i].checkType,
\r
847 checkUrl:vm.msbRouteInfo.nodes[i].checkUrl,
\r
848 checkInterval:vm.msbRouteInfo.nodes[i].checkInterval,
\r
849 checkTimeOut:vm.msbRouteInfo.nodes[i].checkTimeOut,
\r
850 ttl:vm.msbRouteInfo.nodes[i].ttl,
\r
851 ha_role:vm.msbRouteInfo.nodes[i].ha_role
\r
858 /*if((vm.msbRouteInfo.protocol=="TCP" || vm.msbRouteInfo.protocol=="UDP") && vm.if_publish_port.length==1){
\r
863 if(vm.pageInfo.pageType=="add" || (vm.pageInfo.pageType=="update" && vm.msbRouteInfo.oldPublic_port!=vm.msbRouteInfo.publish_port)){
\r
866 for(var i=0;i<vm.msbRouteArray.length;i++){
\r
868 if(vm.msbRouteArray[i].publish_port==vm.msbRouteInfo.publish_port)
\r
870 vm.server_rtn.warning_block=true;
\r
871 vm.server_rtn.info_block=false;
\r
872 vm.server_rtn.rtn_info= "发布端口("+vm.msbRouteInfo.publish_port+")已使用";
\r
882 vm.msbRouteInfo.publish_port="";
\r
886 //var newServiceName=(vm.msbRouteInfo.protocol=="UI"?("IUI_"+vm.msbRouteInfo.serviceName):vm.msbRouteInfo.serviceName);
\r
887 var newServiceName=vm.msbRouteInfo.serviceName;
\r
889 var enable_ssl = false;
\r
890 if (vm.msbRouteInfo.enable_ssl.length > 0){
\r
895 var data= JSON.stringify({
\r
896 "serviceName": newServiceName,
\r
897 "version": vm.msbRouteInfo.version,
\r
898 "url": vm.msbRouteInfo.url,
\r
900 "protocol":vm.msbRouteInfo.protocol,
\r
901 "visualRange":vm.msbRouteInfo.visualRangeArray.join("|"),
\r
902 "lb_policy":vm.msbRouteInfo.lb_policy,
\r
903 "publish_port":vm.msbRouteInfo.publish_port,
\r
904 "namespace":vm.msbRouteInfo.namespace,
\r
905 "network_plane_type":vm.msbRouteInfo.network_plane_type,
\r
906 "host":vm.msbRouteInfo.host,
\r
907 "path":vm.msbRouteInfo.path,
\r
908 "enable_ssl":enable_ssl,
\r
909 "labels": labelArray,
\r
910 "metadata":metadata
\r
916 if(vm.pageInfo.pageType=="add"){
\r
918 var url= vm.$msbRouteInstanceUrl;
\r
920 var version2=vm.msbRouteInfo.version==""?"null":vm.msbRouteInfo.version;
\r
921 url=url.replace("{serviceName}",newServiceName).replace("{version}",version2)+"?ifPassStatus=false&namespace="+vm.msbRouteInfo.namespace;
\r
926 "dataType": "json",
\r
928 success: function (serviceInfo) {
\r
930 vm.server_rtn.warning_block=true;
\r
931 vm.server_rtn.info_block=false;
\r
932 vm.server_rtn.rtn_info=$.i18n.prop('org_onap_msb_discover_err_service_repeat',[vm.msbRouteInfo.serviceName],[vm.msbRouteInfo.protocol],[vm.msbRouteInfo.namespace]);
\r
936 error: function(XMLHttpRequest, textStatus, errorThrown) {
\r
937 if(XMLHttpRequest.status==404){
\r
940 "url": vm.$msbRouteUrl,
\r
942 "dataType": "json",
\r
943 "contentType":"application/json",
\r
944 success: function (resp) {
\r
947 window.location.href="index.html"
\r
950 //vm.initMSBRoute();
\r
953 error: function(XMLHttpRequest, textStatus, errorThrown) {
\r
955 vm.server_rtn.warning_block=true;
\r
956 vm.server_rtn.info_block=false;
\r
957 vm.server_rtn.rtn_info= "msb save fails:"+XMLHttpRequest.responseText;
\r
964 bootbox.alert("get service["+vm.msbRouteInfo.serviceName+"]fails:"+XMLHttpRequest.responseText);
\r
975 else if(vm.pageInfo.pageType=="update")
\r
978 var url= vm.$msbRouteInstanceUrl+"?is_manual=true&namespace="+vm.msbRouteInfo.namespace;
\r
979 var version2=vm.msbRouteInfo.oldVersion==""?"null":vm.msbRouteInfo.oldVersion;
\r
980 url=url.replace("{serviceName}",vm.msbRouteInfo.oldServiceName).replace("{version}",version2);
\r
986 "dataType": "json",
\r
987 "contentType":"application/json",
\r
988 success: function (resp) {
\r
990 window.location.href="index.html?namespace="+vm.updateServiceInfo.namespace;
\r
993 error: function(XMLHttpRequest, textStatus, errorThrown) {
\r
995 vm.server_rtn.warning_block=true;
\r
996 vm.server_rtn.info_block=false;
\r
997 vm.server_rtn.rtn_info= "msb save fails:"+XMLHttpRequest.responseText;
\r