From f31d0d3914956afbeeb6f7c117738d272782ad86 Mon Sep 17 00:00:00 2001 From: Shreya Date: Fri, 4 Oct 2024 13:31:24 +0530 Subject: [PATCH] Include workloads with no containers edge case in dsmetadata DB object --- .../autotune/database/helper/DBHelpers.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main/java/com/autotune/database/helper/DBHelpers.java b/src/main/java/com/autotune/database/helper/DBHelpers.java index 512cf7e3e..8b3d018fd 100644 --- a/src/main/java/com/autotune/database/helper/DBHelpers.java +++ b/src/main/java/com/autotune/database/helper/DBHelpers.java @@ -895,6 +895,11 @@ public static List convertKruizeMetadataToDataSourceMeta continue; } dataSourceNamespace.getDataSourceWorkloadHashMap().put(kruizeMetadata.getWorkloadName(), dataSourceWorkload); + + if (null == dataSourceContainer) { + dataSourceWorkload.setDataSourceContainerHashMap(null); + continue; + } dataSourceWorkload.getDataSourceContainerHashMap().put(kruizeMetadata.getContainerName(), dataSourceContainer); } catch (Exception e) { LOGGER.error("Error occurred while converting to dataSourceMetadataInfo from DB object : {}", e.getMessage()); @@ -1028,6 +1033,23 @@ public static List convertDataSourceMetadataToMetadataObj } for (DataSourceWorkload dataSourceWorkload : dataSourceNamespace.getDataSourceWorkloadHashMap().values()) { + // handles 'job' workload type with no containers + if(null == dataSourceWorkload.getDataSourceContainerHashMap()) { + KruizeDSMetadataEntry kruizeMetadata = new KruizeDSMetadataEntry(); + kruizeMetadata.setVersion(KruizeConstants.DataSourceConstants.DataSourceMetadataInfoConstants.version); + + kruizeMetadata.setDataSourceName(dataSourceName); + kruizeMetadata.setClusterName(dataSourceClusterName); + kruizeMetadata.setNamespace(namespaceName); + kruizeMetadata.setWorkloadType(dataSourceWorkload.getDataSourceWorkloadType()); + kruizeMetadata.setWorkloadName(dataSourceWorkload.getDataSourceWorkloadName()); + + kruizeMetadata.setContainerName(null); + kruizeMetadata.setContainerImageName(null); + + kruizeMetadataList.add(kruizeMetadata); + continue; + } for (DataSourceContainer dataSourceContainer : dataSourceWorkload.getDataSourceContainerHashMap().values()) { KruizeDSMetadataEntry kruizeMetadata = new KruizeDSMetadataEntry();