1. check if there are snapshotsin this secondary storage, if yes , fails
2. check if there are private templatesin this secondary storage , if yes, fails
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