diff options
-rw-r--r-- | src/main/resources/META-INF/resources/designer/partials/portfolios/tca_properties.html | 235 | ||||
-rw-r--r-- | src/main/resources/clds/globalClds.properties | 2 |
2 files changed, 86 insertions, 151 deletions
diff --git a/src/main/resources/META-INF/resources/designer/partials/portfolios/tca_properties.html b/src/main/resources/META-INF/resources/designer/partials/portfolios/tca_properties.html index 7305fd91a..238e37ad5 100644 --- a/src/main/resources/META-INF/resources/designer/partials/portfolios/tca_properties.html +++ b/src/main/resources/META-INF/resources/designer/partials/portfolios/tca_properties.html @@ -70,17 +70,22 @@ } #tcaEditHolder{ - height:260px; background-color: #f5f5f5; - padding:10px 0px; + padding:10px 10px; margin: 15px 15px 0 0; float: right; } + + +#tcaEditHolder #properties_tab>div+div { + margin-top: 10px; +} + .tcaErr{ display:none; text-align:center; margin-bottom:20px; - color:red;" + color:red; } .tcaParentItems { @@ -155,12 +160,6 @@ <div style="height: 10px"></div> <div class="panel panel-default" id="panelHolder"> - <div class="panel-heading"> - <ul id="nav_Tabs" class="nav nav-tabs"> - <li class><a id="add_one_more" href="#desc_tab"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a></li> - </ul> - </div> - <span id="formSpan" style="display:none;"> <div class="panel-body"> @@ -179,19 +178,6 @@ <input class="form-control" onkeydown="return false;" type="text" id="tuuid" name="tuuid"></input> </div> </div> - - <div class="col-sm-8 form-group" style="display:none;"> - <label class="col-sm-3"> NF Code </label> - <div class="col-sm-9" style="padding:0px;"> - <input class="form-control" onkeydown="return false;" type="text" id="tnfc" name="tnfc"></input> - </div> - </div> - - <div class="col-sm-3 form-group"> - <label class="col-sm-8"> Enable </label> - <input class="col-sm-4" type="checkbox" style="height:21px; - width:21px; margin:6px;" checked="checked" id="tcaEnab" name="tcaEnab"></input> - </div> </div> <div class="row"> <div class="col-sm-8 form-group"> @@ -200,6 +186,12 @@ <select name="tcaPol" id="tcaPol" enableFilter="true"></select> </div> </div> + <div class="col-sm-8 form-group"> + <label class="col-sm-3">EventName</label> + <div class="col-sm-9" style="padding:0px;"> + <select name="eventName" id="eventName" enableFilter="true"></select> + </div> + </div> <div class="col-sm-8 form-group" style="display:none;"> <label class="col-sm-3"> Policy ID </label> @@ -207,27 +199,7 @@ <input class="form-control" onkeydown="return false;" type="text" id="tcaPolId" name="tcaPolId"></input> </div> </div> - - <div class="col-sm-3 form-group"> - <label class="col-sm-8">Max Intervals</label> - <input class="col-sm-4 form-control" style="width:80%" type="text" maxlength="3" - id="tcaInt" onkeypress="return isNumberKey(event)" name="tcaInt"></input> - </div> - </div> - <div class="row"> - <div class="col-sm-8 form-group"> - <label class="col-sm-3"> Severity </label> - <div class="col-sm-9" style="padding:0px;"> - <select name="tcaSev" id="tcaSev" enableFilter="false"> - </select> - </div> - </div> - - <div class="col-sm-3 form-group"> - <label class="col-sm-8">Min Violations</label> - <input class="col-sm-4 form-control" style="width:80%" type="text" maxlength="3" - id="tcaVio" onkeypress="return isNumberKey(event)" name="tcaVio"></input> - </div> + </div> </form> @@ -250,26 +222,38 @@ <div id="tcaEditHolder" class="panel panel-default col-sm-6"> <div class="tab-content"> - <div id="properties_tab" style="padding:10px;" class="form-horizontal"> - <div style="margin-bottom:20px;"> + <div id="properties_tab" class="form-vertical"> + <div> <label class="control-label">Metric</label> <div> <select id="fieldPathM" name="fieldPathM"></select> </div> </div> - <div style="margin-bottom:20px;"> + <div> <label class="control-label">Operator</label> <div> <select id="operator" name="operator"></select> </div> </div> - <div style="margin-bottom:20px;"> + <div> <label class="control-label">Threshold</label> <div> <input type="text" maxlength="10" class="form-control" name="threshold" onkeypress="return isNumberKey(event)" id="threshold"></input> </div> </div> + <div> + <label class="control-label">Control Loop Schema</label> + <div> + <select id="controlLoopSchema" name="controlLoopSchema"></select> + </div> + </div> + <div> + <label class="control-label">Closed Loop Event Status</label> + <div> + <select id="closedLoopEventStatus" name="closedLoopEventStatus"></select> + </div> + </div> </div> </div> </div> @@ -289,7 +273,16 @@ class="btn btn-primary">Cancel</button> </div> - <script> + <script language="javascript"> + // helper that make jquery objects visibles or invisible + // to use instead of show to keep placeholder size correct + jQuery.fn.visible = function() { + return this.css('visibility', 'visible'); + }; + jQuery.fn.invisible = function() { + return this.css('visibility', 'hidden'); + }; + var generateTUUID = function(count){ var d = new Date().getTime(); var tuuid = 'xxxxxxxx-xxxx-txxx-xxxx-xxxxxxxxxxxx'.replace(/[x]/g, function(c){ @@ -298,30 +291,17 @@ return (c == 'x' ? r : (r*0x3|0*8)).toString(16); }); $("#formId" + count + " #tuuid").val(tuuid); - } - - $("#add_one_more").click(function(event) { - event.preventDefault(); - if ($("#nav_Tabs li.active").length>0){ - var oldCount = $("#nav_Tabs li.active").find("a").attr("id").slice(-1); - if (($('#formId'+oldCount+' #tcaTable .highlight').length > 0 ) && - (!($('#formId'+oldCount+' #threshold').val()) || !($('#formId'+oldCount+' #fieldPathM').val())) ) { - $('#formId'+oldCount+' #tcaError').show(); - return; - } else { - $('#formId'+oldCount+' .tcaErr').hide(); - if ($('#formId'+oldCount+' #tcaTable .highlight').length > 0){ - $('#formId'+oldCount+' #tcaTable .highlight td').text( - $('#formId'+oldCount+' #fieldPathM').val() + ' ' + - $('#formId'+oldCount+' #operator').val() + ' ' + - $('#formId'+oldCount+' #threshold').val()); - } - $("#formId"+oldCount+" #tcaTable .highlight").removeClass("highlight") - } - } - var count = add_one_more(); - generateTUUID(count); - }) + }; + + + var propertiesToString = function(formIdNum) { + return $('#formId'+formIdNum+' #fieldPathM').find(':selected').text() + ' ' + + $('#formId'+formIdNum+' #operator').val() + ' ' + + $('#formId'+formIdNum+' #threshold').val() + ' ' + + $('#formId'+formIdNum+' #controlLoopSchema').val() + ' ' + + $('#formId'+formIdNum+' #closedLoopEventStatus').val(); + }; + loadPropertyWindow("tca"); //load dropdown with policy options @@ -340,79 +320,51 @@ } } } - + + var fieldPathMLabel2Value = function(label) { + return Object.keys(defaults_props['tca']['fieldPathM']).find(key => defaults_props['tca']['fieldPathM'][key] == label) + } + var fieldPathMValue2Label = function(value) { + return defaults_props['tca']['fieldPathM'][value]; + } + setASDCFields(); - - //load metrics dropdown - if (elementMap["global"]){ - for (var i = 0; i < (elementMap["global"].length); i++){ - if ((elementMap["global"][i]["name"]) == "vf"){ - var vfSel = elementMap["global"][i]["value"]; - if (vf_Services["shared"]["byVf"][vfSel]["kpi"]){ - $.each((vf_Services["shared"]["byVf"][vfSel]["kpi"]), function(val, text) { - $('#fieldPathM').append( - $('<option></option>').val(val).html(text) - ); - }); - } - break; - }; - }; - }; - + var arr = elementMap[lastElementSelected]; - + if (arr !== undefined) { for (var x in arr){ var num = add_one_more(); - var setCheck = true; for (var i=0; i< arr[x].length; i++){ - if (arr[x][i].name=='tcaEnab'){ - $("#formId" + num + " #tcaEnab").prop("checked","true"); - setCheck = false; - } if (arr[x][i].hasOwnProperty('serviceConfigurations')){ for (var j=0; j<arr[x][i]["serviceConfigurations"].length; j++){ $("#formId" + num + " #tcaTable").prepend("<tr><td>" - +arr[x][i]["serviceConfigurations"][j][0]+" " - //+(defaults_props['tca']['operator']).getKey(arr[x][i]["serviceConfigurations"][j][1])+" " - +(Object.keys(defaults_props['tca']['operator']).find(key => defaults_props['tca']['operator'][key] == (arr[x][i]["serviceConfigurations"][j][1])))+ " " - +arr[x][i]["serviceConfigurations"][j][2]+"</td></tr>"); + +fieldPathMValue2Label(arr[x][i]["serviceConfigurations"][j][0])+ " " + +(Object.keys(defaults_props['tca']['operator']).find(key => defaults_props['tca']['operator'][key] == (arr[x][i]["serviceConfigurations"][j][1])))+ " " + +arr[x][i]["serviceConfigurations"][j][2]+" " + +arr[x][i]["serviceConfigurations"][j][3]+" " + +arr[x][i]["serviceConfigurations"][j][4]+"</td></tr>"); } } else { $("#formId" + num + " #"+arr[x][i].name).val(arr[x][i].value); } } - if (setCheck){ - $("#formId" + num + " #tcaEnab").prop("checked",false); - } $('#go_properties_tab'+num).text($('#formId' +num+ ' #tname').val()); - $("#formId"+num + " #properties_tab").hide(); + $("#formId"+num + " #properties_tab").invisible(); } } $("#savePropsBtn").click(function(event) { - var num = $('#nav_Tabs .active a').attr('id').slice(-1); - var tabs = []; - $('#nav_Tabs li:not(:last)').each(function(){ - tabs.push($(this).text()); - }); - var nonunique = uniquet(tabs); + var num = 1 if (($('#formId'+num+' #tcaTable .highlight').length > 0 ) && (!($('#formId'+num+' #threshold').val()) || !($('#formId'+num+' #fieldPathM').val())) ) { $('#formId'+num+' #tcaError').show(); return; - } else if (nonunique){ - $('#formId'+num+' #tcaUnique').show(); - return; } else { $('#formId'+num+' .tcaErr').hide(); if ($('#formId'+num+' #tcaTable .highlight').length > 0){ - $('#formId'+num+' #tcaTable .highlight td').text( - $('#formId'+num+' #fieldPathM').val() + ' ' + - $('#formId'+num+' #operator').val() + ' ' + - $('#formId'+num+' #threshold').val()); + $('#formId'+num+' #tcaTable .highlight td').text(propertiesToString(num)); } var saveP = {}; $('.formId').each(function(){ @@ -420,23 +372,11 @@ var header = $(this).find('.tcaParentItems').serializeArray(); var sconf = {}; var sconfa = []; - var checkNF = true; $('#formId' +count+' #tcaTable tr').each(function(){ $('td', this).each(function(){ var splitTd = $(this).text().split(' '); + splitTd[0]=fieldPathMLabel2Value(splitTd[0]); splitTd[1]=defaults_props['tca']['operator'][splitTd[1]]; - var checkByKpi = vf_Services["shared"]["byKpi"][splitTd[0].replace(/\s/g, "")]; - if (checkByKpi["fieldPath"]){ - splitTd.push(Object.keys(vf_Services["shared"]["byKpi"][splitTd[0].replace(/\s/g, "")]["fieldPath"])[0]); - }; - if ((checkByKpi["nfNamingCode"]) && (checkNF)){ - $.grep(header, function(e,i){ - if (e.name == "tnfc"){ - header[i]["value"] = (Object.keys(checkByKpi["nfNamingCode"])[0]); - } - }); - checkNF = false; - } sconfa.push(splitTd); }); @@ -505,7 +445,7 @@ $("#add_one_more").parent().before(' <li class="active"><a id="go_properties_tab'+count+'">New_Set</a><button id="tab_close'+count+'" type="button" class="close tab-close-popup" aria-hidden="true" style="margin-top: -30px;margin-right: 5px">×</button></li>'); $("#formId"+count).append(form); - $('#formId'+count+ ' #properties_tab').hide(); + $('#formId'+count+ ' #properties_tab').invisible(); $(".formId").not($("#formId"+count)).css("display","none"); addCustListen(count); setMultiSelect(); @@ -531,10 +471,7 @@ } else { $('#formId'+oldCount+' .tcaErr').hide(); if ($('#formId'+oldCount+' #tcaTable .highlight').length > 0){ - $('#formId'+oldCount+' #tcaTable .highlight td').text( - $('#formId'+oldCount+' #fieldPathM').val() + ' ' + - $('#formId'+oldCount+' #operator').val() + ' ' + - $('#formId'+oldCount+' #threshold').val()); + $('#formId'+oldCount+' #tcaTable .highlight td').text(propertiesToString(oldCount)); } $("#formId"+oldCount+" #tcaTable .highlight").removeClass("highlight") } @@ -559,19 +496,18 @@ } else { $('#formId'+count+' .tcaErr').hide(); if ($('#formId'+count+' #tcaTable .highlight').length > 0){ - $('#formId'+count+' #tcaTable .highlight td').text( - $('#formId'+count+' #fieldPathM').val() + ' ' + - $('#formId'+count+' #operator').val() + ' ' + - $('#formId'+count+' #threshold').val()); + $('#formId'+count+' #tcaTable .highlight td').text(propertiesToString(num)); } //$('#formId'+count+' #tcaTable .highlight').text(); $(this).addClass('highlight').siblings().removeClass('highlight'); var str = $(this).text().split(' '); - $('#formId'+count + ' #properties_tab').show(); - if (str.length == 3){ - $('#formId'+count+' #fieldPathM').val(str[0]).multiselect('refresh'); + $('#formId'+count + ' #properties_tab').visible(); + if (str.length == 5){ + $('#formId'+count+' #fieldPathM').val(fieldPathMLabel2Value(str[0])).multiselect('refresh'); $('#formId'+count+' #operator').val(str[1]).multiselect('refresh'); $('#formId'+count+' #threshold').val(str[2]); + $('#formId'+count+' #controlLoopSchema').val(str[3]).multiselect('refresh'); + $('#formId'+count+' #closedLoopEventStatus').val(str[4]).multiselect('refresh'); } if ((!(readOnly||readMOnly)) && ($('#formId'+count + ' #deleteThresh').prop('disabled'))) { @@ -582,7 +518,7 @@ $('#formId'+count+' #deleteThresh').on('click', function(){ $('#formId'+num+' .tcaErr').hide(); - $('#formId'+count+ ' #properties_tab').hide(); + $('#formId'+count+ ' #properties_tab').invisible(); $('#formId'+count+ ' #tcaTable .highlight').remove(); $('#formId'+count+ ' #deleteThresh').prop('disabled', true); }); @@ -595,12 +531,9 @@ } else { $('#formId'+count+' .tcaErr').hide(); if ($('#formId'+count+' #tcaTable .highlight').length > 0){ - $('#formId'+count+' #tcaTable .highlight td').text( - $('#formId'+count+' #fieldPathM').val() + ' ' + - $('#formId'+count+' #operator').val() + ' ' + - $('#formId'+count+' #threshold').val()); + $('#formId'+count+' #tcaTable .highlight td').text(propertiesToString(count)); } - $('#formId'+count+ ' #properties_tab').show(); + $('#formId'+count+ ' #properties_tab').visible(); if (('#formId'+count+' #tcaTable .highlight').length > 0 ){ $('#formId'+count+' #tcaTable tr.highlight').removeClass('highlight'); } @@ -608,7 +541,9 @@ $('#formId'+count+' #fieldPathM').prop("selectedIndex", 0).multiselect('refresh'); $('#formId'+count+' #operator').prop("selectedIndex", 0).multiselect('refresh'); $('#formId'+count+' #threshold').val(""); - + $('#formId'+count+' #controlLoopSchema').prop("selectedIndex", 0).multiselect('refresh'); + $('#formId'+count+' #closedLoopEventStatus').prop("selectedIndex", 0).multiselect('refresh'); + if ($('#formId'+count + ' #deleteThresh').prop('disabled')) { $('#formId'+count + ' #deleteThresh').prop('disabled', false); } diff --git a/src/main/resources/clds/globalClds.properties b/src/main/resources/clds/globalClds.properties index ac4f0cf30..d21afbcf7 100644 --- a/src/main/resources/clds/globalClds.properties +++ b/src/main/resources/clds/globalClds.properties @@ -21,4 +21,4 @@ # ECOMP is a trademark and service mark of AT&T Intellectual Property. ### -globalCldsProps ={"tca":{"tname":"New_Set","tcaInt":"1","tcaVio":"1","tcaSev":{"NORMAL":"NORMAL","CRITICAL":"CRITICAL","MAJOR":"MAJOR","MINOR":"MINOR","WARNING":"WARNING"},"fieldPath":{"FIELDPATH_test_1":"FIELDPATH_test_1","FIELDPATH_test_2":"FIELDPATH_test_2"},"operator":{">":"GREATER","=":"EQUAL","<":"LESS"},"opsPolicy":{"POLICY_test_X":"POLICY_test_X","POLICY_test_Y":"POLICY_test_Y"}},"global":{"actionSet":{"vnfRecipe":"VNF", "enbRecipe":"eNodeB"},"location":{"SNDGCA64":"San Diego SAN3","ALPRGAED":"Alpharetta PDK1","LSLEILAA":"Lisle DPA3","MDTWNJC1":"FTL_C_location1","MDTWNJC2":"FTL_C_location2","MDTWNJ21":"FTL_L_location1","MDTWNJ22":"FTL_L_location2","RDM2WAGPLCP":"ISTFTL_location","RDM3":"RDM3WAGPLCP"}},"policy":{"pname":"0","timeout":345,"vnfRecipe":{"":"","restart":"Restart","rebuild":"Rebuild","migrate":"Migrate","healthCheck":"Health Check"},"enbRecipe":{"":"","reset":"Reset"},"maxRetries":"3","retryTimeLimit":180,"resource":{"vCTS":"vCTS","v3CDB":"v3CDB","vUDR":"vUDR","vCOM":"vCOM","vRAR":"vRAR","vLCS":"vLCS","vUDR-BE":"vUDR-BE","vDBE":"vDBE"},"parentPolicyConditions":{"Failure_Retries":"Failure: Max Retries Exceeded","Failure_Timeout":"Failure: Time Limit Exceeded","Failure_Guard":"Failure: Guard","Failure_Exception":"Failure: Exception","Failure":"Failure: Other","Success":"Success"}},"shared":{"byService":{"":{"vf":{"":""},"location":{"":""},"alarmCondition":{"":""}}},"byVf":{"":{"vfc":{"":""}}}}}
\ No newline at end of file +globalCldsProps ={"tca":{"tname":"New_Set","tcaInt":"1","tcaVio":"1","eventName":{"vCPEvGMUXPacketLoss":"vCPEvGMUXPacketLoss","vLoadBalancer":"vLoadBalancer","vFirewallBroadcastPackets":"vFirewallBroadcastPackets"},"fieldPathM":{"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated":"receivedBroadcastPacketsAccumulated","$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta":"receivedDiscardedPacketsDelta"},"operator":{">":"GREATER",">=":"GREATER_OR_EQUAL","=":"EQUAL","<=":"LESS_OR_EQUAL","<":"LESS"},"opsPolicy":{"POLICY_test_X":"POLICY_test_X","POLICY_test_Y":"POLICY_test_Y"},"controlLoopSchema":{"":"","VM":"VM","VNF":"VNF"},"closedLoopEventStatus":{"":"","ONSET":"ONSET","ABATED":"ABATED"}},"global":{"actionSet":{"vnfRecipe":"VNF", "enbRecipe":"eNodeB"},"location":{"SNDGCA64":"San Diego SAN3","ALPRGAED":"Alpharetta PDK1","LSLEILAA":"Lisle DPA3","MDTWNJC1":"FTL_C_location1","MDTWNJC2":"FTL_C_location2","MDTWNJ21":"FTL_L_location1","MDTWNJ22":"FTL_L_location2","RDM2WAGPLCP":"ISTFTL_location","RDM3":"RDM3WAGPLCP"}},"policy":{"pname":"0","timeout":345,"vnfRecipe":{"":"","restart":"Restart","rebuild":"Rebuild","migrate":"Migrate","healthCheck":"Health Check"},"enbRecipe":{"":"","reset":"Reset"},"maxRetries":"3","retryTimeLimit":180,"resource":{"vCTS":"vCTS","v3CDB":"v3CDB","vUDR":"vUDR","vCOM":"vCOM","vRAR":"vRAR","vLCS":"vLCS","vUDR-BE":"vUDR-BE","vDBE":"vDBE"},"parentPolicyConditions":{"Failure_Retries":"Failure: Max Retries Exceeded","Failure_Timeout":"Failure: Time Limit Exceeded","Failure_Guard":"Failure: Guard","Failure_Exception":"Failure: Exception","Failure":"Failure: Other","Success":"Success"}},"shared":{"byService":{"":{"vf":{"":""},"location":{"":""},"alarmCondition":{"":""}}},"byVf":{"":{"vfc":{"":""}}}}} |