From 13d623618ee8ebb76a0642671e84f2433c335857 Mon Sep 17 00:00:00 2001 From: Seokho Son Date: Tue, 30 Jul 2024 22:53:12 +0900 Subject: [PATCH] Fix subGroup removal bug in refine func --- src/core/mcis/manageInfo.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/core/mcis/manageInfo.go b/src/core/mcis/manageInfo.go index c2008739..7317dde8 100644 --- a/src/core/mcis/manageInfo.go +++ b/src/core/mcis/manageInfo.go @@ -1899,6 +1899,28 @@ func DelMcisVm(nsId string, mcisId string, vmId string, option string) error { return err } + // remove empty SubGroups + subGroup, err := ListSubGroupId(nsId, mcisId) + if err != nil { + log.Error().Err(err).Msg("Failed to list subGroup to remove") + return err + } + for _, v := range subGroup { + vmListInSubGroup, err := ListVmBySubGroup(nsId, mcisId, v) + if err != nil { + log.Error().Err(err).Msg("Failed to list vm in subGroup to remove") + return err + } + if len(vmListInSubGroup) == 0 { + subGroupKey := common.GenMcisSubGroupKey(nsId, mcisId, v) + err := kvstore.Delete(subGroupKey) + if err != nil { + log.Error().Err(err).Msg("Failed to remove the empty subGroup") + return err + } + } + } + _, err = mcir.UpdateAssociatedObjectList(nsId, common.StrImage, vmInfo.ImageId, common.StrDelete, key) if err != nil { mcir.UpdateAssociatedObjectList(nsId, common.StrCustomImage, vmInfo.ImageId, common.StrDelete, key)