You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by "Rohit Yadav (JIRA)" <ji...@apache.org> on 2013/01/04 02:21:11 UTC
[jira] [Closed] (CLOUDSTACK-735) Integration smoke tests: Fix
expunge vm test on api_refactoring
[ https://issues.apache.org/jira/browse/CLOUDSTACK-735?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rohit Yadav closed CLOUDSTACK-735.
----------------------------------
Assignee: Rohit Yadav (was: Prasanna Santhanam)
Discussed with Prasanna... Instead of fixing tests, we should maintain backward compatibility, hence an incorrect uuid is not thrown as exception but logged and an empty response would be sent like in 4.0 and before. The fix was applied in api_refactoring, in ApiDispatcher:
commit 8cee441c52281baee69d2614a6fca9408363f484
Author: Rohit Yadav <bh...@apache.org>
Date: Thu Jan 3 17:17:21 2013 -0800
server: Make ApiDispatcher backward compatible to not throw error on incorrect params
Incorrect params are silently ignored in 4.0 and before. The fix would log the error
in debug log, but will continue processing. In case of an issue with uuid or param
an empty response is sent, for ex. in case of deleted entities as well.
Signed-off-by: Rohit Yadav <bh...@apache.org>
> Integration smoke tests: Fix expunge vm test on api_refactoring
> ---------------------------------------------------------------
>
> Key: CLOUDSTACK-735
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-735
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the default.)
> Reporter: Rohit Yadav
> Assignee: Rohit Yadav
> Fix For: 4.1.0
>
>
> With last test of smoke tests for devcloud on api_refactoring, when an expunged vm is listed, marvin raises HTTPError which was a recent change on master (was done so clients like cloudmonkey can display error correctly). The bug is that test vm life cycle does not trap the error correctly:
> 867 while expunge_cycle > 0:
> 868 list_vm_response = list_virtual_machines(
> 869 self.apiclient,
> 870 id=self.small_virtual_machine.id
> 871 )
> 872 if list_vm_response:
> 873 time.sleep(expunge_cycle)
> 874 expunge_cycle = 0
> 875 continue
> Log:
> $ nosetests --with-marvin --marvin-config ../../tools/devcloud/devcloud.cfg --load -a tags="devcloud" -w smoke [15:05:40]
> Test Deploy Virtual Machine ... ok
> Test Stop Virtual Machine ... ok
> Test Start Virtual Machine ... ok
> Test Reboot Virtual Machine ... ok
> Test destroy Virtual Machine ... ok
> Test recover Virtual Machine ... ok
> Test destroy(expunge) Virtual Machine ... ERROR
> ERROR
> ======================================================================
> ERROR: Test destroy(expunge) Virtual Machine
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/Bhaisaab/Work/apache-cloudstack/test/integration/smoke/test_vm_life_cycle.py", line 870, in test_09_expunge_vm
> id=self.small_virtual_machine.id
> File "/Library/Python/2.7/site-packages/marvin/integration/lib/common.py", line 368, in list_virtual_machines
> return(apiclient.listVirtualMachines(cmd))
> File "/Library/Python/2.7/site-packages/marvin/cloudstackAPI/cloudstackAPIClient.py", line 473, in listVirtualMachines
> response = self.connection.make_request(command, response)
> File "/Library/Python/2.7/site-packages/marvin/cloudstackConnection.py", line 174, in make_request
> result = self.make_request_with_auth(commandName, requests)
> File "/Library/Python/2.7/site-packages/marvin/cloudstackConnection.py", line 88, in make_request_with_auth
> raise e
> HTTPError: HTTP Error 431: 431
> -------------------- >> begin captured logging << --------------------
> testclient.testcase.TestVMLifeCycle: DEBUG: Expunge VM-ID: c78f9972-07c2-4117-8e98-c420db8503df
> testclient.testengine.run: INFO: sending command: destroyVirtualMachine {'id': u'c78f9972-07c2-4117-8e98-c420db8503df'}
> testclient.testengine.run: INFO: got response: { "destroyvirtualmachineresponse" : {"jobid":"5435f360-42d3-42e4-a58d-8edb2fb5340a"}, "cloudstack-version": "4.1.0-SNAPSHOT" }
> testclient.testengine.run: INFO: sending command: queryAsyncJobResult {'jobid': u'5435f360-42d3-42e4-a58d-8edb2fb5340a'}
> testclient.testengine.run: INFO: got response: { "queryasyncjobresultresponse" : {"accountid":"a5daff59-c646-4709-8ee8-371f7f9d2348","userid":"d63dd13f-d1cb-4329-9baf-6b59447d0a3a","cmd":"org.apache.cloudstack.api.command.user.vm.DestroyVMCmd","jobstatus":0,"jobprocstatus":0,"jobresultcode":0,"created":"2013-01-03T15:15:43-0800","jobid":"5435f360-42d3-42e4-a58d-8edb2fb5340a"}, "cloudstack-version": "4.1.0-SNAPSHOT" }
> testclient.testengine.run: INFO: sending command: queryAsyncJobResult {'jobid': u'5435f360-42d3-42e4-a58d-8edb2fb5340a'}
> testclient.testengine.run: INFO: got response: { "queryasyncjobresultresponse" : {"accountid":"a5daff59-c646-4709-8ee8-371f7f9d2348","userid":"d63dd13f-d1cb-4329-9baf-6b59447d0a3a","cmd":"org.apache.cloudstack.api.command.user.vm.DestroyVMCmd","jobstatus":1,"jobprocstatus":0,"jobresultcode":0,"jobresulttype":"object","jobresult":{"virtualmachine":{"id":"c78f9972-07c2-4117-8e98-c420db8503df","name":"c78f9972-07c2-4117-8e98-c420db8503df","account":"test-1IMEO7","domainid":"9da53465-269d-4d1b-ad24-ede114e3a039","domain":"ROOT","created":"2013-01-03T15:13:47-0800","state":"Destroyed","haenable":false,"zoneid":"d32a7f4a-c5d3-4973-bb4c-e2c06876abbe","zonename":"MyZone","templateid":"bd24b5ca-6759-4956-88ff-582f440a3a87","templtename":"tiny Linux","templatedisplaytext":"tiny Linux","passwordenabled":false,"serviceofferingid":"6de4123b-8fb3-481d-8215-e7caaebdb79d","serviceofferingname":"Small Instance","cpunumber":1,"cpuspeed":100,"memory":256,"cpuused":"0%","networkkbsread":0,"networkkbswrite":0,"guestosid":"0e7ed9de-98d0-4858-aa45-517e35c0af91","rootdeviceid":0,"rootdevicetype":"ROOT","securitygroup":[{"id":"6f190e4b-6b2a-4a71-a523-b4a1ce60dcbf","name":"default","description":"Default Security Group","account":"test-1IMEO7","ingressrule":[],"egressrule":[],"tags":[]}],"nic":[{"id":"d8f3bb74-6859-4040-9b29-3ca22c0482f2","networkid":"4b949baa-4e35-453c-b77a-8ecbe55a55cd","netmask":"255.255.255.0","gateway":"192.168.56.1","ipaddress":"192.168.56.240","isolationuri":"ec2://untagged","broadcasturi":"vlan://untagged","traffictype":"Guest","type":"Shared","isdefault":true,"macaddress":"06:82:dc:00:00:84"}],"hypervisor":"XenServer","instancename":"i-4-5-VM","tags":[],"jobstatus":0}},"created":"2013-01-03T15:15:43-0800","jobid":"5435f360-42d3-42e4-a58d-8edb2fb5340a"}, "cloudstack-version": "4.1.0-SNAPSHOT" }
> testclient.testengine.run: INFO: sending command: listConfigurations {'name': 'expunge.delay'}
> testclient.testengine.run: INFO: got response: { "listconfigurationsresponse" : { "count":1 ,"configuration" : [ {"category":"Advanced","name":"expunge.delay","value":"60"} ] }, "cloudstack-version": "4.1.0-SNAPSHOT" }
> testclient.testengine.run: INFO: sending command: listConfigurations {'name': 'expunge.interval'}
> testclient.testengine.run: INFO: got response: { "listconfigurationsresponse" : { "count":1 ,"configuration" : [ {"category":"Advanced","name":"expunge.interval","value":"60"} ] }, "cloudstack-version": "4.1.0-SNAPSHOT" }
> testclient.testengine.run: INFO: sending command: listVirtualMachines {'id': u'c78f9972-07c2-4117-8e98-c420db8503df'}
> testclient.testengine.run: CRITICAL: server returned 431 error code
> --------------------- >> end captured logging << ---------------------
> ======================================================================
> ERROR: test suite for <class 'integration.smoke.test_vm_life_cycle.TestVMLifeCycle'>
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/Library/Python/2.7/site-packages/nose-1.2.1-py2.7.egg/nose/suite.py", line 227, in run
> self.tearDown()
> File "/Library/Python/2.7/site-packages/nose-1.2.1-py2.7.egg/nose/suite.py", line 350, in tearDown
> self.teardownContext(ancestor)
> File "/Library/Python/2.7/site-packages/nose-1.2.1-py2.7.egg/nose/suite.py", line 366, in teardownContext
> try_run(context, names)
> File "/Library/Python/2.7/site-packages/nose-1.2.1-py2.7.egg/nose/util.py", line 478, in try_run
> return func()
> File "/Bhaisaab/Work/apache-cloudstack/test/integration/smoke/test_vm_life_cycle.py", line 325, in tearDownClass
> cleanup_resources(cls.api_client, cls._cleanup)
> File "/Library/Python/2.7/site-packages/marvin/integration/lib/utils.py", line 106, in cleanup_resources
> obj.delete(api_client)
> File "/Library/Python/2.7/site-packages/marvin/integration/lib/base.py", line 1080, in delete
> apiclient.deleteServiceOffering(cmd)
> File "/Library/Python/2.7/site-packages/marvin/cloudstackAPI/cloudstackAPIClient.py", line 653, in deleteServiceOffering
> response = self.connection.make_request(command, response)
> File "/Library/Python/2.7/site-packages/marvin/cloudstackConnection.py", line 174, in make_request
> result = self.make_request_with_auth(commandName, requests)
> File "/Library/Python/2.7/site-packages/marvin/cloudstackConnection.py", line 88, in make_request_with_auth
> raise e
> HTTPError: HTTP Error 431: 431
> -------------------- >> begin captured logging << --------------------
> testclient.testengine.run: INFO: sending command: deleteServiceOffering {'id': u'6de4123b-8fb3-481d-8215-e7caaebdb79d'}
> testclient.testengine.run: CRITICAL: server returned 431 error code
> --------------------- >> end captured logging << ---------------------
> ----------------------------------------------------------------------
> Ran 7 tests in 317.374s
> FAILED (errors=2)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira