You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2020/12/05 02:47:53 UTC

[servicecomb-service-center] branch test updated (c959489 -> f1ee525)

This is an automated email from the ASF dual-hosted git repository.

littlecui pushed a change to branch test
in repository https://gitbox.apache.org/repos/asf/servicecomb-service-center.git.


 discard c959489  SCB-2094 Bug fixes: Unavailable SSL
     new f1ee525  SCB-2094 Bug fixes: Unavailable SSL

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (c959489)
            \
             N -- N -- N   refs/heads/test (f1ee525)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 datasource/etcd/cache/common.go | 12 ++++++------
 datasource/etcd/engine.go       | 28 ++++++++++++++--------------
 datasource/etcd/etcd.go         |  2 +-
 datasource/etcd/ms.go           |  3 ---
 datasource/mongo/mongo.go       |  2 +-
 pkg/util/context.go             |  8 ++++----
 server/core/microservice.go     |  2 +-
 7 files changed, 27 insertions(+), 30 deletions(-)


[servicecomb-service-center] 01/01: SCB-2094 Bug fixes: Unavailable SSL

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

littlecui pushed a commit to branch test
in repository https://gitbox.apache.org/repos/asf/servicecomb-service-center.git

commit f1ee525201f6bf1cd8624dad6e4bcbd37173fa0d
Author: little-cui <su...@qq.com>
AuthorDate: Fri Dec 4 23:27:11 2020 +0800

    SCB-2094 Bug fixes: Unavailable SSL
---
 datasource/etcd/cache/common.go       | 12 ++++++------
 datasource/etcd/client/remote/etcd.go |  7 +++++--
 datasource/etcd/engine.go             | 28 ++++++++++++++--------------
 datasource/etcd/etcd.go               |  2 +-
 datasource/etcd/ms.go                 |  3 ---
 datasource/mongo/mongo.go             |  2 +-
 pkg/util/context.go                   |  8 ++++----
 server/bootstrap/bootstrap.go         |  2 +-
 server/config/config.go               |  5 +----
 server/config/server.go               |  5 +----
 server/core/microservice.go           |  2 +-
 server/server.go                      |  1 +
 12 files changed, 36 insertions(+), 41 deletions(-)

diff --git a/datasource/etcd/cache/common.go b/datasource/etcd/cache/common.go
index 69bd802..8e501f8 100644
--- a/datasource/etcd/cache/common.go
+++ b/datasource/etcd/cache/common.go
@@ -23,17 +23,17 @@ import (
 	"sync"
 
 	"github.com/apache/servicecomb-service-center/datasource"
+	"github.com/apache/servicecomb-service-center/pkg/util"
 )
 
-type ContextKey string
 type ClustersIndex map[string]int
 
 const (
-	CtxFindConsumer         ContextKey = "_consumer"
-	CtxFindProvider         ContextKey = "_provider"
-	CtxFindProviderInstance ContextKey = "_provider_instance"
-	CtxFindTags             ContextKey = "_tags"
-	CtxFindRequestRev       ContextKey = "_rev"
+	CtxFindConsumer         util.CtxKey = "_consumer"
+	CtxFindProvider         util.CtxKey = "_provider"
+	CtxFindProviderInstance util.CtxKey = "_provider_instance"
+	CtxFindTags             util.CtxKey = "_tags"
+	CtxFindRequestRev       util.CtxKey = "_rev"
 
 	Find = "_find"
 	Dep  = "_dep"
diff --git a/datasource/etcd/client/remote/etcd.go b/datasource/etcd/client/remote/etcd.go
index 4f4d4a6..1dba232 100644
--- a/datasource/etcd/client/remote/etcd.go
+++ b/datasource/etcd/client/remote/etcd.go
@@ -73,6 +73,9 @@ func (c *Client) Initialize() (err error) {
 		// parse the endpoints from config
 		c.parseEndpoints()
 	}
+	log.Info(fmt.Sprintf("parse %v -> endpoints: %v, ssl: %v",
+		etcd.Configuration().Clusters, c.Endpoints, etcd.Configuration().SslEnabled))
+
 	if c.TLSConfig == nil && etcd.Configuration().SslEnabled {
 		var err error
 		// go client tls限制,提供身份证书、不认证服务端、不校验CN
@@ -99,8 +102,8 @@ func (c *Client) Initialize() (err error) {
 
 	close(c.ready)
 
-	log.Warnf("get etcd client %v completed, auto sync endpoints interval is %s.",
-		c.Endpoints, c.AutoSyncInterval)
+	log.Warn(fmt.Sprintf("get etcd client %v completed, ssl: %v, dial timeout: %s, auto sync endpoints interval is %s.",
+		c.Endpoints, c.TLSConfig != nil, c.DialTimeout, c.AutoSyncInterval))
 	return
 }
 
diff --git a/datasource/etcd/engine.go b/datasource/etcd/engine.go
index 5404a6f..62c934b 100644
--- a/datasource/etcd/engine.go
+++ b/datasource/etcd/engine.go
@@ -25,11 +25,11 @@ import (
 	"strings"
 	"time"
 
+	"github.com/apache/servicecomb-service-center/datasource"
 	"github.com/apache/servicecomb-service-center/datasource/etcd/path"
+	serviceUtil "github.com/apache/servicecomb-service-center/datasource/etcd/util"
 	"github.com/apache/servicecomb-service-center/pkg/cluster"
 	"github.com/apache/servicecomb-service-center/pkg/gopool"
-
-	serviceUtil "github.com/apache/servicecomb-service-center/datasource/etcd/util"
 	"github.com/apache/servicecomb-service-center/pkg/log"
 	"github.com/apache/servicecomb-service-center/pkg/util"
 	"github.com/apache/servicecomb-service-center/server/core"
@@ -46,7 +46,8 @@ func (ds *DataSource) SelfRegister(ctx context.Context) error {
 	return nil
 }
 
-func (ds *DataSource) selfRegister(ctx context.Context) error {
+func (ds *DataSource) selfRegister(pCtx context.Context) error {
+	ctx := core.AddDefaultContextValue(pCtx)
 	err := ds.registerService(ctx)
 	if err != nil {
 		return err
@@ -55,8 +56,7 @@ func (ds *DataSource) selfRegister(ctx context.Context) error {
 	return ds.registerInstance(ctx)
 }
 
-func (ds *DataSource) registerService(pCtx context.Context) error {
-	ctx := core.AddDefaultContextValue(pCtx)
+func (ds *DataSource) registerService(ctx context.Context) error {
 	respE, err := core.ServiceAPI.Exist(ctx, core.GetExistenceRequest())
 	if err != nil {
 		log.Error("query service center existence failed", err)
@@ -67,7 +67,7 @@ func (ds *DataSource) registerService(pCtx context.Context) error {
 		respG, err := core.ServiceAPI.GetOne(ctx, core.GetServiceRequest(respE.ServiceId))
 		if respG.Response.GetCode() != pb.ResponseSuccess {
 			log.Errorf(err, "query service center service[%s] info failed", respE.ServiceId)
-			return fmt.Errorf("service center service file lost")
+			return datasource.ErrServiceNotExists
 		}
 		core.Service = respG.Service
 		return nil
@@ -78,27 +78,27 @@ func (ds *DataSource) registerService(pCtx context.Context) error {
 		log.Error("register service center failed", err)
 		return err
 	}
+	if respS.Response.GetCode() != pb.ResponseSuccess {
+		log.Error("register service center failed, msg: "+respS.Response.GetMessage(), nil)
+		return errors.New(respS.Response.GetMessage())
+	}
 	core.Service.ServiceId = respS.ServiceId
 	log.Infof("register service center service[%s]", respS.ServiceId)
 	return nil
 }
 
-func (ds *DataSource) registerInstance(pCtx context.Context) error {
+func (ds *DataSource) registerInstance(ctx context.Context) error {
 	core.Instance.InstanceId = ""
 	core.Instance.ServiceId = core.Service.ServiceId
-
-	ctx := core.AddDefaultContextValue(pCtx)
-
 	respI, err := core.InstanceAPI.Register(ctx, core.RegisterInstanceRequest())
 	if err != nil {
 		log.Error("register failed", err)
 		return err
 	}
 	if respI.Response.GetCode() != pb.ResponseSuccess {
-		err = fmt.Errorf("register service center[%s] instance failed, %s",
-			core.Instance.ServiceId, respI.Response.GetMessage())
-		log.Error(err.Error(), nil)
-		return err
+		log.Error(fmt.Sprintf("register service center[%s] instance failed, %s",
+			core.Instance.ServiceId, respI.Response.GetMessage()), nil)
+		return errors.New(respI.Response.GetMessage())
 	}
 	core.Instance.InstanceId = respI.InstanceId
 	log.Infof("register service center instance[%s/%s], endpoints is %s",
diff --git a/datasource/etcd/etcd.go b/datasource/etcd/etcd.go
index 23ea7b4..a8d136d 100644
--- a/datasource/etcd/etcd.go
+++ b/datasource/etcd/etcd.go
@@ -56,7 +56,7 @@ type DataSource struct {
 
 func NewDataSource(opts datasource.Options) (datasource.DataSource, error) {
 	// TODO: construct a reasonable DataSource instance
-	log.Warnf("dependency data source enable etcd mode")
+	log.Warnf("data source enable etcd mode")
 
 	inst := &DataSource{
 		SchemaEditable:    opts.SchemaEditable,
diff --git a/datasource/etcd/ms.go b/datasource/etcd/ms.go
index f439f33..1527490 100644
--- a/datasource/etcd/ms.go
+++ b/datasource/etcd/ms.go
@@ -52,8 +52,6 @@ func (ds *DataSource) RegisterService(ctx context.Context, request *pb.CreateSer
 	service := request.Service
 	serviceFlag := util.StringJoin([]string{
 		service.Environment, service.AppId, service.ServiceName, service.Version}, "/")
-
-	datasource.SetServiceDefaultValue(service)
 	domainProject := util.ParseDomainProject(ctx)
 
 	serviceKey := &pb.MicroServiceKey{
@@ -67,7 +65,6 @@ func (ds *DataSource) RegisterService(ctx context.Context, request *pb.CreateSer
 
 	reporter := checkQuota(ctx, domainProject)
 	defer reporter.Close(ctx)
-
 	if reporter != nil && reporter.Err != nil {
 		log.Errorf(reporter.Err, "create micro-service[%s] failed, operator: %s",
 			serviceFlag, remoteIP)
diff --git a/datasource/mongo/mongo.go b/datasource/mongo/mongo.go
index 6e96711..0dc6870 100644
--- a/datasource/mongo/mongo.go
+++ b/datasource/mongo/mongo.go
@@ -39,7 +39,7 @@ type DataSource struct {
 
 func NewDataSource(opts datasource.Options) (datasource.DataSource, error) {
 	// TODO: construct a reasonable DataSource instance
-	log.Warn("dependency data source enable etcd mode")
+	log.Warn("data source enable mongo mode")
 
 	inst := &DataSource{
 		SchemaEditable: opts.SchemaEditable,
diff --git a/pkg/util/context.go b/pkg/util/context.go
index 220af73..b77bbc2 100644
--- a/pkg/util/context.go
+++ b/pkg/util/context.go
@@ -24,10 +24,10 @@ import (
 )
 
 const (
-	CtxDomain        = "domain"
-	CtxProject       = "project"
-	CtxTargetDomain  = "target-domain"
-	CtxTargetProject = "target-project"
+	CtxDomain        CtxKey = "domain"
+	CtxProject       CtxKey = "project"
+	CtxTargetDomain  CtxKey = "target-domain"
+	CtxTargetProject CtxKey = "target-project"
 )
 
 type StringContext struct {
diff --git a/server/bootstrap/bootstrap.go b/server/bootstrap/bootstrap.go
index 07f3deb..e42b4aa 100644
--- a/server/bootstrap/bootstrap.go
+++ b/server/bootstrap/bootstrap.go
@@ -16,8 +16,8 @@
  */
 package bootstrap
 
-//etcd
 import (
+	//etcd
 	_ "github.com/apache/servicecomb-service-center/datasource/etcd/bootstrap"
 
 	//mongo
diff --git a/server/config/config.go b/server/config/config.go
index 91545ad..facab7a 100644
--- a/server/config/config.go
+++ b/server/config/config.go
@@ -149,10 +149,7 @@ func newInfo() ServerInformation {
 
 			EnablePProf: GetInt("server.pprof.mode", 0, WithStandby("enable_pprof")) != 0,
 
-			SslEnabled:    GetInt("ssl.mode", 1, WithStandby("ssl_mode")) != 0,
-			SslMinVersion: GetString("ssl.minVersion", "TLSv1.2", WithStandby("ssl_min_version")),
-			SslVerifyPeer: GetInt("ssl.verifyClient", 1, WithStandby("ssl_verify_client")) != 0,
-			SslCiphers:    GetString("ssl.ciphers", "", WithStandby("ssl_ciphers")),
+			SslEnabled: GetInt("ssl.mode", 1, WithStandby("ssl_mode")) != 0,
 
 			CompactIndexDelta: GetInt64("registry.compact.indexDelta", 100, WithStandby("compact_index_delta")),
 			CompactInterval:   GetDuration("registry.compact.interval", 12*time.Hour, WithStandby("compact_interval")),
diff --git a/server/config/server.go b/server/config/server.go
index f48a63e..c0138af 100644
--- a/server/config/server.go
+++ b/server/config/server.go
@@ -36,10 +36,7 @@ type ServerConfig struct {
 	LimitConnections int64  `json:"limitConnections"`
 	LimitIPLookup    string `json:"limitIPLookup"`
 
-	SslEnabled    bool   `json:"sslEnabled,string"`
-	SslMinVersion string `json:"sslMinVersion"`
-	SslVerifyPeer bool   `json:"sslVerifyPeer,string"`
-	SslCiphers    string `json:"sslCiphers"`
+	SslEnabled bool `json:"sslEnabled,string"`
 
 	AutoSyncInterval  time.Duration `json:"-"`
 	CompactIndexDelta int64         `json:"-"`
diff --git a/server/core/microservice.go b/server/core/microservice.go
index cb0ddbd..a79e410 100644
--- a/server/core/microservice.go
+++ b/server/core/microservice.go
@@ -49,7 +49,7 @@ const (
 	RegistryDefaultLeaseRenewalinterval int32 = 30
 	RegistryDefaultLeaseRetrytimes      int32 = 3
 
-	CtxScSelf = "_sc_self"
+	CtxScSelf util.CtxKey = "_sc_self"
 )
 
 func init() {
diff --git a/server/server.go b/server/server.go
index 2453151..5440e9e 100644
--- a/server/server.go
+++ b/server/server.go
@@ -111,6 +111,7 @@ func (s *ServiceCenterServer) initDatasource() {
 	kind := datasource.ImplName(config.GetString("registry.kind", "", config.WithStandby("registry_plugin")))
 	if err := datasource.Init(datasource.Options{
 		PluginImplName:    kind,
+		SslEnabled:        config.GetSSL().SslEnabled,
 		InstanceTTL:       config.GetRegistry().InstanceTTL,
 		SchemaEditable:    config.GetRegistry().SchemaEditable,
 		CompactInterval:   config.GetRegistry().CompactInterval,