CLOUDSTACK-1343: cloudstack UI - baremetal - enable baremetal providers who are 
selected in the network offering.


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/48ec4395
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/48ec4395
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/48ec4395

Branch: refs/heads/storage_refactor
Commit: 48ec4395bd6c681bdaba548ea9956c652759adc0
Parents: b176654
Author: Jessica Wang <[email protected]>
Authored: Wed Feb 20 15:13:46 2013 -0800
Committer: Jessica Wang <[email protected]>
Committed: Wed Feb 20 15:13:46 2013 -0800

----------------------------------------------------------------------
 ui/scripts/installWizard.js |    1 +
 ui/scripts/zoneWizard.js    |   84 +++++++++++++++++++++++++++++++++-----
 2 files changed, 75 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/48ec4395/ui/scripts/installWizard.js
----------------------------------------------------------------------
diff --git a/ui/scripts/installWizard.js b/ui/scripts/installWizard.js
index dff12a0..a5e13b8 100644
--- a/ui/scripts/installWizard.js
+++ b/ui/scripts/installWizard.js
@@ -278,6 +278,7 @@
           },
                                        pluginFrom: {
                                          name: 'installWizard',
+                                               selectedNetworkOffering: 
selectedNetworkOffering,
                                                
selectedNetworkOfferingHavingSG: true
                                        }                                       
        
         },

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/48ec4395/ui/scripts/zoneWizard.js
----------------------------------------------------------------------
diff --git a/ui/scripts/zoneWizard.js b/ui/scripts/zoneWizard.js
index 60656e0..8b5171b 100755
--- a/ui/scripts/zoneWizard.js
+++ b/ui/scripts/zoneWizard.js
@@ -23,7 +23,10 @@
   var returnedPublicVlanIpRanges = []; //public VlanIpRanges returned by API
   var configurationUseLocalStorage = false;
        var skipGuestTrafficStep = false;
-
+  var selectedNetworkOfferingObj = {};
+       var baremetalProviders = ["BaremetalDhcpProvider", 
"BaremetalPxeProvider", "BaremetaUserdataProvider"];
+       var selectedBaremetalProviders = [];
+       
   // Makes URL string for traffic label
   var trafficLabelParam = function(trafficTypeID, data, physicalNetworkID) {
     var zoneType = data.zone.networkType;
@@ -441,14 +444,16 @@
                                                                                
var thisNetworkOffering = this;
                                                                                
$(this.service).each(function(){
                                                                                
        var thisService = this;
-                                                                               
                                                                        
+                                                                               
                                                                                
                                
                                                                                
        $(thisService.provider).each(function(){                                
                                                
                                                                                
                if(this.name == "Netscaler") {
-                                                                               
                        thisNetworkOffering.havingNetscaler = true;
-                                                                               
                        return false; //break each loop
+                                                                               
                        thisNetworkOffering.havingNetscaler = true;             
                                                                                
        
+                                                                               
                }                                                               
                                
+                                                                               
                else if($.inArray(this.name, baremetalProviders) != -1) {       
                                                                                
        
+                                                                               
                  selectedBaremetalProviders.push(this.name);
                                                                                
                }
-                                                                               
        });                     
-                                                                               
        
+                                                                               
        });                                                                     
                                
+                                                                               
                                                                                
        if(thisService.name == "SecurityGroup") {
                                                                                
                thisNetworkOffering.havingSG = true;
                                                                                
        }
@@ -1787,10 +1792,19 @@
                                                                                
                                                                        
                                       if (result.jobstatus == 1) {
                                         //alert("configureVirtualRouterElement 
succeeded.");
-
+                                                                               
                                                                    
+                                                                               
                                                                                
if(args.data.pluginFrom != null && args.data.pluginFrom.name == 
"installWizard") {
+                                                                               
                                                                                
  selectedNetworkOfferingObj = args.data.pluginFrom.selectedNetworkOffering;
+                                                                               
                                                                                
}
+                                                                               
                                                                                
                                                                                
                                                                        
+                                                                               
                                                                                
var data = {
+                                                                               
                                                                                
  id: virtualRouterProviderId,
+                                                                               
                                                                                
        state: 'Enabled'                                                        
                                                                                
                                
+                                                                               
                                                                                
};                                                                              
                                                                                
+                                                                               
                                                                                
                                                                                
                                                                                
                                         $.ajax({
-                                          url: 
createURL("updateNetworkServiceProvider&state=Enabled&id=" + 
virtualRouterProviderId),
-                                          dataType: "json",
+                                          url: 
createURL("updateNetworkServiceProvider"),
+                                          data: data,                          
                                                                                
                        
                                           async: false,
                                           success: function(json) {    
                                                                                
                                                                                
                var enableVirtualRouterProviderIntervalID = 
setInterval(function() {    
@@ -1806,7 +1820,57 @@
                                                                                
                                                                                
                                                
clearInterval(enableVirtualRouterProviderIntervalID); 
                                                                                
                                                                                
                                                
                                                     if (result.jobstatus == 1) 
{
-                                                      //alert("Virtual Router 
Provider is enabled");
+                                                      //alert("Virtual Router 
Provider is enabled");                                                          
                                                                                
                                                                           
+                                                                               
                                                                                
                                                        for(var i = 0; i < 
selectedBaremetalProviders.length; i++) {                                       
                                                                                
                                                                                
              
+                                                                               
                                                                                
                                                                $.ajax({
+                                                                               
                                                                                
                                                                        url: 
createURL("listNetworkServiceProviders"),
+                                                                               
                                                                                
                                                                        data: {
+                                                                               
                                                                                
                                                                          name: 
selectedBaremetalProviders[i],
+                                                                               
                                                                                
                                                                                
physicalNetworkId: args.data.returnedBasicPhysicalNetwork.id 
+                                                                               
                                                                                
                                                                        },
+                                                                               
                                                                                
                                                                        async: 
false,
+                                                                               
                                                                                
                                                                        
success: function(json) {                                                       
                                                                                
                                                                                
                  
+                                                                               
                                                                                
                                                                                
var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
+                                                                               
                                                                                
                                                                                
if(items != null && items.length > 0) {                                         
                                                                                
                                                                                
                                 
+                                                                               
                                                                                
                                                                                
        var providerId = items[0].id;                                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                        
+                                                                               
                                                                                
                                                                                
        $.ajax({
+                                                                               
                                                                                
                                                                                
                url: createURL("updateNetworkServiceProvider"),
+                                                                               
                                                                                
                                                                                
                data: {
+                                                                               
                                                                                
                                                                                
                        id: providerId,
+                                                                               
                                                                                
                                                                                
                        state: 'Enabled'                                        
                                                                                
                                                                                
                                        
+                                                                               
                                                                                
                                                                                
                },
+                                                                               
                                                                                
                                                                                
                async: false,
+                                                                               
                                                                                
                                                                                
                success: function(json) {                                       
                                                                                
                                
+                                                                               
                                                                                
                                                                                
                        var updateNetworkServiceProviderIntervalID = 
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(updateNetworkServiceProviderIntervalID);                        
+                                                                               
                                                                                
                                                                                
                                                        if (result.jobstatus == 
1) { //baremetal provider has been enabled successfully      
+                                                                               
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
        
+                                                                               
                                                                                
                                                                                
                                                        }
+                                                                               
                                                                                
                                                                                
                                                        else if 
(result.jobstatus == 2) {                                                       
                                                                                
                                                                                
                                                                                
        
+                                                                               
                                                                                
                                                                                
                                                                
alert(_s(result.jobresult.errortext));
+                                                                               
                                                                                
                                                                                
                                                        }
+                                                                               
                                                                                
                                                                                
                                                }
+                                                                               
                                                                                
                                                                                
                                        },
+                                                                               
                                                                                
                                                                                
                                        error: function(XMLHttpResponse) {      
                                                                                
                                                                                
                                                                                
                                        
+                                                                               
                                                                                
                                                                                
                                                
alert(parseXMLHttpResponse(XMLHttpResponse));
+                                                                               
                                                                                
                                                                                
                                        }
+                                                                               
                                                                                
                                                                                
                                });                                             
                                                                                
                                                                                
                                        
+                                                                               
                                                                                
                                                                                
                        }, g_queryAsyncJobResultInterval);                      
                                                                                
                                                                                
                                                                                
        
+                                                                               
                                                                                
                                                                                
                }
+                                                                               
                                                                                
                                                                                
        });                                                                     
                                                                                
                                                                                
                
+                                                                               
                                                                                
                                                                                
}
+                                                                               
                                                                                
                                                                        }
+                                                                               
                                                                                
                                                                });             
                                                                                
                                                                                
                                                
+                                                                               
                                                                                
                                                        }                       
                                                                                
                                                                                
                                
                                                                                
                                                                                
                                                        
                                                                                
                                                                                
                                                        if(args.data.pluginFrom 
!= null && args.data.pluginFrom.name == "installWizard") {
                                                                                
                                                                                
                                                          
selectedNetworkOfferingHavingSG = 
args.data.pluginFrom.selectedNetworkOfferingHavingSG;

Reply via email to