[ 
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

Reply via email to