Skip to content

Commit

Permalink
server: Add check on host's status while deleting config drive on hos…
Browse files Browse the repository at this point in the history
…t cache (apache#7584)

This PR adds a check on host's status. Without this if the agent is not in Up or Connecting state, expunging of a VM fails.

Steps to reproduce:
- Enable vm.configdrive.force.host.cache.use in Global Configuration.
- Create a L2 network with config drive
- Deploy a vm with the L2 network created in previous step
- Stop the vm and destroy vm (not expunge it)
- Stop the cloudstack-agent on the VM's host
- Expunge the vm

Fixes: apache#7428

(cherry picked from commit 0acc66f)
Signed-off-by: Rohit Yadav <[email protected]>
  • Loading branch information
vishesh92 authored and rohityadavcloud committed Jul 24, 2023
1 parent 0574087 commit f253a2d
Showing 1 changed file with 6 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
// under the License.
package com.cloud.network.element;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand Down Expand Up @@ -50,6 +51,7 @@
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.exception.UnsupportedServiceException;
import com.cloud.host.dao.HostDao;
import com.cloud.host.Status;
import com.cloud.hypervisor.HypervisorGuruManager;
import com.cloud.network.Network;
import com.cloud.network.Network.Capability;
Expand Down Expand Up @@ -571,6 +573,10 @@ private boolean deleteConfigDriveIsoOnHostCache(final VirtualMachine vm, final L
LOG.warn(String.format("Host %s appears to be unavailable, skipping deletion of config-drive ISO on host cache", hostId));
return false;
}
if (!Arrays.asList(Status.Up, Status.Connecting).contains(hostVO.getStatus())) {
LOG.warn(String.format("Host status %s is not Up or Connecting, skipping deletion of config-drive ISO on host cache", hostId));
return false;
}

final HandleConfigDriveIsoAnswer answer = (HandleConfigDriveIsoAnswer) agentManager.easySend(hostId, configDriveIsoCommand);
if (answer == null) {
Expand Down

0 comments on commit f253a2d

Please sign in to comment.