From e9e6ac06c39a2459b1b07717ae611f9ac6776715 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Thu, 7 Nov 2019 18:14:18 +0530 Subject: [PATCH] storage: don't select an SSVM that is removed In case an older SSVM is removed without changing it's state from Up to Destroyed/Removed etc, the SSVM may be randomly selected for image store related operations. This fix ensures that endpoints for an image store are found only from a set of SSVM hosts that are not removed. Signed-off-by: Rohit Yadav --- .../cloudstack/storage/endpoint/DefaultEndPointSelector.java | 1 + 1 file changed, 1 insertion(+) diff --git a/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java b/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java index 292ef432ff95..9879f1bcf6a6 100644 --- a/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java +++ b/engine/storage/src/main/java/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java @@ -263,6 +263,7 @@ private List listUpAndConnectingSecondaryStorageVmHost(Long dcId) { } sc.and(sc.entity().getStatus(), Op.IN, Status.Up, Status.Connecting); sc.and(sc.entity().getType(), Op.EQ, Host.Type.SecondaryStorageVM); + sc.and(sc.entity().getRemoved(), Op.NULL); return sc.list(); }