@Override public boolean deleteExternalFirewall(Long hostId) { HostVO externalFirewall = _hostDao.findById(hostId); if (externalFirewall == null) { throw new InvalidParameterValueException("Could not find an external firewall with ID: " + hostId); } DetailVO fwHostDetails = _hostDetailDao.findDetail(hostId, ApiConstants.FIREWALL_DEVICE_ID); long fwDeviceId = Long.parseLong(fwHostDetails.getValue()); // check if any networks are using this balancer device List<NetworkExternalFirewallVO> networks = _networkExternalFirewallDao.listByFirewallDeviceId(fwDeviceId); if ((networks != null) && !networks.isEmpty()) { throw new CloudRuntimeException("Delete can not be done as there are networks using the firewall device "); } try { // put the host in maintenance state in order for it to be deleted externalFirewall.setResourceState(ResourceState.Maintenance); _hostDao.update(hostId, externalFirewall); _resourceMgr.deleteHost(hostId, false, false); // delete the external load balancer entry _externalFirewallDeviceDao.remove(fwDeviceId); return true; } catch (Exception e) { s_logger.debug("Failed to delete external firewall device due to " + e.getMessage()); return false; } }
@Override public boolean deleteBigSwitchBcfDevice(DeleteBigSwitchBcfDeviceCmd cmd) { Long bigswitchBcfDeviceId = cmd.getBigSwitchBcfDeviceId(); BigSwitchBcfDeviceVO bigswitchBcfDevice = _bigswitchBcfDao.findById(bigswitchBcfDeviceId); if (bigswitchBcfDevice == null) { throw new InvalidParameterValueException("Could not find a BigSwitch Controller with id " + bigswitchBcfDevice); } HostVO bigswitchHost = _hostDao.findById(bigswitchBcfDevice.getHostId()); Long hostId = bigswitchHost.getId(); bigswitchHost.setResourceState(ResourceState.Maintenance); _hostDao.update(hostId, bigswitchHost); _resourceMgr.deleteHost(hostId, false, false); _bigswitchBcfDao.remove(bigswitchBcfDeviceId); return true; }
externalLoadBalancer.setResourceState(ResourceState.Maintenance); _hostDao.update(hostId, externalLoadBalancer); _resourceMgr.deleteHost(hostId, false, false);
try { ncc.setResourceState(ResourceState.Maintenance); _hostDao.update(ncc.getId(), ncc); _resourceMgr.deleteHost(ncc.getId(), false, false);
Long hostId = niciraHost.getId(); niciraHost.setResourceState(ResourceState.Maintenance); hostDao.update(hostId, niciraHost); resourceMgr.deleteHost(hostId, false, false);
Long hostId = brocadeHost.getId(); brocadeHost.setResourceState(ResourceState.Maintenance); _hostDao.update(hostId, brocadeHost); _resourceMgr.deleteHost(hostId, false, false);
@Override public void deleteController(DeleteOpenDaylightControllerCmd cmd) throws InvalidParameterValueException { OpenDaylightControllerVO controller = openDaylightControllerMappingDao.findById(cmd.getId()); if (controller == null) { throw new InvalidParameterValueException("No ODL Controller with id " + cmd.getId()); } // Find the physical network we work for Long physicalNetworkId = controller.getPhysicalNetworkId(); PhysicalNetworkVO physicalNetwork = physicalNetworkDao.findById(physicalNetworkId); if (physicalNetwork != null) { // Lets see if there are networks that use us List<NetworkVO> networkList = networkDao.listByPhysicalNetwork(physicalNetworkId); if (networkList != null) { // Networks with broadcast type lswitch are ours for (NetworkVO network : networkList) { if (network.getBroadcastDomainType() == Networks.BroadcastDomainType.OpenDaylight) { if ((network.getState() != Network.State.Shutdown) && (network.getState() != Network.State.Destroy)) { throw new CloudRuntimeException("This Controller can not be deleted as there are one or more logical networks provisioned by cloudstack."); } } } } } HostVO host = hostDao.findById(controller.getHostId()); Long hostId = host.getId(); host.setResourceState(ResourceState.Maintenance); hostDao.update(hostId, host); resourceManager.deleteHost(hostId, false, false); openDaylightControllerMappingDao.remove(cmd.getId()); }
Long hostId = nuageHost.getId(); nuageHost.setResourceState(ResourceState.Maintenance); _hostDao.update(hostId, nuageHost); _resourceMgr.deleteHost(hostId, false, false);