This is an automated email from the ASF dual-hosted git repository.
littlecui 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 77596a5 SCB-127 Bug fix: Can not find any instance of default app if
SC startup in non-auth mode. (#238)
77596a5 is described below
commit 77596a5d7ae14a371093e89691cb41c0d05d745f
Author: little-cui <[email protected]>
AuthorDate: Tue Jan 2 19:17:18 2018 +0800
SCB-127 Bug fix: Can not find any instance of default app if SC startup in
non-auth mode. (#238)
---
server/core/microservice.go | 23 +++++++++++++++++++----
server/service/instances_test.go | 2 ++
2 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/server/core/microservice.go b/server/core/microservice.go
index 3cd8af6..73f885b 100644
--- a/server/core/microservice.go
+++ b/server/core/microservice.go
@@ -20,11 +20,16 @@ import (
"github.com/apache/incubator-servicecomb-service-center/pkg/util"
pb
"github.com/apache/incubator-servicecomb-service-center/server/core/proto"
"github.com/apache/incubator-servicecomb-service-center/version"
+ "github.com/astaxie/beego"
"golang.org/x/net/context"
+ "strings"
)
-var Service *pb.MicroService
-var Instance *pb.MicroServiceInstance
+var (
+ Service *pb.MicroService
+ Instance *pb.MicroServiceInstance
+ isAuth bool
+)
const (
REGISTRY_DOMAIN = "default"
@@ -40,6 +45,8 @@ const (
)
func init() {
+
SetSharedMode(len(strings.TrimSpace(beego.AppConfig.String("auth_plugin"))) > 0)
+
Service = &pb.MicroService{
Environment: pb.ENV_PROD,
AppId: REGISTRY_APP_ID,
@@ -79,7 +86,15 @@ func IsDefaultDomainProject(domainProject string) bool {
return domainProject == util.StringJoin([]string{REGISTRY_DOMAIN,
REGISTRY_PROJECT}, "/")
}
+func SetSharedMode(b bool) {
+ isAuth = b
+}
+
func IsShared(key *pb.MicroServiceKey) bool {
+ if !isAuth {
+ // shared micro-service only can be registered in auth mode.
+ return false
+ }
if !IsDefaultDomainProject(key.Tenant) {
return false
}
@@ -87,10 +102,10 @@ func IsShared(key *pb.MicroServiceKey) bool {
}
func IsSCKey(key *pb.MicroServiceKey) bool {
- if !IsShared(key) {
+ if !IsDefaultDomainProject(key.Tenant) {
return false
}
- return key.ServiceName == Service.ServiceName
+ return key.AppId == Service.AppId && key.ServiceName ==
Service.ServiceName
}
func IsSCInstance(ctx context.Context) bool {
diff --git a/server/service/instances_test.go b/server/service/instances_test.go
index 81ea206..3e3750b 100644
--- a/server/service/instances_test.go
+++ b/server/service/instances_test.go
@@ -888,6 +888,7 @@ var _ = Describe("'Instance' service", func() {
Expect(len(respFind.Instances)).To(Equal(0))
By("shared service discovery")
+ core.SetSharedMode(true)
core.Service.Environment = pb.ENV_PROD
respFind, err = instanceResource.Find(
util.SetTargetDomainProject(
@@ -915,6 +916,7 @@ var _ = Describe("'Instance' service", func() {
Expect(len(respFind.Instances)).To(Equal(1))
Expect(respFind.Instances[0].InstanceId).To(Equal(instanceId5))
core.Service.Environment = pb.ENV_DEV
+ core.SetSharedMode(false)
})
})
--
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].