diff --git a/engine/storage/src/org/apache/cloudstack/storage/LocalHostEndpoint.java b/engine/storage/src/org/apache/cloudstack/storage/LocalHostEndpoint.java index 932a07fbd0f..060ad6a9910 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/LocalHostEndpoint.java +++ b/engine/storage/src/org/apache/cloudstack/storage/LocalHostEndpoint.java @@ -24,6 +24,7 @@ import java.util.concurrent.TimeUnit; import com.cloud.configuration.Config; import com.cloud.configuration.dao.ConfigurationDao; import com.cloud.configuration.dao.ConfigurationDaoImpl; +import com.cloud.utils.component.ComponentContext; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; import org.apache.cloudstack.storage.command.CopyCommand; @@ -56,6 +57,11 @@ public class LocalHostEndpoint implements EndPoint { executor = Executors.newScheduledThreadPool(10); } + public static EndPoint getEndpoint() { + LocalHostEndpoint endpoint = ComponentContext.inject(LocalHostEndpoint.class); + return endpoint; + } + @Override public long getId() { // TODO Auto-generated method stub diff --git a/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java b/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java index a44bbec635a..bbd6b6e12d1 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java +++ b/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java @@ -191,7 +191,7 @@ public class DefaultEndPointSelector implements EndPointSelector { // we can arbitrarily pick one ssvm to do that task List ssAHosts = listUpAndConnectingSecondaryStorageVmHost(dcId); if (ssAHosts == null || ssAHosts.isEmpty()) { - return new LocalHostEndpoint(); // use local host as endpoint in + return LocalHostEndpoint.getEndpoint(); // use local host as endpoint in // case of no ssvm existing } Collections.shuffle(ssAHosts);