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