From e9bb16644ff34643c9c3a430a70a4f81ed4b9739 Mon Sep 17 00:00:00 2001 From: linjieren Date: Wed, 24 Jul 2024 11:41:42 +0800 Subject: [PATCH] fix: sdk for vendor Signed-off-by: linjieren --- Makefile | 2 + .../openeuler/PilotGo/sdk/common/common.go | 2 + .../openeuler/PilotGo/sdk/common/event.go | 56 ------ .../PilotGo/sdk/plugin/client/client.go | 14 +- .../PilotGo/sdk/plugin/client/event.go | 160 ------------------ .../PilotGo/sdk/plugin/client/handler.go | 24 --- 6 files changed, 9 insertions(+), 249 deletions(-) delete mode 100644 src/vendor/gitee.com/openeuler/PilotGo/sdk/common/event.go delete mode 100644 src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/event.go diff --git a/Makefile b/Makefile index d05f6ecd..3d6da8f5 100644 --- a/Makefile +++ b/Makefile @@ -52,3 +52,5 @@ build-server-templete: ; $(info $(M)...Begin to build config_server.yaml.temple go run src/app/server/main.go templete cp -R config_server.yaml.templete ./src/config_server.yaml.templete rm -rf ./config_server.yaml.templete +vendor: ; $(info $(M)...Begin to update vendor.) @ ## update vendor + cd src && GOWORK=off && go mod vendor \ No newline at end of file diff --git a/src/vendor/gitee.com/openeuler/PilotGo/sdk/common/common.go b/src/vendor/gitee.com/openeuler/PilotGo/sdk/common/common.go index 40d57d70..9670b2e1 100644 --- a/src/vendor/gitee.com/openeuler/PilotGo/sdk/common/common.go +++ b/src/vendor/gitee.com/openeuler/PilotGo/sdk/common/common.go @@ -15,3 +15,5 @@ type CommonResult struct { func (r *CommonResult) ParseData(d interface{}) error { return json.Unmarshal(r.Data, d) } + +type EventCallback func(e *EventMessage) diff --git a/src/vendor/gitee.com/openeuler/PilotGo/sdk/common/event.go b/src/vendor/gitee.com/openeuler/PilotGo/sdk/common/event.go deleted file mode 100644 index 21968b54..00000000 --- a/src/vendor/gitee.com/openeuler/PilotGo/sdk/common/event.go +++ /dev/null @@ -1,56 +0,0 @@ -package common - -import "encoding/json" - -// event消息类型定义 -const ( - // 主机安装软件包 - MsgPackageInstall = 0 - // 主机升级软件包 - MsgPackageUpdate = 1 - // 主机卸载软件包 - MsgPackageUninstall = 2 - // 主机ip变更 - MsgIPChange = 3 - - // 平台新增主机 - MsgHostAdd = 10 - // 平台移除主机 - MsgHostRemove = 11 - - // 插件添加 - MsgPluginAdd = 20 - // 插件卸载 - MsgPluginRemove = 21 -) - -// 将 MessageData json字符串转换成指定结构体的message消息数据 -func ToMessage(d string, s interface{}) error { - return json.Unmarshal([]byte(d), s) -} - -type MDPackageInstall struct { - HostUUID string - Name string - Version string - Time string -} - -type MDPackageUpdate struct { - HostUUID string - Name string - Version string - Time string -} - -type MDPackageUninstall struct { - HostUUID string - Name string - Version string - Time string -} - -type MDIPChange struct { - HostUUID string - NewIP string -} diff --git a/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/client.go b/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/client.go index 5c936d4b..6bf95ba6 100644 --- a/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/client.go +++ b/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/client.go @@ -23,8 +23,8 @@ type Client struct { token string // 用于event消息处理 - eventChan chan *common.EventMessage - eventCallbackMap map[int]EventCallback + EventChan chan *common.EventMessage + EventCallbackMap map[int]common.EventCallback // 用于异步command及script执行结果处理机 asyncCmdResultChan chan *common.AsyncCmdResult @@ -50,8 +50,8 @@ func DefaultClient(desc *PluginInfo) *Client { global_client = &Client{ PluginInfo: desc, - eventChan: make(chan *common.EventMessage, 20), - eventCallbackMap: make(map[int]EventCallback), + EventChan: make(chan *common.EventMessage, 20), + EventCallbackMap: make(map[int]common.EventCallback), asyncCmdResultChan: make(chan *common.AsyncCmdResult, 20), cmdProcessorCallbackMap: make(map[string]CallbackHandler), @@ -90,10 +90,6 @@ func (client *Client) RegisterHandlers(router *gin.Engine) { c.Set("__internal__client_instance", client) }, tagsHandler) - api.POST("/event", func(c *gin.Context) { - c.Set("__internal__client_instance", client) - }, eventHandler) - api.PUT("/command_result", func(c *gin.Context) { c.Set("__internal__client_instance", client) }, commandResultHandler) @@ -108,7 +104,7 @@ func (client *Client) RegisterHandlers(router *gin.Engine) { // } // TODO: start command result process service - client.startEventProcessor() + // client.startEventProcessor() client.startCommandResultProcessor() } diff --git a/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/event.go b/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/event.go deleted file mode 100644 index 8d76833b..00000000 --- a/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/event.go +++ /dev/null @@ -1,160 +0,0 @@ -package client - -import ( - "encoding/json" - "errors" - "net/http" - "strconv" - "strings" - - "gitee.com/openeuler/PilotGo/sdk/common" - "gitee.com/openeuler/PilotGo/sdk/utils/httputils" -) - -type EventCallback func(e *common.EventMessage) - -// 注册event事件监听 -func (c *Client) ListenEvent(eventTypes []int, callbacks []EventCallback) error { - var eventtypes []string - for _, i := range eventTypes { - eventtypes = append(eventtypes, strconv.Itoa(i)) - } - - url := c.Server() + "/api/v1/pluginapi/listener?eventTypes=" + strings.Join(eventtypes, ",") - r, err := httputils.Put(url, &httputils.Params{ - Body: c.PluginInfo, - Cookie: map[string]string{ - TokenCookie: c.token, - }, - }) - if err != nil { - return err - } - if r.StatusCode != http.StatusOK { - return errors.New("server process error:" + strconv.Itoa(r.StatusCode)) - } - - resp := &common.CommonResult{} - if err := json.Unmarshal(r.Body, resp); err != nil { - return err - } - if resp.Code != http.StatusOK { - return errors.New(resp.Message) - } - - data := &struct { - Status string `json:"status"` - Error string `json:"error"` - }{} - if err := resp.ParseData(data); err != nil { - return err - } - for i, eventType := range eventTypes { - c.registerEventCallback(eventType, callbacks[i]) - } - return nil -} - -// 取消注册event事件监听 -func (c *Client) UnListenEvent(eventTypes []int) error { - var eventtypes []string - for _, i := range eventTypes { - eventtypes = append(eventtypes, strconv.Itoa(i)) - } - - url := c.Server() + "/api/v1/pluginapi/listener?eventTypes=" + strings.Join(eventtypes, ",") - r, err := httputils.Delete(url, &httputils.Params{ - Body: c.PluginInfo, - Cookie: map[string]string{ - TokenCookie: c.token, - }, - }) - if err != nil { - return err - } - if r.StatusCode != http.StatusOK { - return errors.New("server process error:" + strconv.Itoa(r.StatusCode)) - } - - resp := &common.CommonResult{} - if err := json.Unmarshal(r.Body, resp); err != nil { - return err - } - if resp.Code != http.StatusOK { - return errors.New(resp.Message) - } - - data := &struct { - Status string `json:"status"` - Error string `json:"error"` - }{} - if err := resp.ParseData(data); err != nil { - return err - } - - for _, eventType := range eventTypes { - c.unregisterEventCallback(eventType) - } - return nil -} - -// 发布event事件 -func (c *Client) PublishEvent(msg common.EventMessage) error { - url := c.Server() + "/api/v1/pluginapi/publish_event" - r, err := httputils.Put(url, &httputils.Params{ - Body: &msg, - Cookie: map[string]string{ - TokenCookie: c.token, - }, - }) - if err != nil { - return err - } - if r.StatusCode != http.StatusOK { - return errors.New("server process error:" + strconv.Itoa(r.StatusCode)) - } - - resp := &common.CommonResult{} - if err := json.Unmarshal(r.Body, resp); err != nil { - return err - } - if resp.Code != http.StatusOK { - return errors.New(resp.Message) - } - - data := &struct { - Status string `json:"status"` - Error string `json:"error"` - }{} - if err := resp.ParseData(data); err != nil { - return err - } - return nil -} - -func (c *Client) registerEventCallback(eventType int, callback EventCallback) { - c.eventCallbackMap[eventType] = callback -} - -func (c *Client) unregisterEventCallback(eventType int) { - delete(c.eventCallbackMap, eventType) -} - -func (c *Client) ProcessEvent(event *common.EventMessage) { - c.eventChan <- event -} - -func (c *Client) startEventProcessor() { - go func() { - for { - e := <-c.eventChan - - // TODO: process event message - cb, ok := c.eventCallbackMap[e.MessageType] - if ok { - cb(e) - } - } - }() - -} diff --git a/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/handler.go b/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/handler.go index b8c9def7..109ffe06 100644 --- a/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/handler.go +++ b/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/handler.go @@ -85,30 +85,6 @@ func bindHandler(c *gin.Context) { response.Success(c, nil, "bind server success") } -func eventHandler(c *gin.Context) { - j, err := io.ReadAll(c.Request.Body) // 接收数据 - if err != nil { - logger.Error("没获取到:%s", err.Error()) - return - } - var msg common.EventMessage - if err := json.Unmarshal(j, &msg); err != nil { - logger.Error("反序列化结果失败%s", err.Error()) - return - } - - v, ok := c.Get("__internal__client_instance") - if !ok { - return - } - client, ok := v.(*Client) - if !ok { - return - } - - client.ProcessEvent(&msg) -} - func commandResultHandler(c *gin.Context) { j, err := io.ReadAll(c.Request.Body) // 接收数据 if err != nil { -- Gitee