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