Repository: cloudstack
Updated Branches:
  refs/heads/4.4 291a34aac -> 2803cac06


CLOUDSTACK-6075: Increase the ram size for router service offering

Increased the ram size of Internal load balancer vm service offering also
Backported from fix by Harikrishna Patnala <[email protected]>
https://reviews.apache.org/r/17941/

Signed-off-by: Rohit Yadav <[email protected]>


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

Branch: refs/heads/4.4
Commit: 2803cac06bca36541ef383b41928d1e73bd07566
Parents: 291a34a
Author: Rohit Yadav <[email protected]>
Authored: Tue Dec 2 20:04:01 2014 +0530
Committer: Rohit Yadav <[email protected]>
Committed: Tue Dec 2 20:16:45 2014 +0530

----------------------------------------------------------------------
 .../com/cloud/upgrade/dao/Upgrade442to443.java  | 109 +++++++++++++++++++
 .../lb/InternalLoadBalancerVMManager.java       |   2 +-
 server/src/com/cloud/configuration/Config.java  |   2 +-
 .../router/VirtualNetworkApplianceManager.java  |   2 +-
 4 files changed, 112 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2803cac0/engine/schema/src/com/cloud/upgrade/dao/Upgrade442to443.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/upgrade/dao/Upgrade442to443.java 
b/engine/schema/src/com/cloud/upgrade/dao/Upgrade442to443.java
index a0f185a..2855538 100644
--- a/engine/schema/src/com/cloud/upgrade/dao/Upgrade442to443.java
+++ b/engine/schema/src/com/cloud/upgrade/dao/Upgrade442to443.java
@@ -19,6 +19,9 @@ package com.cloud.upgrade.dao;
 
 import java.io.File;
 import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
 
 import org.apache.log4j.Logger;
 
@@ -55,6 +58,112 @@ public class Upgrade442to443 implements DbUpgrade {
 
     @Override
     public void performDataMigration(Connection conn) {
+        updateMaxRouterSizeConfig(conn);
+        upgradeMemoryOfVirtualRoutervmOffering(conn);
+        upgradeMemoryOfInternalLoadBalancervmOffering(conn);
+    }
+
+    private void updateMaxRouterSizeConfig(Connection conn) {
+        PreparedStatement updatePstmt = null;
+        try {
+            updatePstmt = conn.prepareStatement("UPDATE 
`cloud`.`configuration` SET value='256' WHERE name='router.ram.size'");
+            updatePstmt.executeUpdate();
+        } catch (SQLException e) {
+            throw new CloudRuntimeException("Unable to upgrade max ram size of 
router in config.", e);
+        } finally {
+            try {
+                if (updatePstmt != null) {
+                    updatePstmt.close();
+                }
+            } catch (SQLException e) {
+            }
+        }
+        s_logger.debug("Done updating router.ram.size config to 256");
+    }
+
+    private void upgradeMemoryOfInternalLoadBalancervmOffering(Connection 
conn) {
+        PreparedStatement updatePstmt = null;
+        PreparedStatement selectPstmt = null;
+        ResultSet selectResultSet = null;
+        int newRamSize = 256; //256MB
+        long serviceOfferingId = 0;
+
+        /**
+         * Pick first row in service_offering table which has system vm type 
as internalloadbalancervm. User added offerings would start from 2nd row 
onwards.
+         * We should not update/modify any user-defined offering.
+         */
+
+        try {
+            selectPstmt = conn.prepareStatement("SELECT id FROM 
`cloud`.`service_offering` WHERE vm_type='internalloadbalancervm'");
+            updatePstmt = conn.prepareStatement("UPDATE 
`cloud`.`service_offering` SET ram_size=? WHERE id=?");
+            selectResultSet = selectPstmt.executeQuery();
+            if(selectResultSet.next()) {
+                serviceOfferingId = selectResultSet.getLong("id");
+            }
+
+            updatePstmt.setInt(1, newRamSize);
+            updatePstmt.setLong(2, serviceOfferingId);
+            updatePstmt.executeUpdate();
+        } catch (SQLException e) {
+            throw new CloudRuntimeException("Unable to upgrade ram_size of 
service offering for internal loadbalancer vm. ", e);
+        } finally {
+            try {
+                if (selectPstmt != null) {
+                    selectPstmt.close();
+                }
+                if (selectResultSet != null) {
+                    selectResultSet.close();
+                }
+                if (updatePstmt != null) {
+                    updatePstmt.close();
+                }
+            } catch (SQLException e) {
+            }
+        }
+        s_logger.debug("Done upgrading RAM for service offering of internal 
loadbalancer vm to " + newRamSize);
+    }
+
+
+    private void upgradeMemoryOfVirtualRoutervmOffering(Connection conn) {
+        PreparedStatement updatePstmt = null;
+        PreparedStatement selectPstmt = null;
+        ResultSet selectResultSet = null;
+        int newRamSize = 256; //256MB
+        long serviceOfferingId = 0;
+
+        /**
+         * Pick first row in service_offering table which has system vm type 
as domainrouter. User added offerings would start from 2nd row onwards.
+         * We should not update/modify any user-defined offering.
+         */
+
+        try {
+            selectPstmt = conn.prepareStatement("SELECT id FROM 
`cloud`.`service_offering` WHERE vm_type='domainrouter'");
+            updatePstmt = conn.prepareStatement("UPDATE 
`cloud`.`service_offering` SET ram_size=? WHERE id=?");
+            selectResultSet = selectPstmt.executeQuery();
+            if(selectResultSet.next()) {
+                serviceOfferingId = selectResultSet.getLong("id");
+            }
+
+            updatePstmt.setInt(1, newRamSize);
+            updatePstmt.setLong(2, serviceOfferingId);
+            updatePstmt.executeUpdate();
+        } catch (SQLException e) {
+            throw new CloudRuntimeException("Unable to upgrade ram_size of 
service offering for domain router. ", e);
+        } finally {
+            try {
+                if (selectPstmt != null) {
+                    selectPstmt.close();
+                }
+                if (selectResultSet != null) {
+                    selectResultSet.close();
+                }
+                if (updatePstmt != null) {
+                    updatePstmt.close();
+                }
+            } catch (SQLException e) {
+            }
+        }
+        s_logger.debug("Done upgrading RAM for service offering of domain 
router to " + newRamSize);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2803cac0/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManager.java
----------------------------------------------------------------------
diff --git 
a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManager.java
 
b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManager.java
index 803d3a5..339b0c1 100644
--- 
a/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManager.java
+++ 
b/plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManager.java
@@ -32,7 +32,7 @@ import com.cloud.vm.VirtualMachineProfile.Param;
 
 public interface InternalLoadBalancerVMManager {
     //RAM/CPU for the system offering used by Internal LB VMs
-    public static final int DEFAULT_INTERNALLB_VM_RAMSIZE = 128;            // 
128 MB
+    public static final int DEFAULT_INTERNALLB_VM_RAMSIZE = 256;            // 
256 MB
     public static final int DEFAULT_INTERNALLB_VM_CPU_MHZ = 256;            // 
256 MHz
 
     /**

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2803cac0/server/src/com/cloud/configuration/Config.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/configuration/Config.java 
b/server/src/com/cloud/configuration/Config.java
index ab7c21e..bbeb9f3 100755
--- a/server/src/com/cloud/configuration/Config.java
+++ b/server/src/com/cloud/configuration/Config.java
@@ -1379,7 +1379,7 @@ public enum Config {
             "The allowable clock difference in milliseconds between when an 
SSO login request is made and when it is received.",
             null),
     //NetworkType("Hidden", ManagementServer.class, String.class, 
"network.type", "vlan", "The type of network that this deployment will use.", 
"vlan,direct"),
-    RouterRamSize("Hidden", NetworkOrchestrationService.class, Integer.class, 
"router.ram.size", "128", "Default RAM for router VM (in MB).", null),
+    RouterRamSize("Hidden", NetworkOrchestrationService.class, Integer.class, 
"router.ram.size", "256", "Default RAM for router VM (in MB).", null),
 
     DefaultPageSize("Advanced", ManagementServer.class, Long.class, 
"default.page.size", "500", "Default page size for API list* commands", null),
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2803cac0/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
index ae418d2..5cff679 100644
--- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
@@ -70,7 +70,7 @@ public interface VirtualNetworkApplianceManager extends 
Manager, VirtualNetworkA
     static final ConfigKey<Integer> RouterAlertsCheckInterval = new 
ConfigKey<Integer>(Integer.class, RouterAlertsCheckIntervalCK, "Advanced", 
"1800",
             "Interval (in seconds) to check for alerts in Virtual Router.", 
false, ConfigKey.Scope.Global, null);
 
-    public static final int DEFAULT_ROUTER_VM_RAMSIZE = 128;            // 128M
+    public static final int DEFAULT_ROUTER_VM_RAMSIZE = 256;             // 
256M
     public static final int DEFAULT_ROUTER_CPU_MHZ = 500;                // 
500 MHz
     public static final boolean USE_POD_VLAN = false;
 

Reply via email to