sureshanaparti commented on code in PR #9057:
URL: https://github.com/apache/cloudstack/pull/9057#discussion_r1593839206
##########
plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelperImpl.java:
##########
@@ -16,26 +16,48 @@
// under the License.
package com.cloud.kubernetes.cluster;
-import com.cloud.kubernetes.cluster.dao.KubernetesClusterDao;
-import com.cloud.utils.component.AdapterBase;
+import javax.inject.Inject;
+
import org.apache.cloudstack.acl.ControlledEntity;
import org.apache.cloudstack.framework.config.ConfigKey;
import org.apache.cloudstack.framework.config.Configurable;
+import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
-import javax.inject.Inject;
+import com.cloud.kubernetes.cluster.dao.KubernetesClusterDao;
+import com.cloud.kubernetes.cluster.dao.KubernetesClusterVmMapDao;
+import com.cloud.uservm.UserVm;
+import com.cloud.utils.component.AdapterBase;
+import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.vm.UserVmManager;
@Component
public class KubernetesClusterHelperImpl extends AdapterBase implements
KubernetesClusterHelper, Configurable {
+ private static final Logger logger =
Logger.getLogger(KubernetesClusterHelperImpl.class);
@Inject
private KubernetesClusterDao kubernetesClusterDao;
+ @Inject
+ private KubernetesClusterVmMapDao kubernetesClusterVmMapDao;
@Override
public ControlledEntity findByUuid(String uuid) {
return kubernetesClusterDao.findByUuid(uuid);
}
+ @Override
+ public void checkVmCanBeDestroyed(UserVm userVm) {
+ if (!UserVmManager.CKS_NODE.equals(userVm.getUserVmType())) {
+ return;
+ }
+ KubernetesClusterVmMapVO vmMapVO =
kubernetesClusterVmMapDao.findByVmId(userVm.getId());
+ if (vmMapVO == null) {
+ return;
+ }
+ logger.error(String.format("VM ID: %s is a part of Kubernetes cluster
ID: %d", userVm.getId(), vmMapVO.getClusterId()));
+ throw new CloudRuntimeException("Instance is a part of a Kubernetes
cluster");
Review Comment:
specify the Kubernetes cluster id/name in the msg passed to the response?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]