1. send purge command only once.
2. in downloadlistener, there are two hosts, one is secondary storage host, the other is secondary storage VM host for this secondary storage.
status 9958: resolved fixed
Also fixed a couple of other problems:
* verify security group ids before vm creation
* don't create "default" security group (if missing) as a part of deployVm process when vm is deployed from vmWare template
fixed a DB Exception
5-ThreadPoolExecutor.runWorker:1110-ThreadPoolExecutor$Worker.run:603; called by -Transaction.rollback:783-Transaction.removeUpTo:726-Transaction.close:549-DatabaseCallback.interceptComplete:72
2011-05-19 19:02:41,242 WARN [utils.nio.Task] (AgentManager-Handler-1:null) Caught the following exception but pushing on
com.cloud.utils.exception.CloudRuntimeException: DB Exception on: com.mysql.jdbc.JDBC4PreparedStatement@4faae357: INSERT INTO usage_event (usage_event.type, usage_event.created, usage_event.account_id, usage_event.zone_id, usage_event.resource_id, usage_event.resource_name, usage_event.offering_id, usage_event.template_id, usage_event.size, usage_event.resource_type, usage_event.processed) VALUES (_binary'TEMPLATE.CREATE', '2011-05-20 02:02:41', 2, 2, 202, _binary'anth-te', null, 2, -1, null, 0)
at com.cloud.utils.db.GenericDaoBase.persist(GenericDaoBase.java:1218)
at com.cloud.event.dao.UsageEventDaoImpl$$EnhancerByCGLIB$$377dce70.CGLIB$persist$22(<generated>)
at com.cloud.event.dao.UsageEventDaoImpl$$EnhancerByCGLIB$$377dce70$$FastClassByCGLIB$$30e2aaaf.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
at com.cloud.utils.db.DatabaseCallback.intercept(DatabaseCallback.java:35)
at com.cloud.event.dao.UsageEventDaoImpl$$EnhancerByCGLIB$$377dce70.persist(<generated>)
at com.cloud.storage.download.DownloadMonitorImpl.handleDownloadEvent(DownloadMonitorImpl.java:410)
at com.cloud.storage.download.DownloadListener.setDownloadInactive(DownloadListener.java:358)
at com.cloud.storage.download.DownloadCompleteState.onEntry(DownloadCompleteState.java:44)
at com.cloud.storage.download.DownloadListener.transition(DownloadListener.java:240)
at com.cloud.storage.download.DownloadListener.processAnswers(DownloadListener.java:224)
at com.cloud.agent.manager.AgentAttache.processAnswers(AgentAttache.java:258)
at com.cloud.agent.manager.AgentManagerImpl$AgentHandler.processResponse(AgentManagerImpl.java:2319)
at com.cloud.agent.manager.AgentManagerImpl$AgentHandler.doTask(AgentManagerImpl.java:2334)
at com.cloud.agent.manager.ClusteredAgentManagerImpl$ClusteredAgentHandler.doTask(ClusteredAgentManagerImpl.java:537)
at com.cloud.utils.nio.Task.run(Task.java:85)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column 'size' at row 1
status 9873: resolved fixed
Following fixes were made as a part of the checkin:
* When deploy user vm and SG doesn't exist in the DB, create it automatically.
* SecurityGroup enabled use vm start: if map to default group is not present in security_group_vm_map table, create one.
* Added "name" (securityGroupName) parameter back to deleteSecurityGroup/authorizeSecurityGroupIngress/deployVm. Mutually exclusive with security group id parameter.
Conflicts:
api/src/com/cloud/api/commands/AuthorizeSecurityGroupIngressCmd.java
api/src/com/cloud/api/commands/DeleteSecurityGroupCmd.java
api/src/com/cloud/api/commands/DeployVMCmd.java
server/src/com/cloud/api/ApiDBUtils.java
server/src/com/cloud/vm/UserVmManagerImpl.java
status 9815: resolved fixed
The type cast should be done after making sure that the command was successful. Otherwise you may have the base Answer returned.
Created a table for source cidrs list.
Created necessary Daos and VOs.
Updated PortForwardingRulesDao to persist/update non null list of cidrs.
For deletion depending on ON DELETE CASCADE.
Changes:
Reapplying the changes from fix 9539 that were missing in ComputeCapacityListener.java
Change is to not consider cpu.overprovisioning.factor while creating CPU capacity entries.
This factor is applied by allocators to the values in the capacity table. Capacity table should contain the actual CPU value and not the overprovisioned CPU value.