diff --git a/acceptanceTests/testsUtils.go b/acceptanceTests/testsUtils.go index 79023e160..715df51d7 100644 --- a/acceptanceTests/testsUtils.go +++ b/acceptanceTests/testsUtils.go @@ -304,11 +304,10 @@ func cleanupCommand(cmd *exec.Cmd) error { } func getPods(tapStatusInterface interface{}) ([]map[string]interface{}, error) { - tapStatus := tapStatusInterface.(map[string]interface{}) - podsInterface := tapStatus["pods"].([]interface{}) + tapPodsInterface := tapStatusInterface.([]interface{}) var pods []map[string]interface{} - for _, podInterface := range podsInterface { + for _, podInterface := range tapPodsInterface { pods = append(pods, podInterface.(map[string]interface{})) } diff --git a/agent/main.go b/agent/main.go index 564588a02..f90dc0f96 100644 --- a/agent/main.go +++ b/agent/main.go @@ -23,7 +23,6 @@ import ( "path/filepath" "plugin" "sort" - "strings" "syscall" "time" @@ -468,11 +467,7 @@ func startMizuTapperSyncer(ctx context.Context, provider *kubernetes.Provider) ( } providers.TapStatus = shared.TapStatus{Pods: kubernetes.GetPodInfosForPods(tapperSyncer.CurrentlyTappedPods)} - tappedPodsStatus := make([]shared.TappedPodStatus, 0) - for _, pod := range providers.TapStatus.Pods { - isTapped := strings.ToLower(providers.TappersStatus[pod.NodeName].Status) == "started" - tappedPodsStatus = append(tappedPodsStatus, shared.TappedPodStatus{Name: pod.Name, Namespace: pod.Namespace, IsTapped: isTapped}) - } + tappedPodsStatus := utils.GetTappedPodsStatus() serializedTapStatus, err := json.Marshal(shared.CreateWebSocketStatusMessage(tappedPodsStatus)) if err != nil { diff --git a/agent/pkg/controllers/status_controller.go b/agent/pkg/controllers/status_controller.go index 6d049433d..0987ddc16 100644 --- a/agent/pkg/controllers/status_controller.go +++ b/agent/pkg/controllers/status_controller.go @@ -3,18 +3,17 @@ package controllers import ( "encoding/json" "fmt" + "github.com/gin-gonic/gin" + "github.com/up9inc/mizu/shared" + "github.com/up9inc/mizu/shared/logger" "mizuserver/pkg/api" "mizuserver/pkg/config" "mizuserver/pkg/holder" "mizuserver/pkg/providers" "mizuserver/pkg/up9" + "mizuserver/pkg/utils" "mizuserver/pkg/validation" "net/http" - "strings" - - "github.com/gin-gonic/gin" - "github.com/up9inc/mizu/shared" - "github.com/up9inc/mizu/shared/logger" ) func HealthCheck(c *gin.Context) { @@ -54,11 +53,7 @@ func PostTappedPods(c *gin.Context) { } func broadcastTappedPodsStatus() { - tappedPodsStatus := make([]shared.TappedPodStatus, 0) - for _, pod := range providers.TapStatus.Pods { - isTapped := strings.ToLower(providers.TappersStatus[pod.NodeName].Status) == "started" - tappedPodsStatus = append(tappedPodsStatus, shared.TappedPodStatus{Name: pod.Name, Namespace: pod.Namespace, IsTapped: isTapped}) - } + tappedPodsStatus := utils.GetTappedPodsStatus() message := shared.CreateWebSocketStatusMessage(tappedPodsStatus) if jsonBytes, err := json.Marshal(message); err != nil { @@ -101,11 +96,7 @@ func GetAuthStatus(c *gin.Context) { } func GetTappingStatus(c *gin.Context) { - tappedPodsStatus := make([]shared.TappedPodStatus, 0) - for _, pod := range providers.TapStatus.Pods { - isTapped := strings.ToLower(providers.TappersStatus[pod.NodeName].Status) == "started" - tappedPodsStatus = append(tappedPodsStatus, shared.TappedPodStatus{Name: pod.Name, Namespace: pod.Namespace, IsTapped: isTapped}) - } + tappedPodsStatus := utils.GetTappedPodsStatus() c.JSON(http.StatusOK, tappedPodsStatus) } diff --git a/agent/pkg/utils/utils.go b/agent/pkg/utils/utils.go index 4838fe666..95b92e288 100644 --- a/agent/pkg/utils/utils.go +++ b/agent/pkg/utils/utils.go @@ -3,11 +3,12 @@ package utils import ( "context" "fmt" + "mizuserver/pkg/providers" "net/http" "net/url" "os" "os/signal" - "reflect" + "strings" "syscall" "time" @@ -44,15 +45,13 @@ func StartServer(app *gin.Engine) { } } -func ReverseSlice(data interface{}) { - value := reflect.ValueOf(data) - valueLen := value.Len() - for i := 0; i <= int((valueLen-1)/2); i++ { - reverseIndex := valueLen - 1 - i - tmp := value.Index(reverseIndex).Interface() - value.Index(reverseIndex).Set(value.Index(i)) - value.Index(i).Set(reflect.ValueOf(tmp)) +func GetTappedPodsStatus() []shared.TappedPodStatus { + tappedPodsStatus := make([]shared.TappedPodStatus, 0) + for _, pod := range providers.TapStatus.Pods { + isTapped := strings.ToLower(providers.TappersStatus[pod.NodeName].Status) == "started" + tappedPodsStatus = append(tappedPodsStatus, shared.TappedPodStatus{Name: pod.Name, Namespace: pod.Namespace, IsTapped: isTapped}) } + return tappedPodsStatus } func CheckErr(e error) {