You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by as...@apache.org on 2018/01/10 08:03:26 UTC

[incubator-servicecomb-service-center] branch master updated: SCB-160 Support empty environment scene (#247)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new fbbe180  SCB-160 Support empty environment scene (#247)
fbbe180 is described below

commit fbbe18037c66fd4b11e813dabe8e17d049daee05
Author: little-cui <su...@qq.com>
AuthorDate: Wed Jan 10 16:03:24 2018 +0800

    SCB-160 Support empty environment scene (#247)
    
    * SCB-160 Support empty environment scene
    
    (cherry picked from commit 3644e13)
    
    * SCB-160 Fix UT failure.
    
    (cherry picked from commit e93aba6)
    
    * SCB-160 Fix UT failure.
---
 server/core/key_generator.go                     | 35 ++++--------------------
 server/core/microservice.go                      |  6 ++--
 server/service/event/dependency_event_handler.go |  9 ++----
 server/service/instances.go                      |  2 +-
 server/service/service_dependency.go             |  2 --
 server/service/service_dependency_test.go        | 16 ++++++-----
 server/service/util/dependency.go                | 11 --------
 server/service/util/microservice_util.go         |  3 --
 server/service/util/util_suite_test.go           |  2 +-
 9 files changed, 21 insertions(+), 65 deletions(-)

diff --git a/server/core/key_generator.go b/server/core/key_generator.go
index 4161343..cdd0e80 100644
--- a/server/core/key_generator.go
+++ b/server/core/key_generator.go
@@ -19,7 +19,6 @@ package core
 import (
 	"github.com/apache/incubator-servicecomb-service-center/pkg/util"
 	pb "github.com/apache/incubator-servicecomb-service-center/server/core/proto"
-	"strings"
 )
 
 const (
@@ -150,17 +149,9 @@ func GenerateRuleIndexKey(domainProject string, serviceId string, attr string, p
 }
 
 func GenerateServiceIndexKey(key *pb.MicroServiceKey) string {
-	appId := key.AppId
-	if len(strings.TrimSpace(appId)) == 0 {
-		key.AppId = REGISTRY_APP_ID
-	}
-	env := key.Environment
-	if len(strings.TrimSpace(env)) == 0 {
-		env = pb.ENV_DEV
-	}
 	return util.StringJoin([]string{
 		GetServiceIndexRootKey(key.Tenant),
-		env,
+		key.Environment,
 		key.AppId,
 		key.ServiceName,
 		key.Version,
@@ -168,17 +159,9 @@ func GenerateServiceIndexKey(key *pb.MicroServiceKey) string {
 }
 
 func GenerateServiceAliasKey(key *pb.MicroServiceKey) string {
-	appId := key.AppId
-	if len(strings.TrimSpace(appId)) == 0 {
-		key.AppId = REGISTRY_APP_ID
-	}
-	env := key.Environment
-	if len(strings.TrimSpace(env)) == 0 {
-		env = pb.ENV_DEV
-	}
 	return util.StringJoin([]string{
 		GetServiceAliasRootKey(key.Tenant),
-		env,
+		key.Environment,
 		key.AppId,
 		key.Alias,
 		key.Version,
@@ -242,27 +225,19 @@ func GenerateInstanceLeaseKey(domainProject string, serviceId string, instanceId
 }
 
 func GenerateServiceDependencyRuleKey(serviceType string, domainProject string, in *pb.MicroServiceKey) string {
-	appId := in.AppId
-	if len(strings.TrimSpace(appId)) == 0 {
-		appId = REGISTRY_APP_ID
-	}
-	env := in.Environment
-	if len(strings.TrimSpace(env)) == 0 {
-		env = pb.ENV_DEV
-	}
 	if in.ServiceName == "*" {
 		return util.StringJoin([]string{
 			GetServiceDependencyRuleRootKey(domainProject),
 			serviceType,
-			env,
+			in.Environment,
 			in.ServiceName,
 		}, "/")
 	}
 	return util.StringJoin([]string{
 		GetServiceDependencyRuleRootKey(domainProject),
 		serviceType,
-		env,
-		appId,
+		in.Environment,
+		in.AppId,
 		in.ServiceName,
 		in.Version,
 	}, "/")
diff --git a/server/core/microservice.go b/server/core/microservice.go
index 73f885b..c357f54 100644
--- a/server/core/microservice.go
+++ b/server/core/microservice.go
@@ -28,7 +28,7 @@ import (
 var (
 	Service  *pb.MicroService
 	Instance *pb.MicroServiceInstance
-	isAuth   bool
+	isShared bool
 )
 
 const (
@@ -87,11 +87,11 @@ func IsDefaultDomainProject(domainProject string) bool {
 }
 
 func SetSharedMode(b bool) {
-	isAuth = b
+	isShared = b
 }
 
 func IsShared(key *pb.MicroServiceKey) bool {
-	if !isAuth {
+	if !isShared {
 		// shared micro-service only can be registered in auth mode.
 		return false
 	}
diff --git a/server/service/event/dependency_event_handler.go b/server/service/event/dependency_event_handler.go
index fb367e2..6789a14 100644
--- a/server/service/event/dependency_event_handler.go
+++ b/server/service/event/dependency_event_handler.go
@@ -117,12 +117,9 @@ func (h *DependencyEventHandler) Handle() error {
 		return nil
 	}
 
-	var (
-		r   *pb.ConsumerDependency = &pb.ConsumerDependency{}
-		ctx context.Context        = context.Background()
-	)
-
+	ctx := context.Background()
 	for _, kv := range resp.Kvs {
+		r := &pb.ConsumerDependency{}
 		consumerId, domainProject, data := pb.GetInfoFromDependencyQueueKV(kv)
 
 		err := json.Unmarshal(data, r)
@@ -136,8 +133,6 @@ func (h *DependencyEventHandler) Handle() error {
 			continue
 		}
 
-		serviceUtil.SetDependencyDefaultValue(r)
-
 		consumerFlag := util.StringJoin([]string{r.Consumer.AppId, r.Consumer.ServiceName, r.Consumer.Version}, "/")
 		consumerInfo := pb.DependenciesToKeys([]*pb.MicroServiceKey{r.Consumer}, domainProject)[0]
 		providersInfo := pb.DependenciesToKeys(r.Providers, domainProject)
diff --git a/server/service/instances.go b/server/service/instances.go
index 8fdbd6a..e2838ec 100644
--- a/server/service/instances.go
+++ b/server/service/instances.go
@@ -572,7 +572,7 @@ func (s *InstanceService) Find(ctx context.Context, in *pb.FindInstancesRequest)
 		// only allow shared micro-service instances found in different domains.
 		util.SetTargetDomainProject(ctx, util.ParseDomain(ctx), util.ParseProject(ctx))
 		provider.Tenant = util.ParseTargetDomainProject(ctx)
-		findFlag += "(" + provider.Environment + " services of the same domain)"
+		findFlag += "('" + provider.Environment + "' services of the same domain)"
 	}
 
 	// 版本规则
diff --git a/server/service/service_dependency.go b/server/service/service_dependency.go
index 1b36afa..c5857f1 100644
--- a/server/service/service_dependency.go
+++ b/server/service/service_dependency.go
@@ -55,8 +55,6 @@ func (s *MicroServiceService) AddOrUpdateDependencies(ctx context.Context, depen
 			return serviceUtil.BadParamsResponse("Provider is invalid").Response, nil
 		}
 
-		serviceUtil.SetDependencyDefaultValue(dependencyInfo)
-
 		consumerFlag := util.StringJoin([]string{dependencyInfo.Consumer.AppId, dependencyInfo.Consumer.ServiceName, dependencyInfo.Consumer.Version}, "/")
 		consumerInfo := pb.DependenciesToKeys([]*pb.MicroServiceKey{dependencyInfo.Consumer}, domainProject)[0]
 		providersInfo := pb.DependenciesToKeys(dependencyInfo.Providers, domainProject)
diff --git a/server/service/service_dependency_test.go b/server/service/service_dependency_test.go
index 115dc45..719fd00 100644
--- a/server/service/service_dependency_test.go
+++ b/server/service/service_dependency_test.go
@@ -238,13 +238,6 @@ var _ = Describe("'Dependency' service", func() {
 				Expect(err).To(BeNil())
 				Expect(respCreateDependency.Response.Code).To(Equal(pb.Response_SUCCESS))
 
-				respCon, err := serviceResource.GetConsumerDependencies(getContext(), &pb.GetDependenciesRequest{
-					ServiceId: consumerId1,
-				})
-				Expect(err).To(BeNil())
-				Expect(respCon.Response.Code).To(Equal(pb.Response_SUCCESS))
-				Expect(len(respCon.Providers)).To(Equal(0))
-
 				By("consumer in diff env")
 				consumer.Environment = pb.ENV_PROD
 				respCreateDependency, err = serviceResource.CreateDependenciesForMicroServices(getContext(), &pb.CreateDependenciesRequest{
@@ -264,6 +257,15 @@ var _ = Describe("'Dependency' service", func() {
 				Expect(err).To(BeNil())
 				Expect(respCreateDependency.Response.Code).To(Equal(pb.Response_SUCCESS))
 
+				Expect(deh.Handle()).To(BeNil())
+
+				respCon, err := serviceResource.GetConsumerDependencies(getContext(), &pb.GetDependenciesRequest{
+					ServiceId: consumerId1,
+				})
+				Expect(err).To(BeNil())
+				Expect(respCon.Response.Code).To(Equal(pb.Response_SUCCESS))
+				Expect(len(respCon.Providers)).To(Equal(0))
+
 				respCon, err = serviceResource.GetConsumerDependencies(getContext(), &pb.GetDependenciesRequest{
 					ServiceId: consumerId2,
 				})
diff --git a/server/service/util/dependency.go b/server/service/util/dependency.go
index 3b1a118..bd4a3ac 100644
--- a/server/service/util/dependency.go
+++ b/server/service/util/dependency.go
@@ -1112,14 +1112,3 @@ func (dr *DependencyRelation) getConsumerOfSameServiceNameAndAppId(provider *pb.
 	}
 	return allConsumers, nil
 }
-
-func SetDependencyDefaultValue(dep *pb.ConsumerDependency) {
-	if len(dep.Consumer.Environment) == 0 {
-		dep.Consumer.Environment = pb.ENV_DEV
-	}
-	for _, p := range dep.Providers {
-		if len(p.Environment) == 0 {
-			p.Environment = pb.ENV_DEV
-		}
-	}
-}
diff --git a/server/service/util/microservice_util.go b/server/service/util/microservice_util.go
index 433458c..4494295 100644
--- a/server/service/util/microservice_util.go
+++ b/server/service/util/microservice_util.go
@@ -284,9 +284,6 @@ func SetServiceDefaultValue(service *pb.MicroService) {
 	if len(service.Level) == 0 {
 		service.Level = "BACK"
 	}
-	if len(service.Environment) == 0 {
-		service.Environment = pb.ENV_DEV
-	}
 	if len(service.RegisterBy) == 0 {
 		service.RegisterBy = pb.REGISTERBY_UNKNOWM
 	}
diff --git a/server/service/util/util_suite_test.go b/server/service/util/util_suite_test.go
index 6036d04..8cc05bd 100644
--- a/server/service/util/util_suite_test.go
+++ b/server/service/util/util_suite_test.go
@@ -179,7 +179,7 @@ func TestSetDefault(t *testing.T) {
 	service := &proto.MicroService{}
 	serviceUtil.SetServiceDefaultValue(service)
 	if len(service.Level) == 0 ||
-		len(service.Environment) == 0 ||
+		//len(service.Environment) == 0 ||
 		len(service.RegisterBy) == 0 ||
 		service.Framework == nil ||
 		len(service.Framework.Name) == 0 ||

-- 
To stop receiving notification emails like this one, please contact
['"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>'].