From 7f5096a4d0d2091a753500190d10d360b35f17c8 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Tue, 12 Nov 2019 00:47:21 +0530 Subject: [PATCH] storage: don't select an SSVM that is removed (#3668) 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 292ef432ff9..9879f1bcf6a 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 @@ public class DefaultEndPointSelector implements EndPointSelector { } 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(); }