summaryrefslogtreecommitdiff
path: root/staging/src/github.com
diff options
context:
space:
mode:
authorcl2017 <chenlin.liu@daocloud.io>2023-11-28 16:13:26 +0800
committercl2017 <chenlin.liu@daocloud.io>2023-11-29 15:03:42 +0800
commitd27c6b612cc3bba2def3721122df5d5fddd45ee9 (patch)
treef19caafc06df63b42acfb28b940dd8fcd57bcdfd /staging/src/github.com
parentMerge pull request #5207 from wbc6080/update-go-version (diff)
downloadkubeedge-d27c6b612cc3bba2def3721122df5d5fddd45ee9.tar.gz
refactor mapper config
Signed-off-by: cl2017 <chenlin.liu@daocloud.io>
Diffstat (limited to 'staging/src/github.com')
-rw-r--r--staging/src/github.com/kubeedge/mapper-framework/_template/mapper/cmd/main.go18
-rw-r--r--staging/src/github.com/kubeedge/mapper-framework/_template/mapper/config.yaml3
-rw-r--r--staging/src/github.com/kubeedge/mapper-framework/pkg/config/config.go51
-rw-r--r--staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/config.go12
-rw-r--r--staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/register.go3
-rw-r--r--staging/src/github.com/kubeedge/mapper-framework/pkg/grpcclient/report.go3
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(),