fix
diff --git a/pkg/plugins/resources/k8s/store.go b/pkg/plugins/resources/k8s/store.go
index 4d09b54..c6c8e0a 100644
--- a/pkg/plugins/resources/k8s/store.go
+++ b/pkg/plugins/resources/k8s/store.go
@@ -19,6 +19,7 @@
import (
"context"
+ "github.com/apache/dubbo-kubernetes/pkg/core/logger"
"strings"
"time"
)
@@ -99,7 +100,9 @@
if err := s.Client.Create(ctx, obj); err != nil {
if kube_apierrs.IsAlreadyExists(err) {
- return store.ErrorResourceAlreadyExists(r.Descriptor().Name, opts.Name, opts.Mesh)
+ // 如果资源已经存在了就直接返回空即可
+ logger.Sugar().Warn("资源已经存在了")
+ return nil
}
return errors.Wrap(err, "failed to create k8s resource")
}
diff --git a/pkg/test/component.go b/pkg/test/component.go
index d4317cc..18df6c2 100644
--- a/pkg/test/component.go
+++ b/pkg/test/component.go
@@ -19,17 +19,14 @@
import (
mesh_proto "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
- "github.com/apache/dubbo-kubernetes/pkg/config/core"
"github.com/apache/dubbo-kubernetes/pkg/core/resources/apis/mesh"
core_model "github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
"github.com/apache/dubbo-kubernetes/pkg/core/resources/store"
core_runtime "github.com/apache/dubbo-kubernetes/pkg/core/runtime"
+ "strings"
)
func Setup(rt core_runtime.Runtime) error {
- if rt.GetDeployMode() == core.KubernetesMode {
- return nil
- }
// 测试mapping资源
if err := testMapping(rt); err != nil {
return err
@@ -65,19 +62,6 @@
// metadata资源没有删除能力
func testMetadata(rt core_runtime.Runtime) error {
manager := rt.ResourceManager()
- metadata1 := mesh.NewMetaDataResource()
- // get
- if err := manager.Get(rt.AppContext(), metadata1, store.GetByApplication("dubbo-springboot-demo-provider")); err != nil {
- return err
- }
-
- // list
- metadataList := &mesh.MetaDataResourceList{}
-
- if err := manager.List(rt.AppContext(), metadataList); err != nil {
- return err
- }
-
// create
metadata2 := mesh.NewMetaDataResource()
err := metadata2.SetSpec(&mesh_proto.MetaData{
@@ -92,7 +76,22 @@
if err != nil {
return err
}
- if err := manager.Create(rt.AppContext(), metadata2); err != nil {
+ if err := manager.Create(rt.AppContext(), metadata2, store.CreateBy(core_model.ResourceKey{
+ Name: metadata2.Spec.App,
+ })); err != nil {
+ return err
+ }
+
+ metadata1 := mesh.NewMetaDataResource()
+ // get
+ if err := manager.Get(rt.AppContext(), metadata1, store.GetByApplication("dubbo-springboot-demo-provider")); err != nil {
+ return err
+ }
+
+ // list
+ metadataList := &mesh.MetaDataResourceList{}
+
+ if err := manager.List(rt.AppContext(), metadataList); err != nil {
return err
}
@@ -119,14 +118,6 @@
// mapping资源没有删除功能
func testMapping(rt core_runtime.Runtime) error {
manager := rt.ResourceManager()
- // mapping test
- mapping1 := mesh.NewMappingResource()
- // get
- if err := manager.Get(rt.AppContext(), mapping1, store.GetBy(core_model.ResourceKey{
- Name: "org.apache.dubbo.springboot.demo.DemoService",
- })); err != nil {
- return err
- }
mapping2 := mesh.NewMappingResource()
err := mapping2.SetSpec(&mesh_proto.Mapping{
@@ -141,7 +132,18 @@
}
// create
- if err := manager.Create(rt.AppContext(), mapping2); err != nil {
+ if err := manager.Create(rt.AppContext(), mapping2, store.CreateBy(core_model.ResourceKey{
+ Name: strings.ToLower(strings.ReplaceAll(mapping2.Spec.InterfaceName, ".", "-")),
+ })); err != nil {
+ return err
+ }
+
+ // mapping test
+ mapping1 := mesh.NewMappingResource()
+ // get
+ if err := manager.Get(rt.AppContext(), mapping1, store.GetBy(core_model.ResourceKey{
+ Name: strings.ToLower(strings.ReplaceAll("org.apache.dubbo.springboot.demo.DemoService1", ".", "-")),
+ })); err != nil {
return err
}