You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Alena Prokharchyk (JIRA)" <ji...@apache.org> on 2013/07/24 00:16:49 UTC

[jira] [Commented] (CLOUDSTACK-3735) Automation: Domain deletion fails even when the networks within the domain have been destroyed

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-3735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13717696#comment-13717696 ] 

Alena Prokharchyk commented on CLOUDSTACK-3735:
-----------------------------------------------

Prasanna, all resources have to be cleaned up before the domain deletion (unless cleanup=true is passed to the deleteDomain call, in this case the networks will get cleaned up by us). So in your test case, the Domain level network has to be removed. 

The real problem in this bug - the domain should have never be left in Destroyed state with not null Removed field if some of its resources failed to cleanup. I will fix it.
                
> Automation: Domain deletion fails even when the networks within the domain have been destroyed
> ----------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-3735
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-3735
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>    Affects Versions: 4.2.0
>            Reporter: Prasanna Santhanam
>            Assignee: Alena Prokharchyk
>            Priority: Critical
>             Fix For: 4.2.0
>
>         Attachments: vmops.log.tar.bz2
>
>
> When the domain has networks created by accounts within it and all the networks
> and accounts have been destroyed we are unable to delete the domain
> Steps:
> 1. Create a domain under ROOT
> 2. Create an account under the domain
> 3. Create a network (guest) within the account
> 4. delete the network
> 5. delete the account
> 6. try to delete the domain
> domain deletion fails
> Network in question as pointed to by the DomainManagerImpl.java
> mysql> select * from networks where id=206\G
> *************************** 1. row ***************************
>                    id: 206
>                  name: MySharedNetwork - Test
>                  uuid: 5f36bbc8-2207-42e3-8bd6-d9e571ac7678
>          display_text: MySharedNetwork
>          traffic_type: Guest
> broadcast_domain_type: Vlan
>         broadcast_uri: vlan://1200
>               gateway: 172.16.15.1
>                  cidr: 172.16.15.0/24
>                  mode: Dhcp
>   network_offering_id: 17
>   physical_network_id: 200
>        data_center_id: 1
>             guru_name: DirectNetworkGuru
>                 state: Destroy
>               related: 206
>             domain_id: 1
>            account_id: 1
>                  dns1: NULL
>                  dns2: NULL
>             guru_data: NULL
>            set_fields: 0
>              acl_type: Domain
>        network_domain: cs1sandbox.simulator
>        reservation_id: NULL
>            guest_type: Shared
>      restart_required: 0
>               created: 2013-07-23 12:08:37
>               removed: 2013-07-23 12:10:13
>     specify_ip_ranges: 1
>                vpc_id: NULL
>           ip6_gateway: NULL
>              ip6_cidr: NULL
>          network_cidr: NULL
>       display_network: 1
>        network_acl_id: NULL
> 1 row in set (0.00 sec)
> mysql> select * from domain_network_ref;
> +----+-----------+------------+------------------+
> | id | domain_id | network_id | subdomain_access |
> +----+-----------+------------+------------------+
> |  1 |         2 |        204 |                1 |
> |  2 |         3 |        205 |                1 |
> |  3 |         4 |        206 |                1 |
> +----+-----------+------------+------------------+
> 3 rows in set (0.00 sec)
> But as can be seen the state of the domain is 'Destroy' and it has been removed (date is non NULL)
> ERROR [cloud.user.DomainManagerImpl] (Job-Executor-12:job-28 = [ adc38e3a-2d47-4fd8-a80c-0cc209182f65 ]) Exception deleting domain with id 3
> com.cloud.utils.exception.CloudRuntimeException: Can't delete the domain yet because it has 1 non-removed networks
> 	at com.cloud.user.DomainManagerImpl.deleteDomain(DomainManagerImpl.java:274)
> 	at com.cloud.user.DomainManagerImpl.deleteDomain(DomainManagerImpl.java:226)
> 	at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
> 	at org.apache.cloudstack.region.RegionManagerImpl.deleteDomain(RegionManagerImpl.java:231)
> 	at org.apache.cloudstack.region.RegionServiceImpl.deleteDomain(RegionServiceImpl.java:166)
> 	at org.apache.cloudstack.api.command.admin.domain.DeleteDomainCmd.execute(DeleteDomainCmd.java:99)
> 	at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
> 	at com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:531)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> 	at java.lang.Thread.run(Thread.java:680)
> ERROR [cloud.async.AsyncJobManagerImpl] (Job-Executor-12:job-28 = [ adc38e3a-2d47-4fd8-a80c-0cc209182f65 ]) Unexpected exception while executing org.apache.cloudstack.api.command.admin.domain.DeleteDomainCmd
> com.cloud.utils.exception.CloudRuntimeException: Can't delete the domain yet because it has 1 non-removed networks
> 	at com.cloud.user.DomainManagerImpl.deleteDomain(DomainManagerImpl.java:274)
> 	at com.cloud.user.DomainManagerImpl.deleteDomain(DomainManagerImpl.java:226)
> 	at com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)
> 	at org.apache.cloudstack.region.RegionManagerImpl.deleteDomain(RegionManagerImpl.java:231)
> 	at org.apache.cloudstack.region.RegionServiceImpl.deleteDomain(RegionServiceImpl.java:166)
> 	at org.apache.cloudstack.api.command.admin.domain.DeleteDomainCmd.execute(DeleteDomainCmd.java:99)
> 	at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
> 	at com.cloud.async.AsyncJobManagerImpl$1.run(AsyncJobManagerImpl.java:531)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> 	at java.lang.Thread.run(Thread.java:680)
> Attaching management server logs

--
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