mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-537: cloudstack UI - zone wizard - (1) Advanced SG-Enabled zone: enable VirtualRouter and SecurityGroup provider. (2) Advanced SG-Disabled zone: enable VirtualRouter and VpcVirtualRouter provider.
This commit is contained in:
parent
d9ac544b06
commit
36d175126d
|
|
@ -1896,7 +1896,7 @@
|
|||
clearInterval(enablePhysicalNetworkIntervalID);
|
||||
|
||||
if (result.jobstatus == 1) {
|
||||
//alert("updatePhysicalNetwork succeeded.");
|
||||
//alert("enable physical network succeeded.");
|
||||
|
||||
// ***** Virtual Router ***** (begin) *****
|
||||
var virtualRouterProviderId;
|
||||
|
|
@ -1972,11 +1972,19 @@
|
|||
|
||||
if (result.jobstatus == 1) { //Virtual Router Provider has been enabled successfully
|
||||
advZoneConfiguredVirtualRouterCount++;
|
||||
if(advZoneConfiguredVirtualRouterCount == (args.data.returnedPhysicalNetworks.length * 2)) { //not call addPod() until virtualRouter and vpcVirtualRouter of all physical networks get configured
|
||||
stepFns.addPod({
|
||||
data: args.data
|
||||
});
|
||||
}
|
||||
|
||||
if(advZoneConfiguredVirtualRouterCount == args.data.returnedPhysicalNetworks.length) { //not call next stepFns.addXXX() until virtualRouter of all physical networks get configured
|
||||
if(args.data.zone.sgEnabled != true) { //Advanced SG-disabled zone
|
||||
stepFns.addPod({
|
||||
data: args.data
|
||||
});
|
||||
}
|
||||
else { //args.data.zone.sgEnabled == true //Advanced SG-enabled zone
|
||||
stepFns.addGuestNetwork({
|
||||
data: args.data
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("failed to enable Virtual Router Provider. Error: " + _s(result.jobresult.errortext));
|
||||
|
|
@ -2007,123 +2015,174 @@
|
|||
});
|
||||
// ***** Virtual Router ***** (end) *****
|
||||
|
||||
// ***** VPC Virtual Router ***** (begin) *****
|
||||
var vpcVirtualRouterProviderId;
|
||||
$.ajax({
|
||||
url: createURL("listNetworkServiceProviders&name=VpcVirtualRouter&physicalNetworkId=" + thisPhysicalNetwork.id),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
|
||||
if(items != null && items.length > 0) {
|
||||
vpcVirtualRouterProviderId = items[0].id;
|
||||
}
|
||||
}
|
||||
});
|
||||
if(vpcVirtualRouterProviderId == null) {
|
||||
alert("error: listNetworkServiceProviders API doesn't return VpcVirtualRouter provider ID");
|
||||
return;
|
||||
}
|
||||
if(args.data.zone.sgEnabled != true) { //Advanced SG-disabled zone
|
||||
// ***** VPC Virtual Router ***** (begin) *****
|
||||
var vpcVirtualRouterProviderId;
|
||||
$.ajax({
|
||||
url: createURL("listNetworkServiceProviders&name=VpcVirtualRouter&physicalNetworkId=" + thisPhysicalNetwork.id),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
|
||||
if(items != null && items.length > 0) {
|
||||
vpcVirtualRouterProviderId = items[0].id;
|
||||
}
|
||||
}
|
||||
});
|
||||
if(vpcVirtualRouterProviderId == null) {
|
||||
alert("error: listNetworkServiceProviders API doesn't return VpcVirtualRouter provider ID");
|
||||
return;
|
||||
}
|
||||
|
||||
var vpcVirtualRouterElementId;
|
||||
$.ajax({
|
||||
url: createURL("listVirtualRouterElements&nspid=" + vpcVirtualRouterProviderId),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listvirtualrouterelementsresponse.virtualrouterelement;
|
||||
if(items != null && items.length > 0) {
|
||||
vpcVirtualRouterElementId = items[0].id;
|
||||
}
|
||||
}
|
||||
});
|
||||
if(vpcVirtualRouterElementId == null) {
|
||||
alert("error: listVirtualRouterElements API doesn't return VPC Virtual Router Element Id");
|
||||
return;
|
||||
}
|
||||
var vpcVirtualRouterElementId;
|
||||
$.ajax({
|
||||
url: createURL("listVirtualRouterElements&nspid=" + vpcVirtualRouterProviderId),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listvirtualrouterelementsresponse.virtualrouterelement;
|
||||
if(items != null && items.length > 0) {
|
||||
vpcVirtualRouterElementId = items[0].id;
|
||||
}
|
||||
}
|
||||
});
|
||||
if(vpcVirtualRouterElementId == null) {
|
||||
alert("error: listVirtualRouterElements API doesn't return VPC Virtual Router Element Id");
|
||||
return;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: createURL("configureVirtualRouterElement&enabled=true&id=" + vpcVirtualRouterElementId),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var jobId = json.configurevirtualrouterelementresponse.jobid;
|
||||
var enableVpcVirtualRouterElementIntervalID = setInterval(function() {
|
||||
$.ajax({
|
||||
url: createURL("queryAsyncJobResult&jobId="+jobId),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var result = json.queryasyncjobresultresponse;
|
||||
if (result.jobstatus == 0) {
|
||||
return; //Job has not completed
|
||||
}
|
||||
else {
|
||||
clearInterval(enableVpcVirtualRouterElementIntervalID);
|
||||
|
||||
if (result.jobstatus == 1) { //configureVirtualRouterElement succeeded
|
||||
$.ajax({
|
||||
url: createURL("updateNetworkServiceProvider&state=Enabled&id=" + vpcVirtualRouterProviderId),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var jobId = json.updatenetworkserviceproviderresponse.jobid;
|
||||
var enableVpcVirtualRouterProviderIntervalID = setInterval(function() {
|
||||
$.ajax({
|
||||
url: createURL("queryAsyncJobResult&jobId="+jobId),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var result = json.queryasyncjobresultresponse;
|
||||
if (result.jobstatus == 0) {
|
||||
return; //Job has not completed
|
||||
}
|
||||
else {
|
||||
clearInterval(enableVpcVirtualRouterProviderIntervalID);
|
||||
|
||||
if (result.jobstatus == 1) { //Virtual Router Provider has been enabled successfully
|
||||
advZoneConfiguredVirtualRouterCount++;
|
||||
if(advZoneConfiguredVirtualRouterCount == (args.data.returnedPhysicalNetworks.length * 2)) { //not call addPod() until virtualRouter and vpcVirtualRouter of all physical networks get configured
|
||||
stepFns.addPod({
|
||||
data: args.data
|
||||
});
|
||||
}
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("failed to enable VPC Virtual Router Provider. Error: " + _s(result.jobresult.errortext));
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
|
||||
alert("updateNetworkServiceProvider failed. Error: " + errorMsg);
|
||||
}
|
||||
});
|
||||
}, 3000);
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("configureVirtualRouterElement failed. Error: " + _s(result.jobresult.errortext));
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
|
||||
alert("configureVirtualRouterElement failed. Error: " + errorMsg);
|
||||
}
|
||||
});
|
||||
}, 3000);
|
||||
}
|
||||
});
|
||||
// ***** VPC Virtual Router ***** (end) *****
|
||||
$.ajax({
|
||||
url: createURL("configureVirtualRouterElement&enabled=true&id=" + vpcVirtualRouterElementId),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var jobId = json.configurevirtualrouterelementresponse.jobid;
|
||||
var enableVpcVirtualRouterElementIntervalID = setInterval(function() {
|
||||
$.ajax({
|
||||
url: createURL("queryAsyncJobResult&jobId="+jobId),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var result = json.queryasyncjobresultresponse;
|
||||
if (result.jobstatus == 0) {
|
||||
return; //Job has not completed
|
||||
}
|
||||
else {
|
||||
clearInterval(enableVpcVirtualRouterElementIntervalID);
|
||||
|
||||
if (result.jobstatus == 1) { //configureVirtualRouterElement succeeded
|
||||
$.ajax({
|
||||
url: createURL("updateNetworkServiceProvider&state=Enabled&id=" + vpcVirtualRouterProviderId),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var jobId = json.updatenetworkserviceproviderresponse.jobid;
|
||||
var enableVpcVirtualRouterProviderIntervalID = setInterval(function() {
|
||||
$.ajax({
|
||||
url: createURL("queryAsyncJobResult&jobId="+jobId),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var result = json.queryasyncjobresultresponse;
|
||||
if (result.jobstatus == 0) {
|
||||
return; //Job has not completed
|
||||
}
|
||||
else {
|
||||
clearInterval(enableVpcVirtualRouterProviderIntervalID);
|
||||
|
||||
if (result.jobstatus == 1) { //VPC Virtual Router has been enabled successfully
|
||||
//don't need to do anything here
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("failed to enable VPC Virtual Router Provider. Error: " + _s(result.jobresult.errortext));
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
|
||||
alert("failed to enable VPC Virtual Router Provider. Error: " + errorMsg);
|
||||
}
|
||||
});
|
||||
}, 3000);
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("configureVirtualRouterElement failed. Error: " + _s(result.jobresult.errortext));
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
|
||||
alert("configureVirtualRouterElement failed. Error: " + errorMsg);
|
||||
}
|
||||
});
|
||||
}, 3000);
|
||||
}
|
||||
});
|
||||
// ***** VPC Virtual Router ***** (end) *****
|
||||
}
|
||||
else { //args.data.zone.sgEnabled == true //Advanced SG-enabled zone
|
||||
message(dictionary['message.enabling.security.group.provider']);
|
||||
|
||||
// get network service provider ID of Security Group
|
||||
var securityGroupProviderId;
|
||||
$.ajax({
|
||||
url: createURL("listNetworkServiceProviders&name=SecurityGroupProvider&physicalNetworkId=" + thisPhysicalNetwork.id),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
|
||||
if(items != null && items.length > 0) {
|
||||
securityGroupProviderId = items[0].id;
|
||||
}
|
||||
}
|
||||
});
|
||||
if(securityGroupProviderId == null) {
|
||||
alert("error: listNetworkServiceProviders API doesn't return security group provider ID");
|
||||
return;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: createURL("updateNetworkServiceProvider&state=Enabled&id=" + securityGroupProviderId),
|
||||
dataType: "json",
|
||||
async: false,
|
||||
success: function(json) {
|
||||
var enableSecurityGroupProviderIntervalID = setInterval(function() {
|
||||
$.ajax({
|
||||
url: createURL("queryAsyncJobResult&jobId=" + json.updatenetworkserviceproviderresponse.jobid),
|
||||
dataType: "json",
|
||||
success: function(json) {
|
||||
var result = json.queryasyncjobresultresponse;
|
||||
if (result.jobstatus == 0) {
|
||||
return; //Job has not completed
|
||||
}
|
||||
else {
|
||||
clearInterval(enableSecurityGroupProviderIntervalID);
|
||||
|
||||
if (result.jobstatus == 1) { //Security group provider has been enabled successfully
|
||||
//don't need to do anything here
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("failed to enable security group provider. Error: " + _s(result.jobresult.errortext));
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
|
||||
alert("failed to enable security group provider. Error: " + errorMsg);
|
||||
}
|
||||
});
|
||||
}, 3000);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
else if (result.jobstatus == 2) {
|
||||
alert("updatePhysicalNetwork failed. Error: " + _s(result.jobresult.errortext));
|
||||
alert("failed to enable physical network. Error: " + _s(result.jobresult.errortext));
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpResponse) {
|
||||
var errorMsg = parseXMLHttpResponse(XMLHttpResponse);
|
||||
alert("updatePhysicalNetwork failed. Error: " + errorMsg);
|
||||
error: function(XMLHttpResponse) {
|
||||
alert("failed to enable physical network. Error: " + parseXMLHttpResponse(XMLHttpResponse));
|
||||
}
|
||||
});
|
||||
}, 3000);
|
||||
|
|
|
|||
Loading…
Reference in New Issue