From b83456f89520efcd0495b70c3ebffefc19264ff1 Mon Sep 17 00:00:00 2001 From: alena Date: Thu, 21 Apr 2011 14:26:42 -0700 Subject: [PATCH] bug 9504: don't send DHCP entry command for Destroyed vm status 9504: resolved fixed --- .../VirtualNetworkApplianceManagerImpl.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index a62709917eb..19a87603d6f 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -1566,16 +1566,18 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian private void createDhcpEntriesCommands(DomainRouterVO router, Commands cmds) { long networkId = router.getNetworkId(); List vms = _userVmDao.listByNetworkId(networkId); - if (vms != null && !vms.isEmpty()) { + if (!vms.isEmpty()) { for (UserVmVO vm : vms) { - NicVO nic = _nicDao.findByInstanceIdAndNetworkId(networkId, vm.getId()); - if (nic != null) { - s_logger.debug("Creating dhcp entry for vm " + vm + " on domR " + router + "."); + if (vm.getState() != State.Destroyed && vm.getState() != State.Expunging) { + NicVO nic = _nicDao.findByInstanceIdAndNetworkId(networkId, vm.getId()); + if (nic != null) { + s_logger.debug("Creating dhcp entry for vm " + vm + " on domR " + router + "."); - DhcpEntryCommand dhcpCommand = new DhcpEntryCommand(nic.getMacAddress(), nic.getIp4Address(), vm.getName()); - dhcpCommand.setAccessDetail(NetworkElementCommand.ROUTER_IP, router.getPrivateIpAddress()); - dhcpCommand.setAccessDetail(NetworkElementCommand.ROUTER_NAME, router.getInstanceName()); - cmds.addCommand("dhcp", dhcpCommand); + DhcpEntryCommand dhcpCommand = new DhcpEntryCommand(nic.getMacAddress(), nic.getIp4Address(), vm.getName()); + dhcpCommand.setAccessDetail(NetworkElementCommand.ROUTER_IP, router.getPrivateIpAddress()); + dhcpCommand.setAccessDetail(NetworkElementCommand.ROUTER_NAME, router.getInstanceName()); + cmds.addCommand("dhcp", dhcpCommand); + } } } }