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

Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>


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

Branch: refs/heads/useraccount-refactoring
Commit: 488c17858f17f548d907cd72df54e0abdfd439b2
Parents: 612b4ae
Author: Harikrishna Patnala <harikrishna.patn...@citrix.com>
Authored: Thu Nov 27 12:41:22 2014 +0530
Committer: Rohit Yadav <rohit.ya...@shapeblue.com>
Committed: Thu Nov 27 16:04:59 2014 +0530

----------------------------------------------------------------------
 .../com/cloud/upgrade/dao/Upgrade442to450.java  | 85 ++++++++++++++++++++
 .../lb/InternalLoadBalancerVMManager.java       |  2 +-
 server/src/com/cloud/configuration/Config.java  |  2 +-
 .../router/VirtualNetworkApplianceManager.java  |  2 +-
 setup/db/db/schema-442to450.sql                 |  2 +
 5 files changed, 90 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/488c1785/engine/schema/src/com/cloud/upgrade/dao/Upgrade442to450.java
----------------------------------------------------------------------
diff --git a/engine/schema/src/com/cloud/upgrade/dao/Upgrade442to450.java 
b/engine/schema/src/com/cloud/upgrade/dao/Upgrade442to450.java
index dc1057f..aeb44a1 100644
--- a/engine/schema/src/com/cloud/upgrade/dao/Upgrade442to450.java
+++ b/engine/schema/src/com/cloud/upgrade/dao/Upgrade442to450.java
@@ -68,8 +68,93 @@ public class Upgrade442to450 implements DbUpgrade {
         updateSystemVmTemplates(conn);
         dropInvalidKeyFromStoragePoolTable(conn);
         dropDuplicatedForeignKeyFromAsyncJobTable(conn);
+        upgradeMemoryOfVirtualRoutervmOffering(conn);
+        upgradeMemoryOfInternalLoadBalancervmOffering(conn);
     }
 
+    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);
+    }
+
+    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);
+    }
 
     @Override
     public File[] getCleanupScripts() {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/488c1785/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/488c1785/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 cd0824e..281d99c 100644
--- a/server/src/com/cloud/configuration/Config.java
+++ b/server/src/com/cloud/configuration/Config.java
@@ -1452,7 +1452,7 @@ public enum Config {
             "SAML2 IDP Metadata Downloading and parsing etc. activity timeout 
in milliseconds",
             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/488c1785/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 9fb47fd..989dd84 100644
--- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
@@ -61,7 +61,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;
     public static final int DEFAULT_PRIORITY = 100;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/488c1785/setup/db/db/schema-442to450.sql
----------------------------------------------------------------------
diff --git a/setup/db/db/schema-442to450.sql b/setup/db/db/schema-442to450.sql
index f84bca6..14dcc51 100644
--- a/setup/db/db/schema-442to450.sql
+++ b/setup/db/db/schema-442to450.sql
@@ -439,6 +439,8 @@ UPDATE configuration SET 
value='KVM,XenServer,VMware,BareMetal,Ovm,LXC,Hyperv' W
 UPDATE `cloud`.`configuration` SET description="If set to true, will set guest 
VM's name as it appears on the hypervisor, to its hostname. The flag is 
supported for VMware hypervisor only" WHERE name='vm.instancename.flag';
 INSERT IGNORE INTO `cloud`.`configuration`(category, instance, component, 
name, value, description, default_value) VALUES ('Advanced', 'DEFAULT', 
'management-server', 'implicit.host.tags', 'GPU', 'Tag hosts at the time of 
host disovery based on the host properties/capabilities ', 'GPU');
 
+UPDATE `cloud`.`configuration` SET value='256' WHERE name='router.ram.size';
+
 DROP VIEW IF EXISTS `cloud`.`domain_router_view`;
 CREATE VIEW `cloud`.`domain_router_view` AS
     select

Reply via email to