(cloudstack) 01/01: NSX: Cleanup NSX resources during k8s cluster cleanup

2024-01-17 Thread pearl11594
This is an automated email from the ASF dual-hosted git repository.

pearl11594 pushed a commit to branch nsx-k8s-cleanup
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit d7b877aeba9ed2f7f7ad7b097f8e2c0be66e50a5
Author: Pearl Dsilva 
AuthorDate: Wed Jan 17 13:01:34 2024 -0500

NSX: Cleanup NSX resources during k8s cluster cleanup
---
 .../cluster/KubernetesClusterHelper.java   |  1 +
 .../cluster/KubernetesClusterHelperImpl.java   | 13 ++
 .../cluster/dao/KubernetesClusterVmMapDao.java |  2 ++
 .../cluster/dao/KubernetesClusterVmMapDaoImpl.java | 12 ++
 .../org/apache/cloudstack/service/NsxElement.java  | 21 +---
 .../main/java/com/cloud/vm/UserVmManagerImpl.java  | 28 ++
 .../core/spring-server-core-managers-context.xml   |  5 ++--
 7 files changed, 66 insertions(+), 16 deletions(-)

diff --git 
a/api/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelper.java 
b/api/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelper.java
index e445e50f82c..e160227749d 100644
--- 
a/api/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelper.java
+++ 
b/api/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelper.java
@@ -22,4 +22,5 @@ import org.apache.cloudstack.acl.ControlledEntity;
 public interface KubernetesClusterHelper extends Adapter {
 
 ControlledEntity findByUuid(String uuid);
+ControlledEntity findByVmId(long vmId);
 }
diff --git 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelperImpl.java
 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelperImpl.java
index 0ef916ab959..60bd81c7c5a 100644
--- 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelperImpl.java
+++ 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelperImpl.java
@@ -17,6 +17,7 @@
 package com.cloud.kubernetes.cluster;
 
 import com.cloud.kubernetes.cluster.dao.KubernetesClusterDao;
+import com.cloud.kubernetes.cluster.dao.KubernetesClusterVmMapDao;
 import com.cloud.utils.component.AdapterBase;
 import org.apache.cloudstack.acl.ControlledEntity;
 import org.apache.cloudstack.framework.config.ConfigKey;
@@ -24,18 +25,30 @@ import org.apache.cloudstack.framework.config.Configurable;
 import org.springframework.stereotype.Component;
 
 import javax.inject.Inject;
+import java.util.Objects;
 
 @Component
 public class KubernetesClusterHelperImpl extends AdapterBase implements 
KubernetesClusterHelper, Configurable {
 
 @Inject
 private KubernetesClusterDao kubernetesClusterDao;
+@Inject
+private KubernetesClusterVmMapDao kubernetesClusterVmMapDao;
 
 @Override
 public ControlledEntity findByUuid(String uuid) {
 return kubernetesClusterDao.findByUuid(uuid);
 }
 
+@Override
+public ControlledEntity findByVmId(long vmId) {
+KubernetesClusterVmMapVO clusterVmMapVO = 
kubernetesClusterVmMapDao.getClusterMapFromVmId(vmId);
+if (Objects.isNull(clusterVmMapVO)) {
+return null;
+}
+return kubernetesClusterDao.findById(clusterVmMapVO.getClusterId());
+}
+
 @Override
 public String getConfigComponentName() {
 return KubernetesClusterHelper.class.getSimpleName();
diff --git 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDao.java
 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDao.java
index 688a611ac99..45c0b79485c 100644
--- 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDao.java
+++ 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDao.java
@@ -23,6 +23,8 @@ import java.util.List;
 
 public interface KubernetesClusterVmMapDao extends 
GenericDao {
 public List listByClusterId(long clusterId);
+
+public KubernetesClusterVmMapVO getClusterMapFromVmId(long vmId);
 public List listByClusterIdAndVmIdsIn(long 
clusterId, List vmIds);
 
 int removeByClusterIdAndVmIdsIn(long clusterId, List vmIds);
diff --git 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDaoImpl.java
 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDaoImpl.java
index b9f2ec917b2..0d90a4cdaca 100644
--- 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDaoImpl.java
+++ 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDaoImpl.java
@@ -31,12 +31,17 @@ import com.cloud.utils.db.SearchCriteria;
 public class 

(cloudstack) 01/01: NSX: Cleanup NSX resources during k8s cluster cleanup

2024-01-17 Thread pearl11594
This is an automated email from the ASF dual-hosted git repository.

pearl11594 pushed a commit to branch nsx-k8s-cleanup
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit d67a89aed23c9855d690a633a8d0a945644578c9
Author: Pearl Dsilva 
AuthorDate: Wed Jan 17 13:00:22 2024 -0500

NSX: Cleanup NSX resources during k8s cluster cleanup
---
 .../cluster/KubernetesClusterHelper.java   |  1 +
 .../cluster/KubernetesClusterHelperImpl.java   | 13 ++
 .../cluster/dao/KubernetesClusterVmMapDao.java |  2 ++
 .../cluster/dao/KubernetesClusterVmMapDaoImpl.java | 12 ++
 .../org/apache/cloudstack/service/NsxElement.java  | 21 +---
 .../main/java/com/cloud/vm/UserVmManagerImpl.java  | 28 ++
 .../core/spring-server-core-managers-context.xml   |  5 ++--
 7 files changed, 66 insertions(+), 16 deletions(-)

diff --git 
a/api/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelper.java 
b/api/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelper.java
index e445e50f82c..e160227749d 100644
--- 
a/api/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelper.java
+++ 
b/api/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelper.java
@@ -22,4 +22,5 @@ import org.apache.cloudstack.acl.ControlledEntity;
 public interface KubernetesClusterHelper extends Adapter {
 
 ControlledEntity findByUuid(String uuid);
+ControlledEntity findByVmId(long vmId);
 }
diff --git 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelperImpl.java
 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelperImpl.java
index 0ef916ab959..60bd81c7c5a 100644
--- 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelperImpl.java
+++ 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/KubernetesClusterHelperImpl.java
@@ -17,6 +17,7 @@
 package com.cloud.kubernetes.cluster;
 
 import com.cloud.kubernetes.cluster.dao.KubernetesClusterDao;
+import com.cloud.kubernetes.cluster.dao.KubernetesClusterVmMapDao;
 import com.cloud.utils.component.AdapterBase;
 import org.apache.cloudstack.acl.ControlledEntity;
 import org.apache.cloudstack.framework.config.ConfigKey;
@@ -24,18 +25,30 @@ import org.apache.cloudstack.framework.config.Configurable;
 import org.springframework.stereotype.Component;
 
 import javax.inject.Inject;
+import java.util.Objects;
 
 @Component
 public class KubernetesClusterHelperImpl extends AdapterBase implements 
KubernetesClusterHelper, Configurable {
 
 @Inject
 private KubernetesClusterDao kubernetesClusterDao;
+@Inject
+private KubernetesClusterVmMapDao kubernetesClusterVmMapDao;
 
 @Override
 public ControlledEntity findByUuid(String uuid) {
 return kubernetesClusterDao.findByUuid(uuid);
 }
 
+@Override
+public ControlledEntity findByVmId(long vmId) {
+KubernetesClusterVmMapVO clusterVmMapVO = 
kubernetesClusterVmMapDao.getClusterMapFromVmId(vmId);
+if (Objects.isNull(clusterVmMapVO)) {
+return null;
+}
+return kubernetesClusterDao.findById(clusterVmMapVO.getClusterId());
+}
+
 @Override
 public String getConfigComponentName() {
 return KubernetesClusterHelper.class.getSimpleName();
diff --git 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDao.java
 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDao.java
index 688a611ac99..45c0b79485c 100644
--- 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDao.java
+++ 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDao.java
@@ -23,6 +23,8 @@ import java.util.List;
 
 public interface KubernetesClusterVmMapDao extends 
GenericDao {
 public List listByClusterId(long clusterId);
+
+public KubernetesClusterVmMapVO getClusterMapFromVmId(long vmId);
 public List listByClusterIdAndVmIdsIn(long 
clusterId, List vmIds);
 
 int removeByClusterIdAndVmIdsIn(long clusterId, List vmIds);
diff --git 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDaoImpl.java
 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDaoImpl.java
index b9f2ec917b2..0d90a4cdaca 100644
--- 
a/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDaoImpl.java
+++ 
b/plugins/integrations/kubernetes-service/src/main/java/com/cloud/kubernetes/cluster/dao/KubernetesClusterVmMapDaoImpl.java
@@ -31,12 +31,17 @@ import com.cloud.utils.db.SearchCriteria;
 public class