diff options
| author | cl2017 <chenlin.liu@daocloud.io> | 2023-11-28 16:13:26 +0800 |
|---|---|---|
| committer | cl2017 <chenlin.liu@daocloud.io> | 2023-11-29 15:03:42 +0800 |
| commit | d27c6b612cc3bba2def3721122df5d5fddd45ee9 (patch) | |
| tree | f19caafc06df63b42acfb28b940dd8fcd57bcdfd /staging/src/github.com | |
| parent | Merge pull request #5207 from wbc6080/update-go-version (diff) | |
| download | kubeedge-d27c6b612cc3bba2def3721122df5d5fddd45ee9.tar.gz | |
refactor mapper config
Signed-off-by: cl2017 <chenlin.liu@daocloud.io>
Diffstat (limited to 'staging/src/github.com')
6 files changed, 24 insertions, 66 deletions
diff --git a/staging/src/github.com/kubeedge/mapper-framework/_template/mapper/cmd/main.go b/staging/src/github.com/kubeedge/mapper-framework/_template/mapper/cmd/main.go index 2f398d589..eb575f652 100644 --- a/staging/src/github.com/kubeedge/mapper-framework/_template/mapper/cmd/main.go +++ b/staging/src/github.com/kubeedge/mapper-framework/_template/mapper/cmd/main.go @@ -9,7 +9,6 @@ import ( "github.com/kubeedge/Template/device" "github.com/kubeedge/Template/pkg/common" "github.com/kubeedge/Template/pkg/config" - "github.com/kubeedge/Template/pkg/grpcclient" "github.com/kubeedge/Template/pkg/grpcserver" "github.com/kubeedge/Template/pkg/httpserver" "github.com/kubeedge/Template/pkg/util/parse" @@ -17,19 +16,17 @@ import ( func main() { var err error - var c config.Config + var c *config.Config klog.InitFlags(nil) defer klog.Flush() - if err = c.Parse(); err != nil { + if c, err = config.Parse(); err != nil { klog.Fatal(err) os.Exit(1) } klog.Infof("config: %+v", c) - grpcclient.Init(&c) - // start grpc server grpcServer := grpcserver.NewServer( grpcserver.Config{ @@ -40,21 +37,12 @@ func main() { ) panel := device.NewDevPanel() - err = panel.DevInit(&c) + err = panel.DevInit(c) if err != nil && !errors.Is(err, parse.ErrEmptyData) { klog.Fatal(err) } klog.Infoln("devInit finished") - // register to edgecore - // if dev init mode is register, mapper's dev will init when registry to edgecore - if c.DevInit.Mode != common.DevInitModeRegister { - klog.Infoln("======dev init mode is not register, will register to edgecore") - if _, _, err = grpcclient.RegisterMapper(false); err != nil { - klog.Fatal(err) - } - klog.Infoln("registerMapper finished") - } go panel.DevStart() httpServer := httpserver.NewRestServer(panel) diff --git a/staging/src/github.com/kubeedge/mapper-framework/_template/mapper/config.yaml b/staging/src/github.com/kubeedge/mapper-framework/_template/mapper/config.yaml index 34e7ed9ad..6fc24068f 100644 --- a/staging/src/github.com/kubeedge/mapper-framework/_template/mapper/config.yaml +++ b/staging/src/github.com/kubeedge/mapper-framework/_template/mapper/config.yaml @@ -7,6 +7,3 @@ common: protocol: # TODO add your protocol name address: 127.0.0.1 edgecore_sock: /etc/kubeedge/dmi.sock -dev_init: - mode: register - diff --git a/staging/src/github.com/kubeedge/mapper-framework/pkg/config/config.go b/staging/src/github.com/kubeedge/mapper-framework/pkg/config/config.go index 65f69dff7..3a884316c 100644 --- a/staging/src/github.com/kubeedge/mapper-framework/pkg/config/config.go +++ b/staging/src/github.com/kubeedge/mapper-framework/pkg/config/config.go @@ -17,25 +17,20 @@ limitations under the License. package config import ( - "errors" "io/ioutil" - "os" - "strings" "github.com/spf13/pflag" "gopkg.in/yaml.v2" "k8s.io/klog/v2" - - "github.com/kubeedge/Template/pkg/common" ) var defaultConfigFile = "./config.yaml" +var config *Config // Config is the common mapper configuration. type Config struct { GrpcServer GRPCServer `yaml:"grpc_server"` Common Common `yaml:"common"` - DevInit DevInit `yaml:"dev_init"` } type GRPCServer struct { @@ -51,13 +46,8 @@ type Common struct { EdgeCoreSock string `yaml:"edgecore_sock"` } -type DevInit struct { - Mode string `yaml:"mode"` - Configmap string `yaml:"configmap"` -} - // Parse the configuration file. If failed, return error. -func (c *Config) Parse() error { +func Parse() (c *Config, err error) { var level klog.Level var loglevel string var configFile string @@ -65,35 +55,24 @@ func (c *Config) Parse() error { pflag.StringVar(&loglevel, "v", "1", "log level") pflag.StringVar(&configFile, "config-file", defaultConfigFile, "Config file name") pflag.Parse() + + if err = level.Set(loglevel); err != nil { + return nil, err + } + + c = &Config{} cf, err := ioutil.ReadFile(configFile) if err != nil { - return err + return nil, err } if err = yaml.Unmarshal(cf, c); err != nil { - return err - } - if err = level.Set(loglevel); err != nil { - return err + return nil, err } - switch c.DevInit.Mode { - case common.DevInitModeConfigmap: - if _, err := ioutil.ReadFile(c.DevInit.Configmap); err != nil { - if !os.IsNotExist(err) { - return err - } - c.DevInit.Configmap = strings.TrimSpace(os.Getenv("DEVICE_PROFILE")) - } - if strings.TrimSpace(c.DevInit.Configmap) == "" { - return errors.New("can not parse configmap") - } - case common.DevInitModeRegister: - case "": // if mode is nil, use meta server mode - c.DevInit.Mode = common.DevInitModeRegister - fallthrough - default: - return errors.New("unsupported dev init mode " + c.DevInit.Mode) - } + config = c + return c, nil +} - return nil +func Cfg() *Config { + return config } diff --git a/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/config.go b/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/config.go deleted file mode 100644 index 7de4d6233..000000000 --- a/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/config.go +++ /dev/null @@ -1,12 +0,0 @@ -package grpcclient - -import ( - "github.com/kubeedge/Template/pkg/config" -) - -var cfg *config.Config - -func Init(c *config.Config) { - cfg = &config.Config{} - cfg = c -} diff --git a/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/register.go b/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/register.go index f582de56e..6d7cdbff0 100644 --- a/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/register.go +++ b/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/register.go @@ -9,11 +9,14 @@ import ( "google.golang.org/grpc" "github.com/kubeedge/Template/pkg/common" + "github.com/kubeedge/Template/pkg/config" dmiapi "github.com/kubeedge/Template/pkg/dmi-api" ) // RegisterMapper if withData is true, edgecore will send device and model list. func RegisterMapper(withData bool) ([]*dmiapi.Device, []*dmiapi.DeviceModel, error) { + cfg := config.Cfg() + // connect grpc server conn, err := grpc.Dial(cfg.Common.EdgeCoreSock, grpc.WithInsecure(), diff --git a/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/report.go b/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/report.go index 4e18d9b82..57cb1f1fd 100644 --- a/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/report.go +++ b/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/report.go @@ -8,11 +8,14 @@ import ( "google.golang.org/grpc" + "github.com/kubeedge/Template/pkg/config" dmiapi "github.com/kubeedge/Template/pkg/dmi-api" ) // ReportDeviceStatus report device status to edgecore func ReportDeviceStatus(request *dmiapi.ReportDeviceStatusRequest) error { + cfg := config.Cfg() + conn, err := grpc.Dial(cfg.Common.EdgeCoreSock, grpc.WithInsecure(), grpc.WithBlock(), |
