Authored by qinchao

nginx切换调整

... ... @@ -91,7 +91,7 @@ public class TopoSwitchCtrl {
List<String> ipInWeight=(ArrayList<String>)lbMap.get(key);
if(ipInWeight!=null&&ipInWeight.size()>0){
String forward_nginx="forward_nginx_by_"+keys[0]+"_"+keys[1];
String forward_nginx=keys[0]+"_"+keys[1];
if(forward_nginx_Map.get(forward_nginx)==null){
forward_nginx_Map.put(forward_nginx,new ArrayList<String>());
}
... ...
... ... @@ -87,21 +87,21 @@
</button>
<div class="col-sm-8" style="display: inline">
<div class="rdio rdio-default" style="display:inline;">
<input type="radio" name="target_operate_nginx" id="az1_target_operate_az1" secondgroup="az1"
<input type="radio" name="az1_target_operate_nginx" id="az1_target_operate_nginx_az1" secondgroup="az1"
value="az1" />
<label for="az1_target_operate_az1">az1</label>
<label for="az1_target_operate_nginx_az1">az1</label>
</div>
<div class="rdio rdio-default" style="display:inline;margin-left:30px;">
<input type="radio" name="target_operate_nginx" id="az1_target_operate_az2" secondgroup="az1"
<input type="radio" name="az1_target_operate_nginx" id="az1_target_operate_nginx_az2" secondgroup="az1"
value="az2" />
<label for="az1_target_operate_az2">az2</label>
<label for="az1_target_operate_nginx_az2">az2</label>
</div>
<div class="rdio rdio-default" style="display:inline;margin-left:30px;">
<input type="radio" name="target_operate_nginx" id="az1_target_operate_az3" secondgroup="az1"
<input type="radio" name="az1_target_operate_nginx" id="az1_target_operate_nginx_az3" secondgroup="az1"
value="az3" />
<label for="az1_target_operate_az3">az3</label>
<label for="az1_target_operate_nginx_az3">az3</label>
</div>
<button class=" btn btn-sm btn-success"
... ... @@ -119,21 +119,21 @@
</button>
<div class="col-sm-8" style="display: inline">
<div class="rdio rdio-default" style="display:inline;">
<input type="radio" name="target_operate_nginx" id="az2_target_operate_az1" secondgroup="az2"
<input type="radio" name="az2_target_operate_nginx" id="az2_target_operate_nginx_az1" secondgroup="az2"
value="az1" />
<label for="az2_target_operate_az1">az1</label>
<label for="az2_target_operate_nginx_az1">az1</label>
</div>
<div class="rdio rdio-default" style="display:inline;margin-left:30px;">
<input type="radio" name="target_operate_nginx" id="az2_target_operate_az2" secondgroup="az2"
<input type="radio" name="az2_target_operate_nginx" id="az2_target_operate_nginx_az2" secondgroup="az2"
value="az2" />
<label for="az2_target_operate_az2">az2</label>
<label for="az2_target_operate_nginx_az2">az2</label>
</div>
<div class="rdio rdio-default" style="display:inline;margin-left:30px;">
<input type="radio" name="target_operate_nginx" id="az2_target_operate_az3" secondgroup="az2"
<input type="radio" name="az2_target_operate_nginx" id="az2_target_operate_nginx_az3" secondgroup="az2"
value="az3" />
<label for="az2_target_operate_az3">az3</label>
<label for="az2_target_operate_nginx_az3">az3</label>
</div>
<button class=" btn btn-sm btn-success"
... ... @@ -152,21 +152,21 @@
</button>
<div class="col-sm-8" style="display: inline">
<div class="rdio rdio-default" style="display:inline;">
<input type="radio" name="target_operate_nginx" id="az3_target_operate_az1" secondgroup="az3"
<input type="radio" name="az3_target_operate_nginx" id="az3_target_operate_nginx_az1" secondgroup="az3"
value="az1" />
<label for="az3_target_operate_az1">az1</label>
<label for="az3_target_operate_nginx_az1">az1</label>
</div>
<div class="rdio rdio-default" style="display:inline;margin-left:30px;">
<input type="radio" name="target_operate_nginx" id="az3_target_operate_az2" secondgroup="az3"
<input type="radio" name="az3_target_operate_nginx" id="az3_target_operate_nginx_az2" secondgroup="az3"
value="az2" />
<label for="az3_target_operate_az2">az2</label>
<label for="az3_target_operate_nginx_az2">az2</label>
</div>
<div class="rdio rdio-default" style="display:inline;margin-left:30px;">
<input type="radio" name="target_operate_nginx" id="az3_target_operate_az3" secondgroup="az3"
<input type="radio" name="az3_target_operate_nginx" id="az3_target_operate_nginx_az3" secondgroup="az3"
value="az3" />
<label for="az3_target_operate_az3">az3</label>
<label for="az3_target_operate_nginx_az3">az3</label>
</div>
<button class=" btn btn-sm btn-success"
... ... @@ -186,7 +186,7 @@
</div>
<script src="<%=basePath %>script/common/genarate_left_panel.js?v=<%=ProjectConstant.MENU_VERSION %>"></script>
<script src="<%=basePath %>script/switch.js?v=20180529-001"></script>
<script src="<%=basePath %>script/switch.js?v=20180529-002"></script>
<script type="text/javascript">
$("#li_switch").addClass("active open");
... ...
... ... @@ -59,47 +59,44 @@ function drawData(resp) {
var link = newFoldLink(scene,appNode, askServer, '问询');
link.arrowsRadius = 10;
var elbMap={};
var elb_az1_outer = newNode(scene,appNodeX+80,appNodeY+150,appNodeW,appNodeH,'elb_az1_outer');
resetLbNodeIp(elb_az1_outer,data);
elbMap.az1_outer=elb_az1_outer;
var elb_az1_inner = newNode(scene,appNodeX+80+120,appNodeY+150,appNodeW,appNodeH,'elb_az1_inner');
resetLbNodeIp(elb_az1_inner,data);
elbMap.az1_inner=elb_az1_inner;
container_az1.add(elb_az1_outer);
container_az1.add(elb_az1_inner);
var elb_az2_outer = newNode(scene,appNodeX+400,appNodeY+150,appNodeW,appNodeH,'elb_az2_outer');
resetLbNodeIp(elb_az2_outer,data);
elbMap.az2_outer=elb_az2_outer;
var elb_az2_inner = newNode(scene,appNodeX+400+120,appNodeY+150,appNodeW,appNodeH,'elb_az2_inner');
resetLbNodeIp(elb_az2_inner,data);
elbMap.az2_inner=elb_az2_inner;
container_az2.add(elb_az2_outer);
container_az2.add(elb_az2_inner);
var elb_az3_outer = newNode(scene,appNodeX+720,appNodeY+150,appNodeW,appNodeH,'elb_az3_outer');
resetLbNodeIp(elb_az3_outer,data);
elbMap.az3_outer=elb_az3_outer;
var elb_az3_inner = newNode(scene,appNodeX+720+120,appNodeY+150,appNodeW,appNodeH,'elb_az3_inner');
resetLbNodeIp(elb_az3_inner,data);
elbMap.az3_inner=elb_az3_inner;
container_az3.add(elb_az3_outer);
container_az3.add(elb_az3_inner);
var az1Nginx = newNode(scene,appNodeX+105,appNodeY+250,appNodeW,appNodeH,'az1Nginx');
container_az1.add(az1Nginx);
//var link = newLink(scene,az1Elb, az1Nginx);
//link.arrowsRadius = 10;
for(var i=0;i<data.az1NginxIps.length;i++){
var tmp=newNodeForIp(scene,appNodeX+105+75,appNodeY+250+i*10,1,1,data.az1NginxIps[i]);
tmp.textPosition = 'Middle_Right';
container_az1.add(tmp);
}
var az2Nginx = newNode(scene,appNodeX+425,appNodeY+250,appNodeW,appNodeH,'az2Nginx');
container_az2.add(az2Nginx);
// var link = newLink(scene,az2Elb, az2Nginx);
// link.arrowsRadius = 10;
for(var i=0;i<data.az2NginxIps.length;i++){
var tmp=newNodeForIp(scene,appNodeX+425+75,appNodeY+250+i*10,1,1,data.az2NginxIps[i]);
tmp.textPosition = 'Middle_Right';
... ... @@ -108,101 +105,34 @@ function drawData(resp) {
var az3Nginx = newNode(scene,appNodeX+425+340,appNodeY+250,appNodeW,appNodeH,'az3Nginx');
container_az3.add(az3Nginx);
// var link = newLink(scene,az2Elb, az2Nginx);
// link.arrowsRadius = 10;
for(var i=0;i<data.az3NginxIps.length;i++){
var tmp=newNodeForIp(scene,appNodeX+425+75+340,appNodeY+250+i*10,1,1,data.az3NginxIps[i]);
tmp.textPosition = 'Middle_Right';
container_az3.add(tmp);
}
console.log(elbMap);
for(var key in data.lb_forward_nginx){
var valMap=data.lb_forward_nginx[key];
if(key.indexOf("az1")>=0){
if(key.indexOf("inner")>=0){
if(valMap.indexOf("az1")>=0){
var link = newLink(scene,elb_az1_inner, az1Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az2")>=0){
var link = newLink(scene,elb_az1_inner, az2Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az3")>=0){
var link = newLink(scene,elb_az1_inner, az3Nginx);
link.arrowsRadius = 10;
}
}else if(key.indexOf("outer")>=0){
if(valMap.indexOf("az1")>=0){
var link = newLink(scene,elb_az1_outer, az1Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az2")>=0){
var link = newLink(scene,elb_az1_outer, az2Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az3")>=0){
var link = newLink(scene,elb_az1_outer, az3Nginx);
link.arrowsRadius = 10;
}
}
}else if(key.indexOf("az2")>=0){
if(key.indexOf("inner")>=0){
if(valMap.indexOf("az1")>=0){
var link = newLink(scene,elb_az2_inner, az1Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az2")>=0){
var link = newLink(scene,elb_az2_inner, az2Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az3")>=0){
var link = newLink(scene,elb_az2_inner, az3Nginx);
link.arrowsRadius = 10;
}
}else if(key.indexOf("outer")>=0){
if(valMap.indexOf("az1")>=0){
var link = newLink(scene,elb_az2_outer, az1Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az2")>=0){
var link = newLink(scene,elb_az2_outer, az2Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az3")>=0){
var link = newLink(scene,elb_az2_outer, az3Nginx);
link.arrowsRadius = 10;
}
}
}else if(key.indexOf("az3")>=0){
if(key.indexOf("inner")>=0){
if(valMap.indexOf("az1")>=0){
var link = newLink(scene,elb_az3_inner, az1Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az2")>=0){
var link = newLink(scene,elb_az3_inner, az2Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az3")>=0){
var link = newLink(scene,elb_az3_inner, az3Nginx);
link.arrowsRadius = 10;
}
}else if(key.indexOf("outer")>=0){
if(valMap.indexOf("az1")>=0){
var link = newLink(scene,elb_az3_outer, az1Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az2")>=0){
var link = newLink(scene,elb_az3_outer, az2Nginx);
link.arrowsRadius = 10;
}
if(valMap.indexOf("az3")>=0){
var link = newLink(scene,elb_az3_outer, az3Nginx);
link.arrowsRadius = 10;
}
}
console.log(key);
var tmpElbObj=elbMap[key];
var tmpCloud=key.substr(0,3);
console.log(tmpCloud);
if(valMap.indexOf("az1")>=0){
var link = newLink(scene,tmpElbObj, az1Nginx);
link.arrowsRadius = 10;
$("#"+tmpCloud+"_target_operate_nginx_az1").prop("checked",true);
}
if(valMap.indexOf("az2")>=0){
var link = newLink(scene,tmpElbObj, az2Nginx);
link.arrowsRadius = 10;
$("#"+tmpCloud+"_target_operate_nginx_az2").prop("checked",true);
}
if(valMap.indexOf("az3")>=0){
var link = newLink(scene,tmpElbObj, az3Nginx);
link.arrowsRadius = 10;
$("#"+tmpCloud+"_target_operate_nginx_az3").prop("checked",true);
}
}
... ... @@ -242,43 +172,6 @@ function drawData(resp) {
container_az3.add(tmpNginxIp);
}
/*if('az2' == data.az2ApiNginx){//aws nginx 指向aws gateway
var link = newLink(scene,az2Nginx, az2Gateway,"online");
link.arrowsRadius = 10;
}else if("qq" == data.az2ApiNginx){//aws nginx 指向qq gateway
var link = newLink(scene,az2Nginx, az1Gateway,"online");
link.arrowsRadius = 10;
}*/
/*if('az2' == data.az2GrayNginx){//aws nginx gray 指向aws gateway
var link = newLink(scene,az2Nginx, az2Gateway,"gray");
link.arrowsRadius = 10;
}else if('qq' == data.az2GrayNginx){//aws nginx 指向qq gateway
var link = newLink(scene,az2Nginx, az1Gateway,"gray");
link.arrowsRadius = 10;
}else if('gray' == data.az2GrayNginx){//aws nginx 指向qq gateway
var link = newLink(scene,az2Nginx, grayGateway,"gray");
link.arrowsRadius = 10;
}*/
/*if('az2' == data.qqApiNginx){//qq nginx 指向aws gateway
var link = newLink(scene,az1Nginx, az2Gateway,"online");
link.arrowsRadius = 10;
}else if('qq' == data.qqApiNginx){//qq nginx 指向qq gateway
var link = newLink(scene,az1Nginx, az1Gateway,"online");
link.arrowsRadius = 10;
}*/
/*if('az2' == data.qqGrayNginx){//qq nginx gray 指向aws gateway
var link = newLink(scene,az1Nginx, az2Gateway,"gray");
link.arrowsRadius = 10;
}else if('qq' == data.qqGrayNginx){//aws nginx 指向qq gateway
var link = newLink(scene,az1Nginx, az1Gateway,"gray");
link.arrowsRadius = 10;
}else if('gray' == data.qqGrayNginx){//aws nginx 指向qq gateway
var link = newLink(scene,az1Nginx, grayGateway,"gray");
link.arrowsRadius = 10;
}*/
var link = newLink(scene,az1Nginx, az1Gateway,"");
link.arrowsRadius = 10;
var link = newLink(scene,az2Nginx, az2Gateway,"");
... ... @@ -324,15 +217,18 @@ function resetLbNodeIp(node,data) {
* @param onlineOrGray 切换:线上/灰度
*/
function nginxInitSwitch(cloudName) {
var target = $('input:radio[name=target_operate_nginx]:checked').val();
if(!target){
prompt("提示", "请选择目标nginx!");
return;
var radioArray= ['az1_target_operate_nginx','az2_target_operate_nginx','az3_target_operate_nginx'];
var operatorRadio=cloudName+"_target_operate_nginx";
for(var i= 0;i<radioArray.length;i++){
if(radioArray[i]!=operatorRadio){
$('input:radio[name='+radioArray[i]+']').prop("checked",false);
}
}
if(cloudName!=$('input:radio[name=target_operate_nginx]:checked').attr("secondgroup")){
prompt("提示", "请选择["+cloudName+"区]目标nginx!");
var target = $('input:radio[name='+operatorRadio+']:checked').val();
if(!target){
prompt("提示", "请选择<span style='color:red'>["+cloudName+"区]</span>目标nginx!");
return;
}
... ...