From a29b897b7f3f62bfa15d4a79a70862a9875aae4a Mon Sep 17 00:00:00 2001 From: edison Date: Wed, 27 Oct 2010 11:59:05 -0700 Subject: [PATCH] bug 1974: set memory size from service offering before starting router status 1974: resolved fixed --- core/src/com/cloud/vm/DomainRouter.java | 2 ++ core/src/com/cloud/vm/DomainRouterVO.java | 5 +++++ .../cloud/network/router/DomainRouterManagerImpl.java | 10 ++++++---- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/core/src/com/cloud/vm/DomainRouter.java b/core/src/com/cloud/vm/DomainRouter.java index 43bcd483568..254ec7801e1 100755 --- a/core/src/com/cloud/vm/DomainRouter.java +++ b/core/src/com/cloud/vm/DomainRouter.java @@ -84,4 +84,6 @@ public interface DomainRouter extends VirtualMachine { * @return the range of dhcp addresses served (start and end) */ String[] getDhcpRange(); + + void setRamSize(int ramSize); } diff --git a/core/src/com/cloud/vm/DomainRouterVO.java b/core/src/com/cloud/vm/DomainRouterVO.java index 752b0fc0610..99950d3859c 100755 --- a/core/src/com/cloud/vm/DomainRouterVO.java +++ b/core/src/com/cloud/vm/DomainRouterVO.java @@ -245,6 +245,11 @@ public class DomainRouterVO extends VMInstanceVO implements DomainRouter { return ramSize; } + @Override + public void setRamSize(int ramSize) { + this.ramSize = ramSize; + } + @Override public String getGateway() { return gateway; diff --git a/server/src/com/cloud/network/router/DomainRouterManagerImpl.java b/server/src/com/cloud/network/router/DomainRouterManagerImpl.java index 51caec67080..e7e3c025d67 100644 --- a/server/src/com/cloud/network/router/DomainRouterManagerImpl.java +++ b/server/src/com/cloud/network/router/DomainRouterManagerImpl.java @@ -691,10 +691,9 @@ public class DomainRouterManagerImpl implements DomainRouterManager, VirtualMach "curruent local storage status: " + currentServiceOffering.getUseLocalStorage()); } - router = _routerDao.acquire(routerId); - - router.setServiceOfferingId(serviceOfferingId); - return _routerDao.update(routerId, router); + router.setServiceOfferingId(serviceOfferingId); + return _routerDao.update(routerId, router); + } private String rot13(final String password) { @@ -926,6 +925,9 @@ public class DomainRouterManagerImpl implements DomainRouterManager, VirtualMach router.setPrivateNetmask(privateNetMask); router.setGuestMacAddress(routerMacAddress); router.setVnet(vnet); + /*Ram size can be changed by upgradeRouterCmd*/ + router.setRamSize(offering.getRamSize()); + final String name = VirtualMachineName.attachVnet(router.getName(), vnet); router.setInstanceName(name); long accountId = router.getAccountId();