summaryrefslogtreecommitdiff
path: root/edgemesh
diff options
context:
space:
mode:
authorzhangjie <iamkadisi@163.com>2020-01-10 14:10:55 +0800
committerzhangjie <iamkadisi@163.com>2020-01-10 14:10:55 +0800
commita2573e76a9771aa099a45c7ac31ff5f50dd62ab9 (patch)
treeb93f866daf58c2de89113ecf1b548706c72c75d1 /edgemesh
parentMerge pull request #1373 from fisherxu/reliable-crd (diff)
downloadkubeedge-a2573e76a9771aa099a45c7ac31ff5f50dd62ab9.tar.gz
Optimize edgemesh configuration
Signed-off-by: zhangjie <iamkadisi@163.com>
Diffstat (limited to 'edgemesh')
-rw-r--r--edgemesh/pkg/config/config.go39
-rw-r--r--edgemesh/pkg/module.go2
-rw-r--r--edgemesh/pkg/resolver/resolver.go4
-rw-r--r--edgemesh/pkg/server/server.go4
4 files changed, 45 insertions, 4 deletions
diff --git a/edgemesh/pkg/config/config.go b/edgemesh/pkg/config/config.go
new file mode 100644
index 000000000..b2f5e80a4
--- /dev/null
+++ b/edgemesh/pkg/config/config.go
@@ -0,0 +1,39 @@
+package config
+
+import (
+ "os"
+ "sync"
+
+ "k8s.io/klog"
+
+ "github.com/kubeedge/beehive/pkg/common/config"
+)
+
+var c Configure
+var once sync.Once
+
+type Configure struct {
+ StrategyName string
+}
+
+func InitConfigure() {
+ once.Do(func() {
+ var errs []error
+ if len(errs) != 0 {
+ for _, e := range errs {
+ klog.Errorf("%v", e)
+ }
+ klog.Error("init edgemesh config error, exit")
+ os.Exit(1)
+ }
+ strategyName := config.CONFIG.GetConfigurationByKey("mesh.loadbalance.strategy-name").(string)
+ c = Configure{
+ StrategyName: strategyName,
+ }
+ klog.Infof("init edgemesh config successfully,config info %++v", c)
+ })
+
+}
+func Get() *Configure {
+ return &c
+}
diff --git a/edgemesh/pkg/module.go b/edgemesh/pkg/module.go
index 2b3f4d088..ee869a17a 100644
--- a/edgemesh/pkg/module.go
+++ b/edgemesh/pkg/module.go
@@ -6,6 +6,7 @@ import (
"github.com/kubeedge/beehive/pkg/core"
beehiveContext "github.com/kubeedge/beehive/pkg/core/context"
"github.com/kubeedge/kubeedge/edge/pkg/common/modules"
+ meshconfig "github.com/kubeedge/kubeedge/edgemesh/pkg/config"
"github.com/kubeedge/kubeedge/edgemesh/pkg/constant"
"github.com/kubeedge/kubeedge/edgemesh/pkg/proxy"
"github.com/kubeedge/kubeedge/edgemesh/pkg/server"
@@ -17,6 +18,7 @@ type EdgeMesh struct {
// Register register edgemesh
func Register() {
+ meshconfig.InitConfigure()
core.Register(&EdgeMesh{})
}
diff --git a/edgemesh/pkg/resolver/resolver.go b/edgemesh/pkg/resolver/resolver.go
index 011983519..1a576b049 100644
--- a/edgemesh/pkg/resolver/resolver.go
+++ b/edgemesh/pkg/resolver/resolver.go
@@ -10,7 +10,7 @@ import (
"github.com/go-chassis/go-chassis/core/invocation"
"k8s.io/klog"
- mconfig "github.com/kubeedge/beehive/pkg/common/config"
+ "github.com/kubeedge/kubeedge/edgemesh/pkg/config"
)
type Resolver interface {
@@ -60,7 +60,7 @@ func (resolver *MyResolver) Resolve(data chan []byte, stop chan interface{}, inv
i.SourceServiceID = ""
i.Protocol = "rest"
i.Args = req
- i.Strategy = mconfig.CONFIG.GetConfigurationByKey("mesh.loadbalance.strategy-name").(string)
+ i.Strategy = config.Get().StrategyName
i.Reply = &http.Response{}
invCallback("http", *i)
}
diff --git a/edgemesh/pkg/server/server.go b/edgemesh/pkg/server/server.go
index b17c352c1..15a0a36f7 100644
--- a/edgemesh/pkg/server/server.go
+++ b/edgemesh/pkg/server/server.go
@@ -7,7 +7,7 @@ import (
"github.com/go-chassis/go-chassis/core/loadbalancer"
"github.com/go-chassis/go-chassis/core/registry"
- mconfig "github.com/kubeedge/beehive/pkg/common/config"
+ meshconfig "github.com/kubeedge/kubeedge/edgemesh/pkg/config"
_ "github.com/kubeedge/kubeedge/edgemesh/pkg/panel"
edgeregistry "github.com/kubeedge/kubeedge/edgemesh/pkg/registry"
"github.com/kubeedge/kubeedge/edgemesh/pkg/resolver"
@@ -31,7 +31,7 @@ func Start() {
control.Init(opts)
opt := registry.Options{}
registry.DefaultServiceDiscoveryService = edgeregistry.NewServiceDiscovery(opt)
- myStrategy := mconfig.CONFIG.GetConfigurationByKey("mesh.loadbalance.strategy-name").(string)
+ myStrategy := meshconfig.Get().StrategyName
loadbalancer.InstallStrategy(myStrategy, func() loadbalancer.Strategy {
switch myStrategy {
case "RoundRobin":