/* * Copyright (C) 2015 ZTE, Inc. and others. All rights reserved. (ZTE) * * Licensed 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. */ var vm = avalon.define({ $id: "mockdataController", $addHOSTtitleName:"增加HOST", $addVNFtitleName:"增加VNF实例", $addVDUtitleName:"增加VDU实例", $addVNFCtitleName:"增加VNFC实例", $addNStitleName:"编排NS实例", $mockAlarmTooltip:"点我就能模拟5条告警,告警码随机选取,祝你好运!", $mockAlarmRemark:"关于模拟告警说明:
1.创建资源后才能模拟告警;
2.创建资源后要等会儿告警模块才能查询到资源信息,所以创建后等6秒再模拟告警吧!", alarmbtnvalue:"模拟告警", alarmbtndisabled:true, server_rtn:{ info_block:false, warning_block:false, info_text:"", warning_text:"" }, HOSTInfo : { oid:"", name:"wangyg test host001", moc:"nfv.host.linux", ipAddress:"10.74.151.88", vendor:"", version:"", type:"", user:"test", password:"123456", protocol:"ssh", port:"21", vimId:"-1", customPara:"", alarmbtndisabled:true, alarmbtnvalue:"模拟告警" }, VNFInfo : { oid:"", name:"wangyg test vnf001", moc:"nfv.vnf.bn.vbras", ipAddress:"", vendor:"", version:"", type:"", vnfd:"vnfd-1", autoScalePolicy:"", localization:"zh", monitoringParameter:"", status:"active", createTime:commonUtil.parseDate(new Date(),"yyyy-MM-dd hh:mm:ss"), customPara:"", flavourId:"flavour-No-001", vnfmid:"-1", vimId:"-1", alarmbtndisabled:true, alarmbtnvalue:"模拟告警" }, VDUInfo : { oid:"", name:"wangyg test vdu001", moc:"nfv.vdu.linux", ipAddress:"10.74.75.8", vendor:"", version:"", type:"", vduImage:"ubuntu12.0", parentOid:"", vnfId:"-1", createTime:commonUtil.parseDate(new Date(),"yyyy-MM-dd hh:mm:ss"), customPara:"", flavourId:"flavour-No-001", vimId:"-1", hostId:"-1", alarmbtndisabled:true, alarmbtnvalue:"模拟告警" }, VNFCInfo : { oid:"", name:"wangyg test VNFC", moc:"nfv.vnfc.bn.vbras.protocol", ipAddress:"", vendor:"", version:"", type:"", vnfId:"-1", vduId:"-1", createTime:commonUtil.parseDate(new Date(),"yyyy-MM-dd hh:mm:ss"), alarmbtndisabled:true, alarmbtnvalue:"模拟告警" }, NSInfo : { oid:"", name:"wangyg编排服务测试1", moc:"nfv.ns.raisecom.nanocellgw", vendor:"zte", version:"ns1.0", type:"CN", nsd:"nsd1", autoScalePolicy:"", monitoringParameter:"", flavour:"e2d65cc9", status:"active", customPara:"", vnfIds:[], alarmbtndisabled:true, alarmbtnvalue:"模拟告警" }, $operationResult:{ success:"SUCCESS", fail:"FAIL" }, $queryVimInfoUrl : '/api/roc/v1/resource/vims', $queryHostInfoUrl : '/api/roc/v1/resource/hosts', $queryVnfInfoUrl : '/api/roc/v1/resource/vnfs', $queryVduInfoUrl : '/api/roc/v1/resource/vdus', $queryVnfmInfoUrl : '/api/roc/v1/resource/vnfms', $addVduInfoUrl: '/api/roc/v1/resource/vdus', $addVnfcInfoUrl: '/api/roc/v1/resource/vnfcs', $addVnfInfoUrl: '/api/roc/v1/resource/vnfs', $addHostInfoUrl: '/api/roc/v1/resource/hosts', $addNSInfoUrl: '/api/roc/v1/resource/nsrs', $raiseAlarmUrl:'/api/umc/v1/monitor/alarm', vimList:[], hostList:[], vnfList:[], vduList:[], vnfmList:[], $raiseAlarm : function(oid,name) { if(oid=='' || oid==undefined || oid==null){ vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text="oid为空,无法发送告警!请先创建资源吧~"; return; } vm.server_rtn.info_text="模拟了如下资源的告警 资源ID:"+oid+" 名称:"+name; $.ajax({ type: "POST", url: vm.$raiseAlarmUrl, data: oid, contentType:"text/plain; charset=utf-8", //发送信息至服务器时内容编码类型 success: function (data) { vm.server_rtn.warning_block=false; vm.server_rtn.info_block=true; vm.server_rtn.info_text=vm.server_rtn.info_text+"
服务器返回信息:"+data; }, error: function(XMLHttpRequest, textStatus, errorThrown) { vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text=+"服务器返回错误:"+textStatus+":"+errorThrown; } }); }, $addNS : function() { if (vm.NSInfo.vnfIds.length==0) { alert("请选择包含的VNF"); return false; } $.ajax({ type: "POST", url: vm.$addNSInfoUrl, contentType:"application/json", data: JSON.stringify({ name:vm.NSInfo.name, moc:vm.NSInfo.moc, vendor:vm.NSInfo.vendor, version:vm.NSInfo.version, type:vm.NSInfo.type, customPara:vm.NSInfo.customPara, nsd:vm.NSInfo.nsd, autoScalePolicy:vm.NSInfo.autoScalePolicy, monitoringParameter:vm.NSInfo.monitoringParameter, flavour:vm.NSInfo.flavour, status:vm.NSInfo.status, vnfIds:vm.NSInfo.vnfIds }), dataType: "json", success: function (data) { if (data.operationResult == vm.$operationResult.success) { vm.server_rtn.warning_block=false; vm.server_rtn.info_block=true; vm.server_rtn.info_text="保存成功!新建NS的id为:"+data.oid; updateAlarmBtnState(vm.NSInfo); vm.NSInfo.oid=data.oid; } else{ vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text="保存NS失败!接口返回错误信息:"+data.exception; } }, error: function(XMLHttpRequest, textStatus, errorThrown) { vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text=textStatus+":"+errorThrown; } }); }, $addHost : function() { if (vm.HOSTInfo.vimId=="-1") { alert("请选择所属VIM"); return false; } $.ajax({ type: "POST", url: vm.$addHostInfoUrl, contentType:"application/json", data: JSON.stringify({ name:vm.HOSTInfo.name, moc:vm.HOSTInfo.moc, ipAddress:vm.HOSTInfo.ipAddress, vendor:vm.HOSTInfo.vendor, version:vm.HOSTInfo.version, type:vm.HOSTInfo.type, customPara:vm.HOSTInfo.customPara, user:vm.HOSTInfo.user, password:vm.HOSTInfo.password, port:vm.HOSTInfo.port, protocol:vm.HOSTInfo.protocol, vimId:vm.HOSTInfo.vimId }), dataType: "json", success: function (data) { if (data.operationResult == vm.$operationResult.success) { vm.server_rtn.warning_block=false; vm.server_rtn.info_block=true; vm.server_rtn.info_text="保存成功!新建Host的id为:"+data.oid; updateAlarmBtnState(vm.HOSTInfo); vm.HOSTInfo.oid=data.oid; } else{ vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text="保存Host失败!接口返回错误信息:"+data.exception; } }, error: function(XMLHttpRequest, textStatus, errorThrown) { vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text=textStatus+":"+errorThrown; } }); }, $addVNF : function() { if (vm.VNFInfo.vnfmid == "-1"||vm.VNFInfo.vimId=="-1") { alert("请选择所属的VNFM和VIM"); return false; } $.ajax({ type: "POST", url: vm.$addVnfInfoUrl, contentType:"application/json", data: JSON.stringify({ name:vm.VNFInfo.name, moc:vm.VNFInfo.moc, ipAddress:vm.VNFInfo.ipAddress, vendor:vm.VNFInfo.vendor, version:vm.VNFInfo.version, type:vm.VNFInfo.type, vnfd:vm.VNFInfo.vnfd, autoScalePolicy:vm.VNFInfo.autoScalePolicy, localization:vm.VNFInfo.localization, monitoringParameter:vm.VNFInfo.monitoringParameter, status:vm.VNFInfo.status, customPara:vm.VNFInfo.customPara, flavourId:vm.VNFInfo.flavourId, vnfmid:vm.VNFInfo.vnfmid, vimId:vm.VNFInfo.vimId, createTime:vm.VNFInfo.createTime }), dataType: "json", success: function (data) { if (data.operationResult == vm.$operationResult.success) { vm.server_rtn.warning_block=false; vm.server_rtn.info_block=true; vm.server_rtn.info_text="保存成功!新建VNF的id为:"+data.oid; updateAlarmBtnState(vm.VNFInfo); vm.VNFInfo.oid=data.oid; } else{ vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text="保存VNF失败!接口返回错误信息:"+data.exception; } }, error: function(XMLHttpRequest, textStatus, errorThrown) { vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text=textStatus+":"+errorThrown; } }); }, $addVNFC : function() { if (vm.VNFCInfo.vnfId == "-1" ||vm.VNFCInfo.vduId =="-1") { alert("请选择所属的VNF和部署到的VDU"); return false; } $.ajax({ type: "POST", url: vm.$addVnfcInfoUrl, contentType:"application/json", data: JSON.stringify({ name:vm.VNFCInfo.name, moc:vm.VNFCInfo.moc, ipAddress:vm.VNFCInfo.ipAddress, vendor:vm.VNFCInfo.vendor, version:vm.VNFCInfo.version, type:vm.VNFCInfo.type, vnfId:vm.VNFCInfo.vnfId, vduId:vm.VNFCInfo.vduId, createTime:vm.VNFCInfo.createTime }), dataType: "json", success: function (data) { if (data.operationResult == vm.$operationResult.success) { vm.server_rtn.warning_block=false; vm.server_rtn.info_block=true; vm.server_rtn.info_text="保存成功!新建VNFC的id为:"+data.oid; updateAlarmBtnState(vm.VNFCInfo); vm.VNFCInfo.oid=data.oid; } else{ vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text="保存VNFC失败!接口返回错误信息:"+data.exception; } }, error: function(XMLHttpRequest, textStatus, errorThrown) { vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text=textStatus+":"+errorThrown; } }); }, $addVDU : function() { if (vm.VDUInfo.vnfId=="-1"||vm.VDUInfo.vimId=="-1"||vm.VDUInfo.hostId=="-1") { alert("请选择vim、host和vnf信息"); return false; } $.ajax({ type: "POST", url: vm.$addVduInfoUrl, //contentType:"application/json;charset=utf-8", //发送信息至服务器时内容编码类型。 contentType:"application/json", data: JSON.stringify({ name:vm.VDUInfo.name, moc:vm.VDUInfo.moc, ipAddress:vm.VDUInfo.ipAddress, vendor:vm.VDUInfo.vendor, version:vm.VDUInfo.version, type:vm.VDUInfo.type, vduImage:vm.VDUInfo.vduImage, parentOid:vm.VDUInfo.parentOid, vnfId:vm.VDUInfo.vnfId, createTime:vm.VDUInfo.createTime, customPara:vm.VDUInfo.customPara, flavourId:vm.VDUInfo.flavourId, vimId:vm.VDUInfo.vimId, hostId:vm.VDUInfo.hostId }), dataType: "json", success: function (data) { if (data.operationResult == vm.$operationResult.success) { vm.server_rtn.warning_block=false; vm.server_rtn.info_block=true; vm.server_rtn.info_text="保存成功!新建VDU的id为:"+data.oid; updateAlarmBtnState(vm.VDUInfo); vm.VDUInfo.oid=data.oid; } else{ vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text="保存VDU失败!接口返回错误信息:"+data.exception; } }, error: function(XMLHttpRequest, textStatus, errorThrown) { vm.server_rtn.info_block=false; vm.server_rtn.warning_block=true; vm.server_rtn.warning_text=textStatus+":"+errorThrown; } }); } }); avalon.scan(); //公共方法,在点击了保存并保存成功后将模拟告警按钮置灰6秒钟 var updateAlarmBtnState=function(node){ var waitsecs = 6; var i=1; node.alarmbtndisabled=true; node.alarmbtnvalue="喝杯茶,稍等"+ waitsecs +"秒"; var id = setInterval(function(){ if(i