diff --git a/src/api/rest/server/common/config.go b/src/api/rest/server/common/config.go index b34bebb67..9cd588b72 100644 --- a/src/api/rest/server/common/config.go +++ b/src/api/rest/server/common/config.go @@ -28,6 +28,7 @@ import ( "github.com/rs/zerolog/log" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" ) @@ -47,17 +48,17 @@ func RestInitConfig(c echo.Context) error { if err := Validate(c, []string{"configId"}); err != nil { log.Error().Err(err).Msg("") - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } err := common.InitConfig(c.Param("configId")) if err != nil { err := fmt.Errorf("Failed to init the config " + c.Param("configId")) - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } else { // return SendMessage(c, http.StatusOK, "The config "+c.Param("configId")+" has been initialized.") content := map[string]string{"message": "The config " + c.Param("configId") + " has been initialized."} - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } } @@ -83,9 +84,9 @@ func RestGetConfig(c echo.Context) error { content, err := common.GetConfig(c.Param("configId")) if err != nil { err := fmt.Errorf("Failed to find the config " + c.Param("configId")) - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } else { - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } } @@ -112,7 +113,7 @@ func RestGetAllConfig(c echo.Context) error { configList, err := common.ListConfig() content.Config = configList - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestPostConfig godoc @@ -131,12 +132,12 @@ func RestPostConfig(c echo.Context) error { u := &model.ConfigReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } log.Debug().Msg("[Creating or Updating Config]") content, err := common.UpdateConfig(u) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -155,7 +156,7 @@ func RestInitAllConfig(c echo.Context) error { err := common.InitAllConfig() content := map[string]string{ "message": "All configs has been initialized"} - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetRequest godoc @@ -173,7 +174,7 @@ func RestInitAllConfig(c echo.Context) error { func RestGetRequest(c echo.Context) error { reqId := c.Param("reqId") - if details, ok := common.RequestMap.Load(reqId); ok { + if details, ok := clientManager.RequestMap.Load(reqId); ok { return Send(c, http.StatusOK, details) } @@ -206,11 +207,11 @@ func RestGetAllRequests(c echo.Context) error { timeLimit = time.Now().Add(-time.Duration(minutes) * time.Minute) } - var allRequests []common.RequestDetails + var allRequests []clientManager.RequestDetails // Filtering the requests - common.RequestMap.Range(func(key, value interface{}) bool { - if details, ok := value.(common.RequestDetails); ok { + clientManager.RequestMap.Range(func(key, value interface{}) bool { + if details, ok := value.(clientManager.RequestDetails); ok { if (statusFilter == "" || strings.ToLower(details.Status) == statusFilter) && (methodFilter == "" || strings.ToLower(details.RequestInfo.Method) == methodFilter) && (urlFilter == "" || strings.Contains(strings.ToLower(details.RequestInfo.URL), urlFilter)) && @@ -239,7 +240,7 @@ func RestGetAllRequests(c echo.Context) error { } } - return Send(c, http.StatusOK, map[string][]common.RequestDetails{"requests": allRequests}) + return Send(c, http.StatusOK, map[string][]clientManager.RequestDetails{"requests": allRequests}) } // RestDeleteRequest godoc @@ -255,8 +256,8 @@ func RestGetAllRequests(c echo.Context) error { func RestDeleteRequest(c echo.Context) error { reqId := c.Param("reqId") - if _, ok := common.RequestMap.Load(reqId); ok { - common.RequestMap.Delete(reqId) + if _, ok := clientManager.RequestMap.Load(reqId); ok { + clientManager.RequestMap.Delete(reqId) return SendMessage(c, http.StatusOK, "Request deleted successfully") } @@ -273,8 +274,8 @@ func RestDeleteRequest(c echo.Context) error { // @Success 200 {object} model.SimpleMsg // @Router /requests [delete] func RestDeleteAllRequests(c echo.Context) error { - common.RequestMap.Range(func(key, value interface{}) bool { - common.RequestMap.Delete(key) + clientManager.RequestMap.Range(func(key, value interface{}) bool { + clientManager.RequestMap.Delete(key) return true }) diff --git a/src/api/rest/server/common/label/label.go b/src/api/rest/server/common/label/label.go index e8fc704c8..6db7b9039 100644 --- a/src/api/rest/server/common/label/label.go +++ b/src/api/rest/server/common/label/label.go @@ -19,7 +19,7 @@ import ( "github.com/labstack/echo/v4" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/common/label" "github.com/cloud-barista/cb-tumblebug/src/core/model" ) @@ -46,7 +46,7 @@ func RestCreateOrUpdateLabel(c echo.Context) error { // Parse the incoming request body to get the labels var labelReq model.Label if err := c.Bind(&labelReq); err != nil { - return common.EndRequestWithLog(c, fmt.Errorf("Invalid request body"), nil) + return clientManager.EndRequestWithLog(c, fmt.Errorf("Invalid request body"), nil) } // Get the resource key @@ -55,10 +55,10 @@ func RestCreateOrUpdateLabel(c echo.Context) error { // Create or update the label in the KV store err := label.CreateOrUpdateLabel(labelType, uid, resourceKey, labelReq.Labels) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } - return common.EndRequestWithLog(c, nil, map[string]string{"message": "Label created or updated successfully"}) + return clientManager.EndRequestWithLog(c, nil, map[string]string{"message": "Label created or updated successfully"}) } // RestRemoveLabel godoc @@ -84,10 +84,10 @@ func RestRemoveLabel(c echo.Context) error { // Remove the label from the KV store err := label.RemoveLabel(labelType, uid, key) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } - return common.EndRequestWithLog(c, nil, map[string]string{"message": "Label removed successfully"}) + return clientManager.EndRequestWithLog(c, nil, map[string]string{"message": "Label removed successfully"}) } // RestGetLabels godoc @@ -111,10 +111,10 @@ func RestGetLabels(c echo.Context) error { // Get the labels from the KV store labelInfo, err := label.GetLabels(labelType, uid) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } - return common.EndRequestWithLog(c, nil, labelInfo) + return clientManager.EndRequestWithLog(c, nil, labelInfo) } // ResourcesResponse is a struct to wrap the results of a label selector query @@ -149,7 +149,7 @@ func RestGetResourcesByLabelSelector(c echo.Context) error { // Get resources based on the label selector resources, err := label.GetResourcesByLabelSelector(labelType, labelSelector) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } // Wrap the results in a JSON object @@ -157,7 +157,7 @@ func RestGetResourcesByLabelSelector(c echo.Context) error { Results: resources, } - return common.EndRequestWithLog(c, nil, response) + return clientManager.EndRequestWithLog(c, nil, response) } // RestGetSystemLabelInfo godoc @@ -182,5 +182,5 @@ func RestGetSystemLabelInfo(c echo.Context) error { LabelTypes: labelTypes, } - return common.EndRequestWithLog(c, nil, systemLabelInfo) + return clientManager.EndRequestWithLog(c, nil, systemLabelInfo) } diff --git a/src/api/rest/server/common/namespace.go b/src/api/rest/server/common/namespace.go index 8d392bdff..6f9030d10 100644 --- a/src/api/rest/server/common/namespace.go +++ b/src/api/rest/server/common/namespace.go @@ -18,22 +18,23 @@ import ( "github.com/labstack/echo/v4" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" ) func RestCheckNs(c echo.Context) error { if err := Validate(c, []string{"nsId"}); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } nsId := c.Param("nsId") err := common.CheckString(nsId) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := common.CheckNs(nsId) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestDelAllNs godoc @@ -50,7 +51,7 @@ func RestDelAllNs(c echo.Context) error { err := common.DelAllNs() content := map[string]string{"message": "All namespaces has been deleted"} - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestDelNs godoc @@ -67,12 +68,12 @@ func RestDelAllNs(c echo.Context) error { func RestDelNs(c echo.Context) error { if err := Validate(c, []string{"nsId"}); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } err := common.DelNs(c.Param("nsId")) content := map[string]string{"message": "The ns " + c.Param("nsId") + " has been deleted"} - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // JSONResult's data field will be overridden by the specific type @@ -109,11 +110,11 @@ func RestGetAllNs(c echo.Context) error { content := model.IdList{} var err error content.IdList, err = common.ListNsId() - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } else { nsList, err := common.ListNs() content.Ns = nsList - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } } @@ -132,11 +133,11 @@ func RestGetAllNs(c echo.Context) error { func RestGetNs(c echo.Context) error { if err := Validate(c, []string{"nsId"}); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := common.GetNs(c.Param("nsId")) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestPostNs godoc @@ -155,11 +156,11 @@ func RestPostNs(c echo.Context) error { u := &model.NsReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := common.CreateNs(u) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -180,9 +181,9 @@ func RestPutNs(c echo.Context) error { u := &model.NsReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := common.UpdateNs(c.Param("nsId"), u) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } diff --git a/src/api/rest/server/common/utility.go b/src/api/rest/server/common/utility.go index fcc86d2e4..74d6e3a0e 100644 --- a/src/api/rest/server/common/utility.go +++ b/src/api/rest/server/common/utility.go @@ -26,6 +26,7 @@ import ( "github.com/labstack/echo/v4" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/rs/zerolog/log" @@ -128,7 +129,7 @@ func RestCheckHTTPVersion(c echo.Context) error { func RestGetPublicKeyForCredentialEncryption(c echo.Context) error { result, err := common.GetPublicKeyForCredentialEncryption() - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestRegisterCredential is a REST API handler for registering credentials. @@ -147,11 +148,11 @@ func RestRegisterCredential(c echo.Context) error { u := &model.CredentialReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := common.RegisterCredential(*u) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -173,7 +174,7 @@ func RestGetConnConfig(c echo.Context) error { connConfigName := c.Param("connConfigName") content, err := common.GetConnConfig(connConfigName) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -208,7 +209,7 @@ func RestGetConnConfigList(c echo.Context) error { } content, err := common.GetConnConfigList(filterCredentialHolder, filterVerifiedBool, filterRegionRepresentativeBool) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetProviderList func is a rest api wrapper for GetProviderList. @@ -226,7 +227,7 @@ func RestGetConnConfigList(c echo.Context) error { func RestGetProviderList(c echo.Context) error { content, err := common.GetProviderList() - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -250,7 +251,7 @@ func RestGetRegion(c echo.Context) error { regionName := c.Param("regionName") content, err := common.GetRegion(providerName, regionName) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetRegions func is a rest api wrapper for GetRegion. @@ -271,7 +272,7 @@ func RestGetRegions(c echo.Context) error { providerName := c.Param("providerName") content, err := common.GetRegions(providerName) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetRegionListFromCsp func is a rest api wrapper for RetrieveRegionListFromCsp. @@ -289,7 +290,7 @@ func RestGetRegions(c echo.Context) error { func RestGetRegionListFromCsp(c echo.Context) error { content, err := common.RetrieveRegionListFromCsp() - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -308,7 +309,7 @@ func RestGetRegionListFromCsp(c echo.Context) error { func RestGetCloudInfo(c echo.Context) error { content, err := common.GetCloudInfo() - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetK8sClusterInfo func is a rest api wrapper for K8sClsuterInfo. @@ -326,7 +327,7 @@ func RestGetCloudInfo(c echo.Context) error { func RestGetK8sClusterInfo(c echo.Context) error { content, err := common.GetK8sClusterInfo() - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // ObjectList struct consists of object IDs @@ -476,7 +477,7 @@ func RestInspectResources(c echo.Context) error { // content, err = infra.InspectVMs(u.ConnectionName) // } content, err = infra.InspectResources(u.ConnectionName, u.ResourceType) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -494,7 +495,7 @@ func RestInspectResources(c echo.Context) error { func RestInspectResourcesOverview(c echo.Context) error { content, err := infra.InspectResourcesOverview() - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // Request struct for RestRegisterCspNativeResources @@ -522,13 +523,13 @@ func RestRegisterCspNativeResources(c echo.Context) error { u := &RestRegisterCspNativeResourcesRequest{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } option := c.QueryParam("option") mciFlag := c.QueryParam("mciFlag") content, err := infra.RegisterCspNativeResources(u.NsId, u.ConnectionName, u.MciName, option, mciFlag) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -556,13 +557,13 @@ func RestRegisterCspNativeResourcesAll(c echo.Context) error { u := &RestRegisterCspNativeResourcesRequest{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } option := c.QueryParam("option") mciFlag := c.QueryParam("mciFlag") content, err := infra.RegisterCspNativeResourcesAll(u.NsId, u.MciName, option, mciFlag) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestForwardAnyReqToAny godoc @@ -581,7 +582,7 @@ func RestForwardAnyReqToAny(c echo.Context) error { reqPath := c.Param("*") reqPath, err := url.PathUnescape(reqPath) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } log.Info().Msgf("reqPath: %s", reqPath) @@ -591,13 +592,13 @@ func RestForwardAnyReqToAny(c echo.Context) error { if c.Request().Body != nil { bodyBytes, err := io.ReadAll(c.Request().Body) if err != nil { - return common.EndRequestWithLog(c, fmt.Errorf("Failed to read request body: %v", err), nil) + return clientManager.EndRequestWithLog(c, fmt.Errorf("Failed to read request body: %v", err), nil) } requestBody = bodyBytes } else { - requestBody = common.NoBody + requestBody = clientManager.NoBody } - content, err := common.ForwardRequestToAny(reqPath, method, requestBody) - return common.EndRequestWithLog(c, err, content) + content, err := clientManager.ForwardRequestToAny(reqPath, method, requestBody) + return clientManager.EndRequestWithLog(c, err, content) } diff --git a/src/api/rest/server/infra/benchmark.go b/src/api/rest/server/infra/benchmark.go index 0281fc451..399f1a6b7 100644 --- a/src/api/rest/server/infra/benchmark.go +++ b/src/api/rest/server/infra/benchmark.go @@ -15,7 +15,7 @@ limitations under the License. package infra import ( - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/labstack/echo/v4" @@ -49,7 +49,7 @@ func RestPostInstallBenchmarkAgentToMci(c echo.Context) error { resultArray, err := infra.InstallBenchmarkAgentToMci(nsId, mciId, req, option) if err != nil { - common.EndRequestWithLog(c, err, nil) + clientManager.EndRequestWithLog(c, err, nil) } content := model.MciSshCmdResult{} @@ -57,7 +57,7 @@ func RestPostInstallBenchmarkAgentToMci(c echo.Context) error { content.Results = append(content.Results, v) } - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -91,7 +91,7 @@ func RestGetAllBenchmark(c echo.Context) error { } content, err := infra.RunAllBenchmarks(nsId, mciId, req.Host) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetLatencyBenchmark godoc @@ -113,7 +113,7 @@ func RestGetBenchmarkLatency(c echo.Context) error { mciId := c.Param("mciId") content, err := infra.RunLatencyBenchmark(nsId, mciId, "") - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } type RestGetBenchmarkRequest struct { @@ -147,5 +147,5 @@ func RestGetBenchmark(c echo.Context) error { } content, err := infra.CoreGetBenchmark(nsId, mciId, action, req.Host) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } diff --git a/src/api/rest/server/infra/control.go b/src/api/rest/server/infra/control.go index 7a0068a14..671f66f12 100644 --- a/src/api/rest/server/infra/control.go +++ b/src/api/rest/server/infra/control.go @@ -17,7 +17,7 @@ package infra import ( "fmt" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/labstack/echo/v4" @@ -55,14 +55,14 @@ func RestGetControlMci(c echo.Context) error { resultString, err := infra.HandleMciAction(nsId, mciId, action, forceOption) if err != nil { - return common.EndRequestWithLog(c, err, returnObj) + return clientManager.EndRequestWithLog(c, err, returnObj) } returnObj.Message = resultString - return common.EndRequestWithLog(c, err, returnObj) + return clientManager.EndRequestWithLog(c, err, returnObj) } else { err := fmt.Errorf("'action' should be one of these: suspend, resume, reboot, terminate, refine, continue, withdraw") - return common.EndRequestWithLog(c, err, returnObj) + return clientManager.EndRequestWithLog(c, err, returnObj) } } @@ -101,14 +101,14 @@ func RestGetControlMciVm(c echo.Context) error { resultString, err := infra.HandleMciVmAction(nsId, mciId, vmId, action, forceOption) if err != nil { - return common.EndRequestWithLog(c, err, returnObj) + return clientManager.EndRequestWithLog(c, err, returnObj) } returnObj.Message = resultString - return common.EndRequestWithLog(c, err, returnObj) + return clientManager.EndRequestWithLog(c, err, returnObj) } else { err := fmt.Errorf("'action' should be one of these: suspend, resume, reboot, terminate, refine") - return common.EndRequestWithLog(c, err, returnObj) + return clientManager.EndRequestWithLog(c, err, returnObj) } } @@ -140,7 +140,7 @@ func RestPostMciVmSnapshot(c echo.Context) error { result, err := infra.CreateVmSnapshot(nsId, mciId, vmId, u.Name) if err != nil { - return common.EndRequestWithLog(c, err, model.SimpleMsg{Message: "Failed to create a snapshot"}) + return clientManager.EndRequestWithLog(c, err, model.SimpleMsg{Message: "Failed to create a snapshot"}) } - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } diff --git a/src/api/rest/server/infra/loadbalance.go b/src/api/rest/server/infra/loadbalance.go index 1ea23f996..eac8d6b26 100644 --- a/src/api/rest/server/infra/loadbalance.go +++ b/src/api/rest/server/infra/loadbalance.go @@ -15,7 +15,7 @@ limitations under the License. package infra import ( - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/labstack/echo/v4" @@ -45,11 +45,11 @@ func RestPostNLB(c echo.Context) error { u := &model.TbNLBReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := infra.CreateNLB(nsId, mciId, u, optionFlag) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestPostMcNLB godoc @@ -73,11 +73,11 @@ func RestPostMcNLB(c echo.Context) error { u := &model.TbNLBReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := infra.CreateMcSwNlb(nsId, mciId, u, "") - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } /* @@ -127,7 +127,7 @@ func RestGetNLB(c echo.Context) error { resourceId := c.Param("resourceId") res, err := infra.GetNLB(nsId, mciId, resourceId) - return common.EndRequestWithLog(c, err, res) + return clientManager.EndRequestWithLog(c, err, res) } // Response structure for RestGetAllNLB @@ -164,12 +164,12 @@ func RestGetAllNLB(c echo.Context) error { content := model.IdList{} var err error content.IdList, err = infra.ListNLBId(nsId, mciId) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } else { resourceList, err := infra.ListNLB(nsId, mciId, filterKey, filterVal) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } var content struct { @@ -177,7 +177,7 @@ func RestGetAllNLB(c echo.Context) error { } content.NLB = resourceList.([]model.TbNLBInfo) // type assertion (interface{} -> array) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } } @@ -204,7 +204,7 @@ func RestDelNLB(c echo.Context) error { err := infra.DelNLB(nsId, mciId, resourceId, forceFlag) content := map[string]string{"message": "The NLB " + resourceId + " has been deleted"} - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestDelAllNLB godoc @@ -229,7 +229,7 @@ func RestDelAllNLB(c echo.Context) error { subString := c.QueryParam("match") content, err := infra.DelAllNLB(nsId, mciId, subString, forceFlag) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetNLBHealth godoc @@ -253,7 +253,7 @@ func RestGetNLBHealth(c echo.Context) error { resourceId := c.Param("resourceId") content, err := infra.GetNLBHealth(nsId, mciId, resourceId) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // The REST APIs below are for dev/test only @@ -284,7 +284,7 @@ func RestAddNLBVMs(c echo.Context) error { return err } content, err := infra.AddNLBVMs(nsId, mciId, resourceId, u) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestRemoveNLBVMs godoc @@ -314,5 +314,5 @@ func RestRemoveNLBVMs(c echo.Context) error { err := infra.RemoveNLBVMs(nsId, mciId, resourceId, u) content := map[string]string{"message": "Removed VMs from the NLB " + resourceId} - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } diff --git a/src/api/rest/server/infra/manageInfo.go b/src/api/rest/server/infra/manageInfo.go index c4401bd31..97ab7cca8 100644 --- a/src/api/rest/server/infra/manageInfo.go +++ b/src/api/rest/server/infra/manageInfo.go @@ -17,7 +17,7 @@ package infra import ( "fmt" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/labstack/echo/v4" @@ -65,12 +65,12 @@ func RestGetMci(c echo.Context) error { content := model.IdList{} var err error content.IdList, err = infra.ListVmByFilter(nsId, mciId, filterKey, filterVal) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } else if option == "status" { result, err := infra.GetMciStatus(nsId, mciId) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } var content struct { @@ -78,17 +78,17 @@ func RestGetMci(c echo.Context) error { } content.Result = result - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } else if option == "accessinfo" { result, err := infra.GetMciAccessInfo(nsId, mciId, accessInfoOption) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } else { result, err := infra.GetMciInfo(nsId, mciId) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } } @@ -126,34 +126,34 @@ func RestGetAllMci(c echo.Context) error { content := model.IdList{} var err error content.IdList, err = infra.ListMciId(nsId) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } else if option == "status" { // return MCI Status objects (diffent with MCI objects) result, err := infra.ListMciStatus(nsId) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content := RestGetAllMciStatusResponse{} content.Mci = result - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } else if option == "simple" { // MCI in simple (without VM information) result, err := infra.ListMciInfo(nsId, option) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content := RestGetAllMciResponse{} content.Mci = result - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } else { // MCI in detail (with status information) result, err := infra.ListMciInfo(nsId, "status") if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content := RestGetAllMciResponse{} content.Mci = result - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } } @@ -197,7 +197,7 @@ func RestDelMci(c echo.Context) error { option := c.QueryParam("option") content, err := infra.DelMci(nsId, mciId, option) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestDelAllMci godoc @@ -219,7 +219,7 @@ func RestDelAllMci(c echo.Context) error { message, err := infra.DelAllMci(nsId, option) result := model.SimpleMsg{Message: message} - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // TODO: swag does not support multiple response types (success 200) in an API. @@ -253,19 +253,19 @@ func RestGetMciVm(c echo.Context) error { switch option { case "status": result, err := infra.GetMciVmStatus(nsId, mciId, vmId) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) case "idsInDetail": result, err := infra.GetVmIdNameInDetail(nsId, mciId, vmId) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) case "accessinfo": result, err := infra.GetMciVmAccessInfo(nsId, mciId, vmId, accessInfoOption) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) default: result, err := infra.ListVmInfo(nsId, mciId, vmId) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } } @@ -315,11 +315,11 @@ func RestDelMciVm(c echo.Context) error { if err != nil { log.Error().Err(err).Msg("") err := fmt.Errorf("Failed to delete the VM info") - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result := map[string]string{"message": "Deleted the VM info"} - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestGetMciGroupVms godoc @@ -347,7 +347,7 @@ func RestGetMciGroupVms(c echo.Context) error { content := model.IdList{} var err error content.IdList, err = infra.ListVmBySubGroup(nsId, mciId, subgroupId) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetMciGroupIds godoc @@ -372,5 +372,5 @@ func RestGetMciGroupIds(c echo.Context) error { content := model.IdList{} var err error content.IdList, err = infra.ListSubGroupId(nsId, mciId) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } diff --git a/src/api/rest/server/infra/monitoring.go b/src/api/rest/server/infra/monitoring.go index c49460f50..72ee53e53 100644 --- a/src/api/rest/server/infra/monitoring.go +++ b/src/api/rest/server/infra/monitoring.go @@ -15,7 +15,7 @@ limitations under the License. package infra import ( - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/labstack/echo/v4" @@ -42,11 +42,11 @@ func RestPostInstallMonitorAgentToMci(c echo.Context) error { req := &model.MciCmdReq{} if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } // mciTmpSystemLabel := model.DefaultSystemLabel content, err := infra.InstallMonitorAgentToMci(nsId, mciId, model.StrMCI, req) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestPutMonitorAgentStatusInstalled godoc @@ -72,11 +72,11 @@ func RestPutMonitorAgentStatusInstalled(c echo.Context) error { // mciTmpSystemLabel := model.DefaultSystemLabel err := infra.SetMonitoringAgentStatusInstalled(nsId, mciId, vmId) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result, err := infra.ListVmInfo(nsId, mciId, vmId) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestGetMonitorData godoc @@ -101,9 +101,9 @@ func RestGetMonitorData(c echo.Context) error { req := &model.MciCmdReq{} if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := infra.GetMonitoringData(nsId, mciId, metric) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } diff --git a/src/api/rest/server/infra/orchestration.go b/src/api/rest/server/infra/orchestration.go index 7827755b3..d9a65c61e 100644 --- a/src/api/rest/server/infra/orchestration.go +++ b/src/api/rest/server/infra/orchestration.go @@ -17,7 +17,7 @@ package infra import ( "fmt" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/labstack/echo/v4" @@ -45,11 +45,11 @@ func RestPostMciPolicy(c echo.Context) error { req := &model.MciPolicyReq{} if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := infra.CreateMciPolicy(nsId, mciId, req) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetMciPolicy godoc @@ -73,14 +73,14 @@ func RestGetMciPolicy(c echo.Context) error { result, err := infra.GetMciPolicyObject(nsId, mciId) if err != nil { errorMessage := fmt.Errorf("Error to find MciPolicyObject : " + mciId + "ERROR : " + err.Error()) - return common.EndRequestWithLog(c, errorMessage, nil) + return clientManager.EndRequestWithLog(c, errorMessage, nil) } if result.Id == "" { errorMessage := fmt.Errorf("Failed to find MciPolicyObject : " + mciId) - return common.EndRequestWithLog(c, errorMessage, nil) + return clientManager.EndRequestWithLog(c, errorMessage, nil) } - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // Response structure for RestGetAllMciPolicy @@ -107,12 +107,12 @@ func RestGetAllMciPolicy(c echo.Context) error { result, err := infra.GetAllMciPolicyObject(nsId) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content := RestGetAllMciPolicyResponse{} content.MciPolicy = result - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } /* @@ -154,7 +154,7 @@ func RestDelMciPolicy(c echo.Context) error { err := infra.DelMciPolicy(nsId, mciId) result := map[string]string{"message": "Deleted the MCI Policy info"} - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestDelAllMciPolicy godoc @@ -172,5 +172,5 @@ func RestDelAllMciPolicy(c echo.Context) error { nsId := c.Param("nsId") result, err := infra.DelAllMciPolicy(nsId) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } diff --git a/src/api/rest/server/infra/provisioning.go b/src/api/rest/server/infra/provisioning.go index f58eb28dd..e5c20d85e 100644 --- a/src/api/rest/server/infra/provisioning.go +++ b/src/api/rest/server/infra/provisioning.go @@ -17,7 +17,7 @@ package infra import ( "net/http" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/labstack/echo/v4" @@ -43,12 +43,12 @@ func RestPostMci(c echo.Context) error { req := &model.TbMciReq{} if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } option := "create" result, err := infra.CreateMci(nsId, req, option) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestPostRegisterCSPNativeVM godoc @@ -70,12 +70,12 @@ func RestPostRegisterCSPNativeVM(c echo.Context) error { req := &model.TbMciReq{} if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } option := "register" result, err := infra.CreateMci(nsId, req, option) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestPostSystemMci godoc @@ -96,11 +96,11 @@ func RestPostSystemMci(c echo.Context) error { req := &model.TbMciDynamicReq{} if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result, err := infra.CreateSystemMciDynamic(option) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestPostMciDynamic godoc @@ -127,13 +127,13 @@ func RestPostMciDynamic(c echo.Context) error { req := &model.TbMciDynamicReq{} if err := c.Bind(req); err != nil { log.Warn().Err(err).Msg("invalid request") - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result, err := infra.CreateMciDynamic(reqID, nsId, req, option) if err != nil { log.Error().Err(err).Msg("failed to create MCI dynamically") - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } return c.JSON(http.StatusOK, result) } @@ -159,11 +159,11 @@ func RestPostMciVmDynamic(c echo.Context) error { req := &model.TbVmDynamicReq{} if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result, err := infra.CreateMciVmDynamic(nsId, mciId, req) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestPostMciDynamicCheckRequest godoc @@ -182,11 +182,11 @@ func RestPostMciDynamicCheckRequest(c echo.Context) error { req := &model.MciConnectionConfigCandidatesReq{} if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result, err := infra.CheckMciDynamicReq(req) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestPostMciVm godoc @@ -210,10 +210,10 @@ func RestPostMciVm(c echo.Context) error { vmInfoData := &model.TbVmReq{} if err := c.Bind(vmInfoData); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result, err := infra.CreateMciGroupVm(nsId, mciId, vmInfoData, true) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestPostMciSubGroupScaleOut godoc @@ -239,9 +239,9 @@ func RestPostMciSubGroupScaleOut(c echo.Context) error { scaleOutReq := &model.TbScaleOutSubGroupReq{} if err := c.Bind(scaleOutReq); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result, err := infra.ScaleOutMciSubGroup(nsId, mciId, subgroupId, scaleOutReq.NumVMsToAdd) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } diff --git a/src/api/rest/server/infra/recommendation.go b/src/api/rest/server/infra/recommendation.go index f48e71784..53176094a 100644 --- a/src/api/rest/server/infra/recommendation.go +++ b/src/api/rest/server/infra/recommendation.go @@ -15,7 +15,7 @@ limitations under the License. package infra import ( - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/labstack/echo/v4" @@ -39,11 +39,11 @@ func RestRecommendVm(c echo.Context) error { u := &model.DeploymentPlan{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := infra.RecommendVm(nsId, *u) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } type RestPostMciRecommendResponse struct { diff --git a/src/api/rest/server/infra/remoteCommand.go b/src/api/rest/server/infra/remoteCommand.go index 7b8e61eea..7749cb8dc 100644 --- a/src/api/rest/server/infra/remoteCommand.go +++ b/src/api/rest/server/infra/remoteCommand.go @@ -20,6 +20,7 @@ import ( "net/http" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/labstack/echo/v4" @@ -51,12 +52,12 @@ func RestPostCmdMci(c echo.Context) error { req := &model.MciCmdReq{} if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } output, err := infra.RemoteCommandToMci(nsId, mciId, subGroupId, vmId, req) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result := model.MciSshCmdResult{} @@ -69,7 +70,7 @@ func RestPostCmdMci(c echo.Context) error { return c.JSON(http.StatusOK, result) - // return common.EndRequestWithLog(c, err, result) + // return clientManager.EndRequestWithLog(c, err, result) } @@ -103,28 +104,28 @@ func RestPostFileToMci(c echo.Context) error { if targetPath == "" { err := fmt.Errorf("target path is required") - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } // Validate the file file, err := c.FormFile("file") if err != nil { err = fmt.Errorf("failed to read the file %v", err) - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } // File size validation fileSizeLimit := int64(10 * 1024 * 1024) // (10MB limit) if file.Size > fileSizeLimit { err := fmt.Errorf("file too large, max size is %v", fileSizeLimit) - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } // Open the file and read it into memory src, err := file.Open() if err != nil { err = fmt.Errorf("failed to open the file %v", err) - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } defer src.Close() @@ -132,18 +133,18 @@ func RestPostFileToMci(c echo.Context) error { fileBytes, err := io.ReadAll(src) if err != nil { err = fmt.Errorf("failed to read the file %v", err) - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } // Call the TransferFileToMci function result, err := infra.TransferFileToMci(nsId, mciId, subGroupId, vmId, fileBytes, file.Filename, targetPath) if err != nil { err = fmt.Errorf("failed to transfer file to mci %v", err) - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } // Return the result - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestSetBastionNodes godoc @@ -169,7 +170,7 @@ func RestSetBastionNodes(c echo.Context) error { bastionVmId := c.Param("bastionVmId") content, err := infra.SetBastionNodes(nsId, mciId, targetVmId, bastionVmId) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetBastionNodes godoc @@ -193,7 +194,7 @@ func RestGetBastionNodes(c echo.Context) error { targetVmId := c.Param("targetVmId") content, err := infra.GetBastionNodes(nsId, mciId, targetVmId) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestRemoveBastionNodes godoc @@ -217,5 +218,5 @@ func RestRemoveBastionNodes(c echo.Context) error { bastionVmId := c.Param("bastionVmId") content, err := infra.RemoveBastionNodes(nsId, mciId, bastionVmId) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } diff --git a/src/api/rest/server/infra/utility.go b/src/api/rest/server/infra/utility.go index 330751a01..c115746ff 100644 --- a/src/api/rest/server/infra/utility.go +++ b/src/api/rest/server/infra/utility.go @@ -15,7 +15,7 @@ limitations under the License. package infra import ( - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/labstack/echo/v4" ) @@ -32,7 +32,7 @@ func RestCheckMci(c echo.Context) error { } content := JsonTemplate{} content.Exists = exists - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } func RestCheckVm(c echo.Context) error { @@ -48,5 +48,5 @@ func RestCheckVm(c echo.Context) error { } content := JsonTemplate{} content.Exists = exists - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } diff --git a/src/api/rest/server/middlewares/authmw/authmw.go b/src/api/rest/server/middlewares/authmw/authmw.go index 0dbf95d93..4c4f59930 100644 --- a/src/api/rest/server/middlewares/authmw/authmw.go +++ b/src/api/rest/server/middlewares/authmw/authmw.go @@ -6,7 +6,7 @@ import ( "strings" "time" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/go-resty/resty/v2" "github.com/golang-jwt/jwt/v4" echojwt "github.com/labstack/echo-jwt" @@ -23,18 +23,18 @@ func InitJwtAuthMw(iamEndpoint string, pubkeyUrl string) error { method := "GET" url := fmt.Sprintf("%s/alive", iamEndpoint) - requestBody := common.NoBody + requestBody := clientManager.NoBody var resReadyz map[string]string - err := common.ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &resReadyz, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { diff --git a/src/api/rest/server/middlewares/checkReadiness.go b/src/api/rest/server/middlewares/checkReadiness.go index 06f15a0b3..f7ee7d181 100644 --- a/src/api/rest/server/middlewares/checkReadiness.go +++ b/src/api/rest/server/middlewares/checkReadiness.go @@ -3,7 +3,7 @@ package middlewares import ( "fmt" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/go-resty/resty/v2" "github.com/labstack/echo/v4" @@ -21,18 +21,18 @@ func CheckReadiness(url string, apiUser string, apiPass string) echo.MiddlewareF // check readyz method := "GET" - requestBody := common.NoBody + requestBody := clientManager.NoBody resReadyz := new(model.Response) - err := common.ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resReadyz, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { diff --git a/src/api/rest/server/middlewares/requestIdAndDetailsIssuer.go b/src/api/rest/server/middlewares/requestIdAndDetailsIssuer.go index e453664a1..797963a6e 100644 --- a/src/api/rest/server/middlewares/requestIdAndDetailsIssuer.go +++ b/src/api/rest/server/middlewares/requestIdAndDetailsIssuer.go @@ -4,7 +4,7 @@ import ( "fmt" "time" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/labstack/echo/v4" ) @@ -24,19 +24,19 @@ func RequestIdAndDetailsIssuer(next echo.HandlerFunc) echo.HandlerFunc { } //log.Trace().Msgf("(Request ID middleware) Request ID: %s", reqID) - if _, ok := common.RequestMap.Load(reqID); ok { + if _, ok := clientManager.RequestMap.Load(reqID); ok { return fmt.Errorf("the X-Request-Id is already in use") } // Set "X-Request-Id" in response header c.Response().Header().Set(echo.HeaderXRequestID, reqID) - details := common.RequestDetails{ + details := clientManager.RequestDetails{ StartTime: time.Now(), Status: "Handling", - RequestInfo: common.ExtractRequestInfo(c.Request()), + RequestInfo: clientManager.ExtractRequestInfo(c.Request()), } - common.RequestMap.Store(reqID, details) + clientManager.RequestMap.Store(reqID, details) // log.Debug().Msg("End - Request ID middleware") diff --git a/src/api/rest/server/middlewares/responseBodyDump.go b/src/api/rest/server/middlewares/responseBodyDump.go index c06d6e763..80f12a3ee 100644 --- a/src/api/rest/server/middlewares/responseBodyDump.go +++ b/src/api/rest/server/middlewares/responseBodyDump.go @@ -5,7 +5,7 @@ import ( "encoding/json" "time" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" "github.com/rs/zerolog/log" @@ -36,14 +36,14 @@ func ResponseBodyDump() echo.MiddlewareFunc { // Dump the response body if content type is "application/json" or "application/json; charset=UTF-8" if contentType == echo.MIMEApplicationJSONCharsetUTF8 || contentType == echo.MIMEApplicationJSON { // Load or check the request by ID - v, ok := common.RequestMap.Load(reqID) + v, ok := clientManager.RequestMap.Load(reqID) if !ok { log.Error().Msg("Request ID not found in common.RequestMap") return } // Ensure the loaded value is of the correct type - details, ok := v.(common.RequestDetails) + details, ok := v.(clientManager.RequestDetails) if !ok { log.Error().Msg("Loaded value from common.RequestMap is not of type common.RequestDetails") return @@ -115,7 +115,7 @@ func ResponseBodyDump() echo.MiddlewareFunc { } // Store details of the request - common.RequestMap.Store(reqID, details) + clientManager.RequestMap.Store(reqID, details) } // log.Debug().Msg("Start - BodyDump() middleware") }, diff --git a/src/api/rest/server/resource/common.go b/src/api/rest/server/resource/common.go index 59640dcbe..297f73498 100644 --- a/src/api/rest/server/resource/common.go +++ b/src/api/rest/server/resource/common.go @@ -20,7 +20,7 @@ import ( "github.com/labstack/echo/v4" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" ) @@ -44,7 +44,7 @@ func RestDelAllResources(c echo.Context) error { subString := c.QueryParam("match") content, err := resource.DelAllResources(nsId, resourceType, subString, forceFlag) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestDelResource is a common function to handle 'DelResource' REST API requests. @@ -64,7 +64,7 @@ func RestDelResource(c echo.Context) error { err := resource.DelResource(nsId, resourceType, resourceId, forceFlag) content := map[string]string{"message": "The " + resourceType + " " + resourceId + " has been deleted"} - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // Todo: need to reimplment the following invalid function @@ -92,7 +92,7 @@ func RestDelResource(c echo.Context) error { // err := model.DelChildResource(nsId, childResourceType, parentResourceId, childResourceId, forceFlag) // content := map[string]string{"message": "The " + childResourceType + " " + childResourceId + " has been deleted"} -// return common.EndRequestWithLog(c, err, content) +// return clientManager.EndRequestWithLog(c, err, content) // } // RestGetAllResources is a common function to handle 'GetAllResources' REST API requests. @@ -112,13 +112,13 @@ func RestGetAllResources(c echo.Context) error { content := model.IdList{} var err error content.IdList, err = resource.ListResourceId(nsId, resourceType) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } else { resourceList, err := resource.ListResource(nsId, resourceType, filterKey, filterVal) if err != nil { err := fmt.Errorf("Failed to list " + resourceType + "s; " + err.Error()) - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } switch resourceType { @@ -128,52 +128,52 @@ func RestGetAllResources(c echo.Context) error { } content.Image = resourceList.([]model.TbImageInfo) // type assertion (interface{} -> array) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) case model.StrCustomImage: var content struct { Image []model.TbCustomImageInfo `json:"customImage"` } content.Image = resourceList.([]model.TbCustomImageInfo) // type assertion (interface{} -> array) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) case model.StrSecurityGroup: var content struct { SecurityGroup []model.TbSecurityGroupInfo `json:"securityGroup"` } content.SecurityGroup = resourceList.([]model.TbSecurityGroupInfo) // type assertion (interface{} -> array) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) case model.StrSpec: var content struct { Spec []model.TbSpecInfo `json:"spec"` } content.Spec = resourceList.([]model.TbSpecInfo) // type assertion (interface{} -> array) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) case model.StrSSHKey: var content struct { SshKey []model.TbSshKeyInfo `json:"sshKey"` } content.SshKey = resourceList.([]model.TbSshKeyInfo) // type assertion (interface{} -> array) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) case model.StrVNet: var content struct { VNet []model.TbVNetInfo `json:"vNet"` } content.VNet = resourceList.([]model.TbVNetInfo) // type assertion (interface{} -> array) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) case model.StrDataDisk: var content struct { DataDisk []model.TbDataDiskInfo `json:"dataDisk"` } content.DataDisk = resourceList.([]model.TbDataDiskInfo) // type assertion (interface{} -> array) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) default: err := fmt.Errorf("Not accepatble resourceType: " + resourceType) - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } } @@ -196,9 +196,9 @@ func RestGetResource(c echo.Context) error { result, err := resource.GetResource(nsId, resourceType, resourceId) if err != nil { errorMessage := fmt.Errorf("Failed to find " + resourceType + " " + resourceId) - return common.EndRequestWithLog(c, errorMessage, nil) + return clientManager.EndRequestWithLog(c, errorMessage, nil) } - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestCheckResource godoc @@ -230,7 +230,7 @@ func RestCheckResource(c echo.Context) error { content := JsonTemplate{} content.Exists = exists - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestTestAddObjectAssociation is a REST API call handling function @@ -247,7 +247,7 @@ func RestTestAddObjectAssociation(c echo.Context) error { content, err := resource.UpdateAssociatedObjectList(nsId, resourceType, resourceId, model.StrAdd, "/test/vm/key") - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestTestDeleteObjectAssociation is a REST API call handling function @@ -263,7 +263,7 @@ func RestTestDeleteObjectAssociation(c echo.Context) error { resourceId = strings.ReplaceAll(resourceId, "%2B", "+") content, err := resource.UpdateAssociatedObjectList(nsId, resourceType, resourceId, model.StrDelete, "/test/vm/key") - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestTestGetAssociatedObjectCount is a REST API call handling function @@ -281,7 +281,7 @@ func RestTestGetAssociatedObjectCount(c echo.Context) error { associatedObjectCount, err := resource.GetAssociatedObjectCount(nsId, resourceType, resourceId) content := map[string]int{"associatedObjectCount": associatedObjectCount} - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestLoadAssets godoc @@ -297,7 +297,7 @@ func RestTestGetAssociatedObjectCount(c echo.Context) error { func RestLoadAssets(c echo.Context) error { content, err := resource.LoadAssets() - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestCreateSharedResource godoc @@ -323,7 +323,7 @@ func RestCreateSharedResource(c echo.Context) error { err := resource.CreateSharedResource(nsId, resType, connectionName) content := map[string]string{"message": "Done"} - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestDelAllSharedResources godoc @@ -342,7 +342,7 @@ func RestDelAllSharedResources(c echo.Context) error { nsId := c.Param("nsId") content, err := resource.DelAllSharedResources(nsId) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } /* diff --git a/src/api/rest/server/resource/customimage.go b/src/api/rest/server/resource/customimage.go index 0192ea678..027425b0d 100644 --- a/src/api/rest/server/resource/customimage.go +++ b/src/api/rest/server/resource/customimage.go @@ -17,7 +17,7 @@ package resource import ( "fmt" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" "github.com/labstack/echo/v4" @@ -45,16 +45,16 @@ func RestPostCustomImage(c echo.Context) error { if optionFlag != "register" { err := fmt.Errorf("POST customImage can be called only with 'option=register'") - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } u := &model.TbCustomImageReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.RegisterCustomImageWithId(nsId, u) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetCustomImage godoc diff --git a/src/api/rest/server/resource/dataDisk.go b/src/api/rest/server/resource/dataDisk.go index 1444fdd1b..6a39a045c 100644 --- a/src/api/rest/server/resource/dataDisk.go +++ b/src/api/rest/server/resource/dataDisk.go @@ -18,7 +18,7 @@ import ( "fmt" "strconv" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" @@ -47,11 +47,11 @@ func RestPostDataDisk(c echo.Context) error { u := &model.TbDataDiskReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.CreateDataDisk(nsId, u, optionFlag) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestPutDataDisk godoc @@ -75,11 +75,11 @@ func RestPutDataDisk(c echo.Context) error { u := &model.TbDataDiskUpsizeReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.UpsizeDataDisk(nsId, dataDiskId, u) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetDataDisk godoc @@ -189,13 +189,13 @@ func RestPutVmDataDisk(c echo.Context) error { if forceStr != "" { forceBool, err = strconv.ParseBool(forceStr) if err != nil { - return common.EndRequestWithLog(c, fmt.Errorf("Invalid force value: %s", forceStr), nil) + return clientManager.EndRequestWithLog(c, fmt.Errorf("Invalid force value: %s", forceStr), nil) } } u := &model.TbAttachDetachDataDiskReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } switch option { @@ -203,11 +203,11 @@ func RestPutVmDataDisk(c echo.Context) error { fallthrough case model.DetachDataDisk: result, err := infra.AttachDetachDataDisk(nsId, mciId, vmId, option, u.DataDiskId, forceBool) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) default: err := fmt.Errorf("Supported options: %s, %s, %s", model.AttachDataDisk, model.DetachDataDisk, model.AvailableDataDisk) - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } } @@ -233,15 +233,15 @@ func RestPostVmDataDisk(c echo.Context) error { u := &model.TbDataDiskVmReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result, err := infra.ProvisionDataDisk(nsId, mciId, vmId, u) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestGetVmDataDisk godoc @@ -267,7 +267,7 @@ func RestGetVmDataDisk(c echo.Context) error { result, err := infra.GetAvailableDataDisks(nsId, mciId, vmId, optionFlag) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } var content interface{} @@ -281,5 +281,5 @@ func RestGetVmDataDisk(c echo.Context) error { } } - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } diff --git a/src/api/rest/server/resource/firewallrule.go b/src/api/rest/server/resource/firewallrule.go index cd1cf24bd..1232695f4 100644 --- a/src/api/rest/server/resource/firewallrule.go +++ b/src/api/rest/server/resource/firewallrule.go @@ -15,7 +15,7 @@ limitations under the License. package resource import ( - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" "github.com/labstack/echo/v4" @@ -46,11 +46,11 @@ func RestPostFirewallRules(c echo.Context) error { u := &TbFirewallRulesWrapper{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.CreateFirewallRules(nsId, securityGroupId, *&u.FirewallRules, false) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } /* function RestPutFirewallRules not yet implemented @@ -119,9 +119,9 @@ func RestDelFirewallRules(c echo.Context) error { u := &TbFirewallRulesWrapper{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.DeleteFirewallRules(nsId, securityGroupId, *&u.FirewallRules) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } diff --git a/src/api/rest/server/resource/image.go b/src/api/rest/server/resource/image.go index 061c73506..dd050ef67 100644 --- a/src/api/rest/server/resource/image.go +++ b/src/api/rest/server/resource/image.go @@ -19,7 +19,7 @@ import ( "strconv" "strings" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" "github.com/labstack/echo/v4" @@ -65,21 +65,21 @@ func RestPostImage(c echo.Context) error { log.Debug().Msg("[Registering Image with info]") u := &model.TbImageInfo{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.RegisterImageWithInfo(nsId, u, update) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } else if action == "registerWithId" { log.Debug().Msg("[Registering Image with ID]") u := &model.TbImageReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.RegisterImageWithId(nsId, u, update, false) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } else { err := fmt.Errorf("You must specify: action=registerWithInfo or action=registerWithId") - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } } @@ -107,11 +107,11 @@ func RestPutImage(c echo.Context) error { u := &model.TbImageInfo{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.UpdateImage(nsId, resourceId, *u, false) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // Request structure for RestLookupImage @@ -136,12 +136,12 @@ func RestLookupImage(c echo.Context) error { u := &RestLookupImageRequest{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } log.Debug().Msg("[Lookup image]: " + u.CspImageName) content, err := resource.LookupImage(u.ConnectionName, u.CspImageName) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -161,12 +161,12 @@ func RestLookupImageList(c echo.Context) error { u := &RestLookupImageRequest{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } log.Debug().Msg("[Lookup images]") content, err := resource.LookupImageList(u.ConnectionName) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -188,7 +188,7 @@ func RestFetchImages(c echo.Context) error { u := &RestLookupImageRequest{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } var connConfigCount, imageCount uint @@ -197,19 +197,19 @@ func RestFetchImages(c echo.Context) error { if u.ConnectionName == "" { connConfigCount, imageCount, err = resource.FetchImagesForAllConnConfigs(nsId) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } } else { connConfigCount = 1 imageCount, err = resource.FetchImagesForConnConfig(u.ConnectionName, nsId) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } } content := map[string]string{ "message": "Fetched " + fmt.Sprint(imageCount) + " images (from " + fmt.Sprint(connConfigCount) + " connConfigs)"} - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetImage godoc @@ -232,7 +232,7 @@ func RestGetImage(c echo.Context) error { imageKey = strings.ReplaceAll(imageKey, "%2B", "+") content, err := resource.GetImage(nsId, imageKey) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // Response structure for RestGetAllImage @@ -324,5 +324,5 @@ func RestSearchImage(c echo.Context) error { content, err := resource.SearchImage(nsId, u.Keywords...) result := RestGetAllImageResponse{} result.Image = content - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } diff --git a/src/api/rest/server/resource/k8scluster.go b/src/api/rest/server/resource/k8scluster.go index 584d4242b..f42b88cd0 100644 --- a/src/api/rest/server/resource/k8scluster.go +++ b/src/api/rest/server/resource/k8scluster.go @@ -19,6 +19,7 @@ import ( "net/http" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/infra" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" @@ -46,7 +47,7 @@ func RestGetAvailableK8sVersion(c echo.Context) error { regionName := c.QueryParam("regionName") content, err := common.GetAvailableK8sVersion(providerName, regionName) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetAvailableK8sNodeImage func is a rest api wrapper for GetAvailableK8sNodeImage. @@ -69,7 +70,7 @@ func RestGetAvailableK8sNodeImage(c echo.Context) error { regionName := c.QueryParam("regionName") content, err := common.GetAvailableK8sNodeImage(providerName, regionName) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestCheckK8sNodeGroupsOnK8sCreation func is a rest api wrapper for GetModelK8sNodeGroupsOnK8sCreation. @@ -90,7 +91,7 @@ func RestCheckK8sNodeGroupsOnK8sCreation(c echo.Context) error { providerName := c.QueryParam("providerName") content, err := common.GetModelK8sNodeGroupsOnK8sCreation(providerName) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestCheckK8sNodeImageDesignation func is a rest api wrapper for GetK8sNodeImageDesignation. @@ -111,7 +112,7 @@ func RestCheckK8sNodeImageDesignation(c echo.Context) error { providerName := c.QueryParam("providerName") content, err := common.GetModelK8sNodeImageDesignation(providerName) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetRequiredK8sSubnetCount func is a rest api wrapper for GetModelK8sRequiredSubnetCount. @@ -132,7 +133,7 @@ func RestGetRequiredK8sSubnetCount(c echo.Context) error { providerName := c.QueryParam("providerName") content, err := common.GetModelK8sRequiredSubnetCount(providerName) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestPostK8sCluster func is a rest api wrapper for CreateK8sCluster. @@ -561,11 +562,11 @@ func RestPostK8sClusterDynamicCheckRequest(c echo.Context) error { req := &model.K8sClusterConnectionConfigCandidatesReq{} if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result, err := infra.CheckK8sClusterDynamicReq(req) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestPostK8sClusterDynamic godoc @@ -592,13 +593,13 @@ func RestPostK8sClusterDynamic(c echo.Context) error { req := &model.TbK8sClusterDynamicReq{} if err := c.Bind(req); err != nil { log.Warn().Err(err).Msg("invalid request") - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } result, err := infra.CreateK8sClusterDynamic(reqID, nsId, req, optionFlag) if err != nil { log.Error().Err(err).Msg("failed to create K8sCluster dynamically") - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } return c.JSON(http.StatusOK, result) } @@ -627,14 +628,14 @@ func RestPostK8sNodeGroupDynamic(c echo.Context) error { req := &model.TbK8sNodeGroupDynamicReq{} if err := c.Bind(req); err != nil { log.Warn().Err(err).Msg("invalid request") - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } log.Debug().Msgf("reqID: %s, nsId: %s, k8sClusterId: %s, req: %v\n", reqID, nsId, k8sClusterId, req) result, err := infra.CreateK8sNodeGroupDynamic(reqID, nsId, k8sClusterId, req) if err != nil { log.Error().Err(err).Msg("failed to create K8sNodeGroup dynamically") - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } return c.JSON(http.StatusOK, result) } @@ -665,14 +666,14 @@ func RestGetControlK8sCluster(c echo.Context) error { resultString, err := resource.HandleK8sClusterAction(nsId, k8sClusterId, action) if err != nil { - return common.EndRequestWithLog(c, err, returnObj) + return clientManager.EndRequestWithLog(c, err, returnObj) } returnObj.Message = resultString - return common.EndRequestWithLog(c, err, returnObj) + return clientManager.EndRequestWithLog(c, err, returnObj) } else { err := fmt.Errorf("'action' should be one of these: continue, withdraw") - return common.EndRequestWithLog(c, err, returnObj) + return clientManager.EndRequestWithLog(c, err, returnObj) } } @@ -694,19 +695,19 @@ func RestRecommendK8sNode(c echo.Context) error { u := &model.DeploymentPlan{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := infra.RecommendK8sNode(nsId, *u) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestPostCmdK8sCluster godoc // @ID PostCmdK8sCluster // @Summary Send a command to specified Container in K8sCluster // @Description Send a command to specified Container in K8sCluster -// @Description [note] This feature is not intended for general use -// @Description This API is provided as an exceptional and limited function for specific purposes such as migration. +// @Description [note] This feature is not intended for general use +// @Description This API is provided as an exceptional and limited function for specific purposes such as migration. // @Description Kubernetes resource information required as input for this API is not currently provided, and its availability in the future is uncertain. // @Tags [Kubernetes] Cluster's Container Remote Command // @Accept json @@ -732,9 +733,9 @@ func RestPostCmdK8sCluster(c echo.Context) error { req := &model.TbK8sClusterContainerCmdReq{} if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.RemoteCommandToK8sClusterContainer(nsId, k8sClusterId, k8sClusterNamespace, k8sClusterPodName, k8sClusterContainerName, req) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } diff --git a/src/api/rest/server/resource/securitygroup.go b/src/api/rest/server/resource/securitygroup.go index 20a28881b..ca8ffbaf4 100644 --- a/src/api/rest/server/resource/securitygroup.go +++ b/src/api/rest/server/resource/securitygroup.go @@ -15,7 +15,7 @@ limitations under the License. package resource import ( - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" "github.com/labstack/echo/v4" @@ -43,11 +43,11 @@ func RestPostSecurityGroup(c echo.Context) error { u := &model.TbSecurityGroupReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.CreateSecurityGroup(nsId, u, optionFlag) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } /* diff --git a/src/api/rest/server/resource/spec.go b/src/api/rest/server/resource/spec.go index a71544c14..4d2fc9ace 100644 --- a/src/api/rest/server/resource/spec.go +++ b/src/api/rest/server/resource/spec.go @@ -19,7 +19,7 @@ import ( "strconv" "strings" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" "github.com/labstack/echo/v4" @@ -58,19 +58,19 @@ func RestPostSpec(c echo.Context) error { log.Debug().Msg("[Registering Spec with info]") u := &model.TbSpecInfo{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.RegisterSpecWithInfo(nsId, u, update) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } else { // if action == "registerWithCspResourceId" { // The default mode. log.Debug().Msg("[Registering Spec with cspSpecName]") u := &model.TbSpecReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.RegisterSpecWithCspResourceId(nsId, u, update) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } /* else { mapA := map[string]string{"message": "LookupSpec(specRequest) failed."} @@ -102,11 +102,11 @@ func RestPutSpec(c echo.Context) error { u := &model.TbSpecInfo{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.UpdateSpec(nsId, specId, *u) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // Request structure for RestLookupSpec @@ -131,12 +131,12 @@ func RestLookupSpec(c echo.Context) error { u := &RestLookupSpecRequest{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } fmt.Println("[Lookup spec]: " + u.CspResourceId) content, err := resource.LookupSpec(u.ConnectionName, u.CspResourceId) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -156,12 +156,12 @@ func RestLookupSpecList(c echo.Context) error { u := &RestLookupSpecRequest{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } log.Debug().Msg("[Lookup specs]") content, err := resource.LookupSpecList(u.ConnectionName) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } @@ -183,7 +183,7 @@ func RestFetchSpecs(c echo.Context) error { u := &RestLookupSpecRequest{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } var connConfigCount, specCount uint @@ -192,19 +192,19 @@ func RestFetchSpecs(c echo.Context) error { if u.ConnectionName == "" { connConfigCount, specCount, err = resource.FetchSpecsForAllConnConfigs(nsId) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } } else { connConfigCount = 1 specCount, err = resource.FetchSpecsForConnConfig(u.ConnectionName, nsId) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } } content := map[string]string{ "message": "Fetched " + fmt.Sprint(specCount) + " specs (from " + fmt.Sprint(connConfigCount) + " connConfigs)"} - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestFilterSpecsResponse is Response structure for RestFilterSpecs @@ -231,14 +231,14 @@ func RestFilterSpecsByRange(c echo.Context) error { u := &model.FilterSpecsByRangeRequest{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } log.Debug().Msg("[Filter specs]") content, err := resource.FilterSpecsByRange(nsId, *u) result := RestFilterSpecsResponse{} result.Spec = content - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestGetSpec godoc @@ -264,7 +264,7 @@ func RestGetSpec(c echo.Context) error { log.Debug().Msg("[Get spec]" + specId) result, err := resource.GetSpec(nsId, specId) - return common.EndRequestWithLog(c, err, result) + return clientManager.EndRequestWithLog(c, err, result) } // RestDelSpec godoc diff --git a/src/api/rest/server/resource/sshkey.go b/src/api/rest/server/resource/sshkey.go index 96cf62f2f..4c242b757 100644 --- a/src/api/rest/server/resource/sshkey.go +++ b/src/api/rest/server/resource/sshkey.go @@ -15,7 +15,7 @@ limitations under the License. package resource import ( - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" "github.com/labstack/echo/v4" @@ -43,11 +43,11 @@ func RestPostSshKey(c echo.Context) error { u := &model.TbSshKeyReq{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.CreateSshKey(nsId, u, optionFlag) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestPutSshKey godoc @@ -71,11 +71,11 @@ func RestPutSshKey(c echo.Context) error { u := &model.TbSshKeyInfo{} if err := c.Bind(u); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } content, err := resource.UpdateSshKey(nsId, sshKeyId, *u) - return common.EndRequestWithLog(c, err, content) + return clientManager.EndRequestWithLog(c, err, content) } // RestGetSshKey godoc diff --git a/src/api/rest/server/util/netuil.go b/src/api/rest/server/util/netuil.go index 69128e886..8333b1b5e 100644 --- a/src/api/rest/server/util/netuil.go +++ b/src/api/rest/server/util/netuil.go @@ -3,7 +3,7 @@ package netutil import ( "net/http" - "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/common/netutil" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" @@ -76,16 +76,16 @@ func RestPostUtilToDesignNetwork(c echo.Context) error { // Bind the request body to SubnettingRequest struct subnettingReq := new(netutil.SubnettingRequest) if err := c.Bind(subnettingReq); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } // Subnetting as many as requested rules networkConfig, err := netutil.SubnettingBy(*subnettingReq) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } - return common.EndRequestWithLog(c, err, networkConfig) + return clientManager.EndRequestWithLog(c, err, networkConfig) } type RestPostUtilToValidateNetworkRequest struct { @@ -109,18 +109,18 @@ func RestPostUtilToValidateNetwork(c echo.Context) error { // Bind the request body to SubnettingRequest struct req := new(netutil.NetworkConfig) if err := c.Bind(req); err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } // Validate the network configuration netConf := req.NetworkConfiguration err := netutil.ValidateNetwork(netConf) if err != nil { - return common.EndRequestWithLog(c, err, nil) + return clientManager.EndRequestWithLog(c, err, nil) } okMessage := model.SimpleMsg{} okMessage.Message = "Network configuration is valid." - return common.EndRequestWithLog(c, err, okMessage) + return clientManager.EndRequestWithLog(c, err, okMessage) } diff --git a/src/core/common/client.go b/src/core/common/client/client.go similarity index 99% rename from src/core/common/client.go rename to src/core/common/client/client.go index 1c3c159cd..5f192d2f4 100644 --- a/src/core/common/client.go +++ b/src/core/common/client/client.go @@ -11,8 +11,8 @@ See the License for the specific language governing permissions and limitations under the License. */ -// Package common is to include common methods for managing multi-cloud infra -package common +// Package client is to manage internal HTTP requests and caching +package client import ( "bytes" diff --git a/src/core/common/label/label.go b/src/core/common/label/label.go index a82cca462..38f231ed0 100644 --- a/src/core/common/label/label.go +++ b/src/core/common/label/label.go @@ -23,6 +23,7 @@ import ( "github.com/cloud-barista/cb-tumblebug/src/kvstore/kvstore" "github.com/cloud-barista/cb-tumblebug/src/kvstore/kvutil" "github.com/rs/zerolog/log" + // "github.com/go-resty/resty/v2" ) // CreateOrUpdateLabel adds a new label or updates an existing label for the given resource, @@ -304,3 +305,40 @@ func GetResourcesByLabelSelector(labelType, labelSelector string) ([]interface{} //log.Debug().Int("numMatchedResources", len(matchedResources)).Str("labelType", labelType).Msg("Matched resources found") return matchedResources, nil } + +// func UpdateCSPResourceLabel(cspType string, resourceKey string, labels map[string]string) error { + +// driverName := RuntimeCloudInfo.CSPs[providerName].Driver + +// client := resty.New() +// url := model.SpiderRestUrl + "/driver" +// method := "POST" +// var callResult model.CloudDriverInfo +// requestBody := model.CloudDriverInfo{ProviderName: strings.ToUpper(providerName), DriverName: driverName, DriverLibFileName: driverName} + +// err := ExecuteHttpRequest( +// client, +// method, +// url, +// nil, +// SetUseBody(requestBody), +// &requestBody, +// &callResult, +// MediumDuration, +// ) + +// if err != nil { +// log.Error().Err(err).Msg("") +// return err +// } + +// for regionName, _ := range RuntimeCloudInfo.CSPs[providerName].Regions { +// err := RegisterRegionZone(providerName, regionName) +// if err != nil { +// log.Error().Err(err).Msg("") +// return err +// } +// } + +// return nil +// } diff --git a/src/core/common/utility.go b/src/core/common/utility.go index 5de77458c..963796649 100644 --- a/src/core/common/utility.go +++ b/src/core/common/utility.go @@ -32,6 +32,7 @@ import ( "encoding/base64" "encoding/pem" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/kvstore/kvstore" "github.com/cloud-barista/cb-tumblebug/src/kvstore/kvutil" @@ -296,15 +297,15 @@ func CheckConnConfigAvailable(connConfigName string) (bool, error) { requestBody := model.SpiderConnectionName{} requestBody.ConnectionName = connConfigName - err := ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - ShortDuration, + clientManager.ShortDuration, ) if err != nil { @@ -322,17 +323,17 @@ func CheckSpiderReady() error { client := resty.New() url := model.SpiderRestUrl + "/readyz" method := "GET" - requestBody := NoBody + requestBody := clientManager.NoBody - err := ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -437,15 +438,15 @@ func RegisterCloudInfo(providerName string) error { var callResult model.CloudDriverInfo requestBody := model.CloudDriverInfo{ProviderName: strings.ToUpper(providerName), DriverName: driverName, DriverLibFileName: driverName} - err := ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -489,15 +490,15 @@ func RegisterRegionZone(providerName string, regionName string) error { } requestBody.KeyValueInfoList = keyValueInfoList - err := ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -515,15 +516,15 @@ func RegisterRegionZone(providerName string, regionName string) error { requestBody.AvailableZoneList = RuntimeCloudInfo.CSPs[providerName].Regions[regionName].Zones requestBody.KeyValueInfoList = keyValueInfoList - err := ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -676,15 +677,15 @@ func RegisterCredential(req model.CredentialReq) (model.CredentialInfo, error) { //PrintJsonPretty(requestBody) - err = ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -900,15 +901,15 @@ func RegisterConnectionConfig(connConfig model.ConnConfig) (model.ConnConfig, er requestBody.CredentialName = connConfig.CredentialName requestBody.RegionName = connConfig.RegionZoneInfoName - err := ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -948,17 +949,17 @@ func RegisterConnectionConfig(connConfig model.ConnConfig) (model.ConnConfig, er url = model.SpiderRestUrl + "/region/" + connection.RegionZoneInfoName method = "GET" var callResultRegion model.SpiderRegionZoneInfo - requestNoBody := NoBody + requestNoBody := clientManager.NoBody - err = ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - SetUseBody(requestNoBody), + clientManager.SetUseBody(requestNoBody), &requestNoBody, &callResultRegion, - MediumDuration, + clientManager.MediumDuration, ) if err != nil { log.Error().Err(err).Msg("") diff --git a/src/core/infra/control.go b/src/core/infra/control.go index d261a8b6e..4b37dbfcc 100644 --- a/src/core/infra/control.go +++ b/src/core/infra/control.go @@ -25,6 +25,7 @@ import ( "time" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" "github.com/cloud-barista/cb-tumblebug/src/kvstore/kvstore" @@ -439,15 +440,15 @@ func ControlVmAsync(wg *sync.WaitGroup, nsId string, mciId string, vmId string, requestBody := model.SpiderConnectionName{} requestBody.ConnectionName = temp.ConnectionName - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { log.Error().Err(err).Msg("") diff --git a/src/core/infra/manageInfo.go b/src/core/infra/manageInfo.go index a2ecf9307..8d2243da2 100644 --- a/src/core/infra/manageInfo.go +++ b/src/core/infra/manageInfo.go @@ -28,6 +28,7 @@ import ( "sync" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/common/label" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" @@ -789,15 +790,15 @@ func GetVmIdNameInDetail(nsId string, mciId string, vmId string) (*model.TbIdNam method := "GET" client.SetTimeout(5 * time.Minute) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -1068,15 +1069,15 @@ func GetVmCurrentPublicIp(nsId string, mciId string, vmId string) (model.TbVmSta requestBody.ConnectionName = temp.ConnectionName callResult := statusResponse{} - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -1202,15 +1203,15 @@ func FetchVmStatus(nsId string, mciId string, vmId string) (model.TbVmStatusInfo retrycheck := 2 for i := 0; i < retrycheck; i++ { errorInfo.Status = model.StatusFailed - err := common.ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { errorInfo.SystemMessage = err.Error() @@ -1553,15 +1554,15 @@ func AttachDetachDataDisk(nsId string, mciId string, vmId string, command string } - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -1607,15 +1608,15 @@ func AttachDetachDataDisk(nsId string, mciId string, vmId string, command string } var callResultSpiderVMInfo model.SpiderVMInfo - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBodyConnection), + clientManager.SetUseBody(requestBodyConnection), &requestBodyConnection, &callResultSpiderVMInfo, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { diff --git a/src/core/infra/provisioning.go b/src/core/infra/provisioning.go index f18a26250..03225190e 100644 --- a/src/core/infra/provisioning.go +++ b/src/core/infra/provisioning.go @@ -23,6 +23,7 @@ import ( "time" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/common/label" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/core/resource" @@ -1029,11 +1030,11 @@ func CreateMciDynamic(reqID string, nsId string, req *model.TbMciDynamicReq, dep // Log the prepared MCI request and update the progress common.PrintJsonPretty(mciReq) - common.UpdateRequestProgress(reqID, common.ProgressInfo{ + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{ Title: "Prepared all resources for provisioning MCI: " + mciReq.Name, Info: mciReq, Time: time.Now(), }) - common.UpdateRequestProgress(reqID, common.ProgressInfo{ + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{ Title: "Start instance provisioning", Time: time.Now(), }) @@ -1164,7 +1165,7 @@ func getVmReqFromDynamicReq(reqID string, nsId string, req *model.TbVmDynamicReq } } - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Setting vNet:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Setting vNet:" + resourceName, Time: time.Now()}) vmReq.VNetId = resourceName _, err = resource.GetResource(nsId, model.StrVNet, vmReq.VNetId) @@ -1174,7 +1175,7 @@ func getVmReqFromDynamicReq(reqID string, nsId string, req *model.TbVmDynamicReq log.Error().Err(err).Msg("Failed to get the vNet") return &model.TbVmReq{}, err } - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Loading default vNet:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Loading default vNet:" + resourceName, Time: time.Now()}) // Check if the default vNet exists _, err := resource.GetResource(nsId, model.StrVNet, vmReq.ConnectionName) @@ -1194,7 +1195,7 @@ func getVmReqFromDynamicReq(reqID string, nsId string, req *model.TbVmDynamicReq } vmReq.SubnetId = resourceName - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Setting SSHKey:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Setting SSHKey:" + resourceName, Time: time.Now()}) vmReq.SshKeyId = resourceName _, err = resource.GetResource(nsId, model.StrSSHKey, vmReq.SshKeyId) if err != nil { @@ -1203,7 +1204,7 @@ func getVmReqFromDynamicReq(reqID string, nsId string, req *model.TbVmDynamicReq log.Error().Err(err).Msg("Failed to get the SSHKey") return &model.TbVmReq{}, err } - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Loading default SSHKey:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Loading default SSHKey:" + resourceName, Time: time.Now()}) // Check if the default SSHKey exists _, err := resource.GetResource(nsId, model.StrSSHKey, vmReq.ConnectionName) @@ -1222,7 +1223,7 @@ func getVmReqFromDynamicReq(reqID string, nsId string, req *model.TbVmDynamicReq log.Info().Msg("Found and utilize default SSHKey: " + vmReq.VNetId) } - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Setting securityGroup:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Setting securityGroup:" + resourceName, Time: time.Now()}) securityGroup := resourceName vmReq.SecurityGroupIds = append(vmReq.SecurityGroupIds, securityGroup) _, err = resource.GetResource(nsId, model.StrSecurityGroup, securityGroup) @@ -1232,7 +1233,7 @@ func getVmReqFromDynamicReq(reqID string, nsId string, req *model.TbVmDynamicReq log.Error().Err(err).Msg("Failed to get the securityGroup") return &model.TbVmReq{}, err } - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Loading default securityGroup:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Loading default securityGroup:" + resourceName, Time: time.Now()}) // Check if the default security group exists _, err := resource.GetResource(nsId, model.StrSecurityGroup, vmReq.ConnectionName) @@ -1263,7 +1264,7 @@ func getVmReqFromDynamicReq(reqID string, nsId string, req *model.TbVmDynamicReq vmReq.VmUserPassword = k.VmUserPassword common.PrintJsonPretty(vmReq) - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Prepared resources for VM:" + vmReq.Name, Info: vmReq, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Prepared resources for VM:" + vmReq.Name, Info: vmReq, Time: time.Now()}) return vmReq, nil } @@ -1516,15 +1517,15 @@ func CreateVm(wg *sync.WaitGroup, nsId string, mciId string, vmInfoData *model.T url = model.SpiderRestUrl + "/regvm" } - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -1935,7 +1936,7 @@ func getK8sClusterReqFromDynamicReq(reqID string, nsId string, dReq *model.TbK8s // Default resource name has this pattern (nsId + "-shared-" + vmReq.ConnectionName) resourceName := nsId + model.StrSharedResourceName + k8sReq.ConnectionName - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Setting vNet:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Setting vNet:" + resourceName, Time: time.Now()}) k8sReq.VNetId = resourceName _, err = resource.GetResource(nsId, model.StrVNet, k8sReq.VNetId) @@ -1946,7 +1947,7 @@ func getK8sClusterReqFromDynamicReq(reqID string, nsId string, dReq *model.TbK8s return emptyK8sReq, err } - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Loading default vNet:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Loading default vNet:" + resourceName, Time: time.Now()}) err2 := resource.CreateSharedResource(nsId, model.StrVNet, k8sReq.ConnectionName) if err2 != nil { @@ -1961,7 +1962,7 @@ func getK8sClusterReqFromDynamicReq(reqID string, nsId string, dReq *model.TbK8s k8sReq.SubnetIds = append(k8sReq.SubnetIds, resourceName) k8sReq.SubnetIds = append(k8sReq.SubnetIds, resourceName+"-01") - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Setting SSHKey:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Setting SSHKey:" + resourceName, Time: time.Now()}) k8sngReq.SshKeyId = resourceName _, err = resource.GetResource(nsId, model.StrSSHKey, k8sngReq.SshKeyId) @@ -1972,7 +1973,7 @@ func getK8sClusterReqFromDynamicReq(reqID string, nsId string, dReq *model.TbK8s return emptyK8sReq, err } - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Loading default SSHKey:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Loading default SSHKey:" + resourceName, Time: time.Now()}) err2 := resource.CreateSharedResource(nsId, model.StrSSHKey, k8sReq.ConnectionName) if err2 != nil { @@ -1985,7 +1986,7 @@ func getK8sClusterReqFromDynamicReq(reqID string, nsId string, dReq *model.TbK8s log.Info().Msg("Found and utilize default SSHKey: " + k8sngReq.SshKeyId) } - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Setting securityGroup:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Setting securityGroup:" + resourceName, Time: time.Now()}) securityGroup := resourceName k8sReq.SecurityGroupIds = append(k8sReq.SecurityGroupIds, securityGroup) @@ -1997,7 +1998,7 @@ func getK8sClusterReqFromDynamicReq(reqID string, nsId string, dReq *model.TbK8s return emptyK8sReq, err } - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Loading default securityGroup:" + resourceName, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Loading default securityGroup:" + resourceName, Time: time.Now()}) err2 := resource.CreateSharedResource(nsId, model.StrSecurityGroup, k8sReq.ConnectionName) if err2 != nil { @@ -2046,7 +2047,7 @@ func getK8sClusterReqFromDynamicReq(reqID string, nsId string, dReq *model.TbK8s k8sReq.Label = dReq.Label common.PrintJsonPretty(k8sReq) - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Prepared resources for K8sCluster:" + k8sReq.Name, Info: k8sReq, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Prepared resources for K8sCluster:" + k8sReq.Name, Info: k8sReq, Time: time.Now()}) return k8sReq, nil } @@ -2101,8 +2102,8 @@ func CreateK8sClusterDynamic(reqID string, nsId string, dReq *model.TbK8sCluster */ common.PrintJsonPretty(k8sReq) - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Prepared all resources for provisioning K8sCluster:" + k8sReq.Name, Info: k8sReq, Time: time.Now()}) - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Start provisioning", Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Prepared all resources for provisioning K8sCluster:" + k8sReq.Name, Info: k8sReq, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Start provisioning", Time: time.Now()}) // Run create K8sCluster with the generated K8sCluster request (option != register) option := "create" @@ -2190,7 +2191,7 @@ func getK8sNodeGroupReqFromDynamicReq(reqID string, nsId string, k8sClusterInfo k8sNgReq.Label = dReq.Label common.PrintJsonPretty(k8sNgReq) - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Prepared resources for K8sNodeGroup:" + k8sNgReq.Name, Info: k8sNgReq, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Prepared resources for K8sNodeGroup:" + k8sNgReq.Name, Info: k8sNgReq, Time: time.Now()}) return k8sNgReq, nil } @@ -2245,8 +2246,8 @@ func CreateK8sNodeGroupDynamic(reqID string, nsId string, k8sClusterId string, d } common.PrintJsonPretty(k8sNgReq) - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Prepared all resources for provisioning K8sNodeGroup:" + k8sNgReq.Name, Info: k8sNgReq, Time: time.Now()}) - common.UpdateRequestProgress(reqID, common.ProgressInfo{Title: "Start provisioning", Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Prepared all resources for provisioning K8sNodeGroup:" + k8sNgReq.Name, Info: k8sNgReq, Time: time.Now()}) + clientManager.UpdateRequestProgress(reqID, clientManager.ProgressInfo{Title: "Start provisioning", Time: time.Now()}) return resource.AddK8sNodeGroup(nsId, k8sClusterId, k8sNgReq) } diff --git a/src/core/resource/common.go b/src/core/resource/common.go index 95b02cc04..0be6a6381 100644 --- a/src/core/resource/common.go +++ b/src/core/resource/common.go @@ -27,6 +27,7 @@ import ( "time" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/common/label" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/kvstore/kvstore" @@ -349,15 +350,15 @@ func DelResource(nsId string, resourceType string, resourceId string, forceFlag method := "DELETE" //client.SetTimeout(60 * time.Second) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { diff --git a/src/core/resource/customimage.go b/src/core/resource/customimage.go index c8623c1b1..2d8030b4c 100644 --- a/src/core/resource/customimage.go +++ b/src/core/resource/customimage.go @@ -21,6 +21,7 @@ import ( "time" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/kvstore/kvstore" validator "github.com/go-playground/validator/v10" @@ -113,15 +114,15 @@ func LookupMyImage(connConfig string, myImageId string) (model.SpiderMyImageInfo requestBody := model.SpiderConnectionName{} requestBody.ConnectionName = connConfig - err := common.ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -220,15 +221,15 @@ func RegisterCustomImageWithId(nsId string, u *model.TbCustomImageReq) (model.Tb } callResult := model.SpiderMyImageInfo{} - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { diff --git a/src/core/resource/image.go b/src/core/resource/image.go index 6d123ea29..9f7f0e1f0 100644 --- a/src/core/resource/image.go +++ b/src/core/resource/image.go @@ -25,6 +25,7 @@ import ( "github.com/rs/zerolog/log" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/kvstore/kvstore" @@ -305,15 +306,15 @@ func LookupImageList(connConfigName string) (model.SpiderImageList, error) { requestBody := model.SpiderConnectionName{} requestBody.ConnectionName = connConfigName - err := common.ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.ShortDuration, + clientManager.ShortDuration, ) if err != nil { @@ -346,15 +347,15 @@ func LookupImage(connConfig string, imageId string) (model.SpiderImageInfo, erro requestBody.ConnectionName = connConfig callResult := model.SpiderImageInfo{} - err := common.ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { diff --git a/src/core/resource/k8scluster.go b/src/core/resource/k8scluster.go index 01b41e0d0..419f6ad81 100644 --- a/src/core/resource/k8scluster.go +++ b/src/core/resource/k8scluster.go @@ -25,6 +25,7 @@ import ( "time" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/common/label" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/kvstore/kvstore" @@ -463,15 +464,15 @@ func CreateK8sCluster(nsId string, req *model.TbK8sClusterReq, option string) (* var spClusterRes model.SpiderClusterRes - createErr = common.ExecuteHttpRequest( + createErr = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &spClusterRes, - common.MediumDuration, + clientManager.MediumDuration, ) if createErr != nil { @@ -674,15 +675,15 @@ func AddK8sNodeGroup(nsId string, k8sClusterId string, u *model.TbK8sNodeGroupRe var spClusterRes model.SpiderClusterRes - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &spClusterRes, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -743,15 +744,15 @@ func RemoveK8sNodeGroup(nsId, k8sClusterId, k8sNodeGroupName, option string) (bo method := "DELETE" var ifRes interface{} - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &ifRes, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -817,15 +818,15 @@ func SetK8sNodeGroupAutoscaling(nsId string, k8sClusterId string, k8sNodeGroupNa method := "PUT" var spSetAutoscalingRes model.SpiderSetAutoscalingRes - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &spSetAutoscalingRes, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -886,15 +887,15 @@ func ChangeK8sNodeGroupAutoscaleSize(nsId string, k8sClusterId string, k8sNodeGr method := "PUT" var spChangeAutoscaleSizeRes model.SpiderChangeAutoscaleSizeRes - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &spChangeAutoscaleSizeRes, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -951,15 +952,15 @@ func GetK8sCluster(nsId string, k8sClusterId string) (*model.TbK8sClusterInfo, e } var spClusterRes model.SpiderClusterRes - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &spClusterRes, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -1153,15 +1154,15 @@ func DeleteK8sCluster(nsId, k8sClusterId, option string) (bool, error) { method := "DELETE" var ifRes interface{} - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &ifRes, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) log.Debug().Msgf("option=%s", option) @@ -1297,15 +1298,15 @@ func UpgradeK8sCluster(nsId string, k8sClusterId string, u *model.TbUpgradeK8sCl method := "PUT" var spClusterRes model.SpiderClusterRes - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &spClusterRes, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { diff --git a/src/core/resource/objectStorage.go b/src/core/resource/objectStorage.go index bc47eb80b..4d927feb8 100644 --- a/src/core/resource/objectStorage.go +++ b/src/core/resource/objectStorage.go @@ -20,6 +20,7 @@ import ( "os" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/common/label" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/kvstore/kvstore" @@ -229,15 +230,15 @@ func CreateObjectStorage(nsId string, objectStorageReq *model.RestPostObjectStor resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqTr), + clientManager.SetUseBody(*reqTr), reqTr, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -254,18 +255,18 @@ func CreateObjectStorage(nsId string, objectStorageReq *model.RestPostObjectStor queryParams := "provider=" + objectStorageReq.CSP url += "?" + queryParams - requestBody := common.NoBody + requestBody := clientManager.NoBody resTerrariumEnv := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTerrariumEnv, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -292,15 +293,15 @@ func CreateObjectStorage(nsId string, objectStorageReq *model.RestPostObjectStor resInfracode := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqInfracode), + clientManager.SetUseBody(*reqInfracode), reqInfracode, resInfracode, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -321,15 +322,15 @@ func CreateObjectStorage(nsId string, objectStorageReq *model.RestPostObjectStor resInfracode := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqInfracode), + clientManager.SetUseBody(*reqInfracode), reqInfracode, resInfracode, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -349,15 +350,15 @@ func CreateObjectStorage(nsId string, objectStorageReq *model.RestPostObjectStor // resInfracode := new(model.Response) - // err = common.ExecuteHttpRequest( + // err = clientManager.ExecuteHttpRequest( // client, // method, // url, // nil, - // common.SetUseBody(*reqInfracode), + // clientManager.SetUseBody(*reqInfracode), // reqInfracode, // resInfracode, - // common.VeryShortDuration, + // clientManager.VeryShortDuration, // ) // if err != nil { @@ -377,15 +378,15 @@ func CreateObjectStorage(nsId string, objectStorageReq *model.RestPostObjectStor // resInfracode := new(model.Response) - // err = common.ExecuteHttpRequest( + // err = clientManager.ExecuteHttpRequest( // client, // method, // url, // nil, - // common.SetUseBody(*reqInfracode), + // clientManager.SetUseBody(*reqInfracode), // reqInfracode, // resInfracode, - // common.VeryShortDuration, + // clientManager.VeryShortDuration, // ) // if err != nil { @@ -406,18 +407,18 @@ func CreateObjectStorage(nsId string, objectStorageReq *model.RestPostObjectStor // check the infracode (by `tofu plan`) method := "POST" url := fmt.Sprintf("%s/tr/%s/object-storage/plan", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resPlan := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resPlan, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -433,18 +434,18 @@ func CreateObjectStorage(nsId string, objectStorageReq *model.RestPostObjectStor // and provide seperate api to check the status method = "POST" url = fmt.Sprintf("%s/tr/%s/object-storage", epTerrarium, trId) - requestBody = common.NoBody + requestBody = clientManager.NoBody resApply := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resApply, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -601,18 +602,18 @@ func GetObjectStorage(nsId string, objectStorageId string, detail string) (model // Get the terrarium info method := "GET" url := fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -629,18 +630,18 @@ func GetObjectStorage(nsId string, objectStorageId string, detail string) (model // Get resource info method = "GET" url = fmt.Sprintf("%s/tr/%s/%s?detail=%s", epTerrarium, trId, enrichments, detail) - requestBody = common.NoBody + requestBody = clientManager.NoBody resResourceInfo := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resResourceInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -775,18 +776,18 @@ func DeleteObjectStorage(nsId string, objectStorageId string) (model.SimpleMsg, // Get the terrarium info method := "GET" url := fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -801,18 +802,18 @@ func DeleteObjectStorage(nsId string, objectStorageId string) (model.SimpleMsg, // delete enrichments method = "DELETE" url = fmt.Sprintf("%s/tr/%s/%s", epTerrarium, trId, enrichments) - requestBody = common.NoBody + requestBody = clientManager.NoBody resDeleteEnrichments := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resDeleteEnrichments, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -826,18 +827,18 @@ func DeleteObjectStorage(nsId string, objectStorageId string) (model.SimpleMsg, // delete env method = "DELETE" url = fmt.Sprintf("%s/tr/%s/%s/env", epTerrarium, trId, enrichments) - requestBody = common.NoBody + requestBody = clientManager.NoBody resDeleteEnv := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resDeleteEnv, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -851,18 +852,18 @@ func DeleteObjectStorage(nsId string, objectStorageId string) (model.SimpleMsg, // delete terrarium method = "DELETE" url = fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody = common.NoBody + requestBody = clientManager.NoBody resDeleteTr := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resDeleteTr, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -960,18 +961,18 @@ func GetRequestStatusOfObjectStorage(nsId string, objectStorageId string, reqId // Get the terrarium info method := "GET" url := fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -986,18 +987,18 @@ func GetRequestStatusOfObjectStorage(nsId string, objectStorageId string, reqId // Get resource info method = "GET" url = fmt.Sprintf("%s/tr/%s/%s/request/%s", epTerrarium, trId, enrichments, reqId) - reqReqStatus := common.NoBody + reqReqStatus := clientManager.NoBody resReqStatus := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(reqReqStatus), + clientManager.SetUseBody(reqReqStatus), &reqReqStatus, resReqStatus, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { diff --git a/src/core/resource/spec.go b/src/core/resource/spec.go index 0e52ac9d9..419dd0e47 100644 --- a/src/core/resource/spec.go +++ b/src/core/resource/spec.go @@ -22,6 +22,7 @@ import ( "time" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/model" validator "github.com/go-playground/validator/v10" "github.com/go-resty/resty/v2" @@ -85,15 +86,15 @@ func LookupSpecList(connConfig string) (model.SpiderSpecList, error) { requestBody := model.SpiderConnectionName{} requestBody.ConnectionName = connConfig - err := common.ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -130,15 +131,15 @@ func LookupSpec(connConfig string, specName string) (model.SpiderSpecInfo, error requestBody.ConnectionName = connConfig callResult := model.SpiderSpecInfo{} - err := common.ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, &callResult, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { diff --git a/src/core/resource/sqlDb.go b/src/core/resource/sqlDb.go index 8911cd10b..c74964a9e 100644 --- a/src/core/resource/sqlDb.go +++ b/src/core/resource/sqlDb.go @@ -20,6 +20,7 @@ import ( "os" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/common/label" "github.com/cloud-barista/cb-tumblebug/src/core/model" "github.com/cloud-barista/cb-tumblebug/src/kvstore/kvstore" @@ -246,15 +247,15 @@ func CreateSqlDB(nsId string, sqlDbReq *model.RestPostSqlDBRequest, retry string resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqTr), + clientManager.SetUseBody(*reqTr), reqTr, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -271,18 +272,18 @@ func CreateSqlDB(nsId string, sqlDbReq *model.RestPostSqlDBRequest, retry string queryParams := "provider=" + sqlDbReq.CSP url += "?" + queryParams - requestBody := common.NoBody + requestBody := clientManager.NoBody resTerrariumEnv := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTerrariumEnv, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -319,15 +320,15 @@ func CreateSqlDB(nsId string, sqlDbReq *model.RestPostSqlDBRequest, retry string resInfracode := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqInfracode), + clientManager.SetUseBody(*reqInfracode), reqInfracode, resInfracode, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -352,15 +353,15 @@ func CreateSqlDB(nsId string, sqlDbReq *model.RestPostSqlDBRequest, retry string resInfracode := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqInfracode), + clientManager.SetUseBody(*reqInfracode), reqInfracode, resInfracode, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -384,15 +385,15 @@ func CreateSqlDB(nsId string, sqlDbReq *model.RestPostSqlDBRequest, retry string resInfracode := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqInfracode), + clientManager.SetUseBody(*reqInfracode), reqInfracode, resInfracode, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -415,15 +416,15 @@ func CreateSqlDB(nsId string, sqlDbReq *model.RestPostSqlDBRequest, retry string resInfracode := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqInfracode), + clientManager.SetUseBody(*reqInfracode), reqInfracode, resInfracode, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -444,18 +445,18 @@ func CreateSqlDB(nsId string, sqlDbReq *model.RestPostSqlDBRequest, retry string // check the infracode (by `tofu plan`) method := "POST" url := fmt.Sprintf("%s/tr/%s/sql-db/plan", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resPlan := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resPlan, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -471,18 +472,18 @@ func CreateSqlDB(nsId string, sqlDbReq *model.RestPostSqlDBRequest, retry string // and provide seperate api to check the status method = "POST" url = fmt.Sprintf("%s/tr/%s/sql-db", epTerrarium, trId) - requestBody = common.NoBody + requestBody = clientManager.NoBody resApply := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resApply, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -639,18 +640,18 @@ func GetSqlDB(nsId string, sqlDbId string, detail string) (model.SqlDBInfo, erro // Get the terrarium info method := "GET" url := fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -667,18 +668,18 @@ func GetSqlDB(nsId string, sqlDbId string, detail string) (model.SqlDBInfo, erro // Get resource info method = "GET" url = fmt.Sprintf("%s/tr/%s/%s?detail=%s", epTerrarium, trId, enrichments, detail) - requestBody = common.NoBody + requestBody = clientManager.NoBody resResourceInfo := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resResourceInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -813,18 +814,18 @@ func DeleteSqlDB(nsId string, sqlDbId string) (model.SimpleMsg, error) { // Get the terrarium info method := "GET" url := fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -839,18 +840,18 @@ func DeleteSqlDB(nsId string, sqlDbId string) (model.SimpleMsg, error) { // delete enrichments method = "DELETE" url = fmt.Sprintf("%s/tr/%s/%s", epTerrarium, trId, enrichments) - requestBody = common.NoBody + requestBody = clientManager.NoBody resDeleteEnrichments := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resDeleteEnrichments, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -864,18 +865,18 @@ func DeleteSqlDB(nsId string, sqlDbId string) (model.SimpleMsg, error) { // delete env method = "DELETE" url = fmt.Sprintf("%s/tr/%s/%s/env", epTerrarium, trId, enrichments) - requestBody = common.NoBody + requestBody = clientManager.NoBody resDeleteEnv := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resDeleteEnv, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -889,18 +890,18 @@ func DeleteSqlDB(nsId string, sqlDbId string) (model.SimpleMsg, error) { // delete terrarium method = "DELETE" url = fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody = common.NoBody + requestBody = clientManager.NoBody resDeleteTr := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resDeleteTr, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -998,18 +999,18 @@ func GetRequestStatusOfSqlDB(nsId string, sqlDbId string, reqId string) (model.R // Get the terrarium info method := "GET" url := fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -1024,18 +1025,18 @@ func GetRequestStatusOfSqlDB(nsId string, sqlDbId string, reqId string) (model.R // Get resource info method = "GET" url = fmt.Sprintf("%s/tr/%s/%s/request/%s", epTerrarium, trId, enrichments, reqId) - reqReqStatus := common.NoBody + reqReqStatus := clientManager.NoBody resReqStatus := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(reqReqStatus), + clientManager.SetUseBody(reqReqStatus), &reqReqStatus, resReqStatus, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { diff --git a/src/core/resource/subnet.go b/src/core/resource/subnet.go index d6c73126d..1018bd328 100644 --- a/src/core/resource/subnet.go +++ b/src/core/resource/subnet.go @@ -21,6 +21,7 @@ import ( "strings" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/common/label" "github.com/cloud-barista/cb-tumblebug/src/core/common/netutil" "github.com/cloud-barista/cb-tumblebug/src/core/model" @@ -345,15 +346,15 @@ func CreateSubnet(nsId string, vNetId string, subnetReq *model.TbSubnetReq) (mod } }() - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -532,18 +533,18 @@ func GetSubnet(nsId string, vNetId string, subnetId string) (model.TbSubnetInfo, queryParams := "?ConnectionName=" + subnetInfo.ConnectionName url += queryParams - spReqt := common.NoBody + spReqt := clientManager.NoBody var spResp spiderSubnetInfo - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -732,15 +733,15 @@ func DeleteSubnet(nsId string, vNetId string, subnetId string, actionParam strin client := resty.New() method := "DELETE" - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -900,18 +901,18 @@ func RefineSubnet(nsId string, vNetId string, subnetId string) (model.SimpleMsg, queryParams := "?ConnectionName=" + subnetInfo.ConnectionName url += queryParams - spReqt := common.NoBody + spReqt := clientManager.NoBody var spResp spiderSubnetInfo - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) // if err != nil { @@ -1124,15 +1125,15 @@ func RegisterSubnet(nsId string, vNetId string, subnetReq *model.TbRegisterSubne } }() - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -1334,15 +1335,15 @@ func DeregisterSubnet(nsId string, vNetId string, subnetId string) (model.Simple client := resty.New() method := "DELETE" - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { diff --git a/src/core/resource/vnet.go b/src/core/resource/vnet.go index bfdf38f3c..1485e8707 100644 --- a/src/core/resource/vnet.go +++ b/src/core/resource/vnet.go @@ -22,6 +22,7 @@ import ( "strings" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/common/label" "github.com/cloud-barista/cb-tumblebug/src/core/common/netutil" "github.com/cloud-barista/cb-tumblebug/src/core/model" @@ -486,15 +487,15 @@ func CreateVNet(nsId string, vNetReq *model.TbVNetReq) (model.TbVNetInfo, error) } }() - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -693,7 +694,7 @@ func GetVNet(nsId string, vNetId string) (model.TbVNetInfo, error) { // [Via Spider] Get a vNet and subnets client := resty.New() method := "GET" - spReqt := common.NoBody + spReqt := clientManager.NoBody var spResp spiderVPCInfo // API to create a vNet @@ -701,15 +702,15 @@ func GetVNet(nsId string, vNetId string) (model.TbVNetInfo, error) { queryParams := "?ConnectionName=" + vNetInfo.ConnectionName url += queryParams - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -875,15 +876,15 @@ func DeleteVNet(nsId string, vNetId string, actionParam string) (model.SimpleMsg client := resty.New() method := "DELETE" - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -988,7 +989,7 @@ func RefineVNet(nsId string, vNetId string) (model.SimpleMsg, error) { // [Via Spider] Get a vNet client := resty.New() method := "GET" - spReqt := common.NoBody + spReqt := clientManager.NoBody var spResp spiderVPCInfo // API to get a vNet @@ -996,15 +997,15 @@ func RefineVNet(nsId string, vNetId string) (model.SimpleMsg, error) { queryParams := "?ConnectionName=" + vNetInfo.ConnectionName url += queryParams - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) // if err != nil { @@ -1237,15 +1238,15 @@ func RegisterVNet(nsId string, vNetRegisterReq *model.TbRegisterVNetReq) (model. } }() - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { @@ -1503,15 +1504,15 @@ func DeregisterVNet(nsId string, vNetId string, withSubnets string) (model.Simpl client := resty.New() method := "DELETE" - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(spReqt), + clientManager.SetUseBody(spReqt), &spReqt, &spResp, - common.MediumDuration, + clientManager.MediumDuration, ) if err != nil { diff --git a/src/core/resource/vpn.go b/src/core/resource/vpn.go index 231e5b6b0..6e5c2a7dc 100644 --- a/src/core/resource/vpn.go +++ b/src/core/resource/vpn.go @@ -23,6 +23,7 @@ import ( "time" "github.com/cloud-barista/cb-tumblebug/src/core/common" + clientManager "github.com/cloud-barista/cb-tumblebug/src/core/common/client" "github.com/cloud-barista/cb-tumblebug/src/core/common/label" "github.com/cloud-barista/cb-tumblebug/src/core/model" @@ -301,15 +302,15 @@ func CreateSiteToSiteVPN(nsId string, mciId string, vpnReq *model.RestPostVpnReq resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqTr), + clientManager.SetUseBody(*reqTr), reqTr, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -323,18 +324,18 @@ func CreateSiteToSiteVPN(nsId string, mciId string, vpnReq *model.RestPostVpnReq // init env method = "POST" url = fmt.Sprintf("%s/tr/%s/vpn/gcp-aws/env", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resTerrariumEnv := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTerrariumEnv, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -371,15 +372,15 @@ func CreateSiteToSiteVPN(nsId string, mciId string, vpnReq *model.RestPostVpnReq resInfracode := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqInfracode), + clientManager.SetUseBody(*reqInfracode), reqInfracode, resInfracode, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -392,18 +393,18 @@ func CreateSiteToSiteVPN(nsId string, mciId string, vpnReq *model.RestPostVpnReq // check the infracode by plan method = "POST" url = fmt.Sprintf("%s/tr/%s/vpn/gcp-aws/plan", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resPlan := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resPlan, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -419,18 +420,18 @@ func CreateSiteToSiteVPN(nsId string, mciId string, vpnReq *model.RestPostVpnReq // and provide seperate api to check the status method = "POST" url = fmt.Sprintf("%s/tr/%s/vpn/gcp-aws", epTerrarium, trId) - requestBody = common.NoBody + requestBody = clientManager.NoBody resApply := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resApply, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -487,15 +488,15 @@ func CreateSiteToSiteVPN(nsId string, mciId string, vpnReq *model.RestPostVpnReq resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqTr), + clientManager.SetUseBody(*reqTr), reqTr, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -509,18 +510,18 @@ func CreateSiteToSiteVPN(nsId string, mciId string, vpnReq *model.RestPostVpnReq // init env method = "POST" url = fmt.Sprintf("%s/tr/%s/vpn/gcp-azure/env", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resTerrariumEnv := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTerrariumEnv, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -559,15 +560,15 @@ func CreateSiteToSiteVPN(nsId string, mciId string, vpnReq *model.RestPostVpnReq resInfracode := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(*reqInfracode), + clientManager.SetUseBody(*reqInfracode), reqInfracode, resInfracode, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -581,18 +582,18 @@ func CreateSiteToSiteVPN(nsId string, mciId string, vpnReq *model.RestPostVpnReq // check the infracode by plan method = "POST" url = fmt.Sprintf("%s/tr/%s/vpn/gcp-azure/plan", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resPlan := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resPlan, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -609,18 +610,18 @@ func CreateSiteToSiteVPN(nsId string, mciId string, vpnReq *model.RestPostVpnReq // and provide seperate api to check the status method = "POST" url = fmt.Sprintf("%s/tr/%s/vpn/gcp-azure", epTerrarium, trId) - requestBody = common.NoBody + requestBody = clientManager.NoBody resApply := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resApply, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -736,7 +737,7 @@ func retrieveEnrichmentsInfoInTerrarium(ctx context.Context, trId string, enrich // Set Terrarium endpoint epTerrarium := model.TerrariumRestUrl - requestBody := common.NoBody + requestBody := clientManager.NoBody resRetrieving := new(model.Response) // Set the start time and the expected end time @@ -747,15 +748,15 @@ func retrieveEnrichmentsInfoInTerrarium(ctx context.Context, trId string, enrich currentWaitDuration := maxWaitDuration for { - err := common.ExecuteHttpRequest( + err := clientManager.ExecuteHttpRequest( client, "GET", fmt.Sprintf("%s/tr/%s/%s?detail=refined", epTerrarium, trId, enrichments), nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resRetrieving, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err == nil { @@ -868,18 +869,18 @@ func GetSiteToSiteVPN(nsId string, mciId string, vpnId string, detail string) (m // Get the terrarium info method := "GET" url := fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -896,18 +897,18 @@ func GetSiteToSiteVPN(nsId string, mciId string, vpnId string, detail string) (m // Get resource info method = "GET" url = fmt.Sprintf("%s/tr/%s/%s?detail=%s", epTerrarium, trId, enrichments, detail) - requestBody = common.NoBody + requestBody = clientManager.NoBody resResourceInfo := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resResourceInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -1073,18 +1074,18 @@ func DeleteSiteToSiteVPN(nsId string, mciId string, vpnId string) (model.SimpleM // Get the terrarium info method := "GET" url := fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -1099,18 +1100,18 @@ func DeleteSiteToSiteVPN(nsId string, mciId string, vpnId string) (model.SimpleM // delete enrichments method = "DELETE" url = fmt.Sprintf("%s/tr/%s/%s", epTerrarium, trId, enrichments) - requestBody = common.NoBody + requestBody = clientManager.NoBody resDeleteEnrichments := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resDeleteEnrichments, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -1124,18 +1125,18 @@ func DeleteSiteToSiteVPN(nsId string, mciId string, vpnId string) (model.SimpleM // delete env method = "DELETE" url = fmt.Sprintf("%s/tr/%s/%s/env", epTerrarium, trId, enrichments) - requestBody = common.NoBody + requestBody = clientManager.NoBody resDeleteEnv := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resDeleteEnv, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -1149,18 +1150,18 @@ func DeleteSiteToSiteVPN(nsId string, mciId string, vpnId string) (model.SimpleM // delete terrarium method = "DELETE" url = fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody = common.NoBody + requestBody = clientManager.NoBody resDeleteTr := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resDeleteTr, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -1263,18 +1264,18 @@ func GetRequestStatusOfSiteToSiteVpn(nsId string, mciId string, vpnId string, re // Get the terrarium info method := "GET" url := fmt.Sprintf("%s/tr/%s", epTerrarium, trId) - requestBody := common.NoBody + requestBody := clientManager.NoBody resTrInfo := new(terrariumModel.TerrariumInfo) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(requestBody), + clientManager.SetUseBody(requestBody), &requestBody, resTrInfo, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil { @@ -1289,18 +1290,18 @@ func GetRequestStatusOfSiteToSiteVpn(nsId string, mciId string, vpnId string, re // Get resource info method = "GET" url = fmt.Sprintf("%s/tr/%s/%s/request/%s", epTerrarium, trId, enrichments, reqId) - reqReqStatus := common.NoBody + reqReqStatus := clientManager.NoBody resReqStatus := new(model.Response) - err = common.ExecuteHttpRequest( + err = clientManager.ExecuteHttpRequest( client, method, url, nil, - common.SetUseBody(reqReqStatus), + clientManager.SetUseBody(reqReqStatus), &reqReqStatus, resReqStatus, - common.VeryShortDuration, + clientManager.VeryShortDuration, ) if err != nil {