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:32:49 UTC

[jira] [Resolved] (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:all-tabpanel ]

Alena Prokharchyk resolved CLOUDSTACK-3735.
-------------------------------------------

    Resolution: Not A Problem

Closing the bug. Just tested the following scenario on the latest 4.2 (8d1a670026ac052cb4121a69e17ca907909c26f7):

1) Created the domain:

mysql> select id, name, state, removed from domain where id=1;
+----+------+--------+---------+
| id | name | state  | removed |
+----+------+--------+---------+
|  1 | ROOT | Active | NULL    |
+----+------+--------+---------+

2) Added domain level network to the domain.
3) Tried to delete the domain by calling deleteDomain API. Following Error was thrown, which is the correct behavior:

WARN  [cloud.network.NetworkModelImpl] (1438179052@qtp-100403510-5:) Unable to find provider Netscaler in physical network id=200
ERROR [cloud.user.DomainManagerImpl] (Job-Executor-3:job-16 = [ 13d2bd30-92e5-4ea2-a0b3-bff79e4eb577 ]) Exception deleting domain with id 2
com.cloud.utils.exception.CloudRuntimeException: Can't delete the domain yet because it has 1 non-removed networks

4) The domain remains in Active state as its deletion fails.

Even in your log it seems like the domain was marked as Active:
2013-07-23 17:37:30,546 DEBUG [cloud.user.DomainManagerImpl] (Job-Executor-12:job-28 = [ adc38e3a-2d47-4fd8-a80c-0cc209182f65 ]) Changing domain id=3 state back to Active because it can't be removed due to resources referencing to it

Please reopen the bug if you see the diff behavior on the latest setup.


                
> 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