[Backport release-1.5] Fix: vela CLI provider compatibility (#4564)

* Fix: vela CLI provider compatibility

Signed-off-by: qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit 2be007e9a0)

* fix

Signed-off-by: qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit c053d831e7)

* List interface won't return NotFoundError

Signed-off-by: qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit b7e9a738d0)

* format imports

Signed-off-by: qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
(cherry picked from commit f35cb3a77f)

Co-authored-by: qiaozp <qiaozhongpei.qzp@alibaba-inc.com>
This commit is contained in:
github-actions[bot]
2022-08-05 14:41:22 +08:00
committed by GitHub
co-authored by qiaozp
parent 1829cf4e40
commit 491127daec
7 changed files with 109 additions and 32 deletions
+3 -3
View File
@@ -72,7 +72,7 @@ func (u *configServiceImpl) ListConfigTypes(ctx context.Context, query string) (
defs := &v1beta1.ComponentDefinitionList{}
if err := u.KubeClient.List(ctx, defs, client.InNamespace(types.DefaultKubeVelaNS),
client.MatchingLabels{
configCatalog: types.VelaCoreConfig,
definition.ConfigCatalog: types.VelaCoreConfig,
}); err != nil {
return nil, err
}
@@ -85,13 +85,13 @@ func (u *configServiceImpl) ListConfigTypes(ctx context.Context, query string) (
if err := u.KubeClient.List(ctx, defsLegacy, client.InNamespace(types.DefaultKubeVelaNS),
client.MatchingLabels{
// leave here as the legacy format to test the compatibility
definition.UserPrefix + configCatalog: types.VelaCoreConfig,
definition.UserPrefix + definition.ConfigCatalog: types.VelaCoreConfig,
}); err != nil {
return nil, err
}
// filter repeated config,due to new labels that exist at the same time
for _, legacy := range defsLegacy.Items {
if legacy.Labels[configCatalog] == types.VelaCoreConfig {
if legacy.Labels[definition.ConfigCatalog] == types.VelaCoreConfig {
continue
}
items = append(items, legacy)
+6 -6
View File
@@ -57,8 +57,8 @@ func TestListConfigTypes(t *testing.T) {
Name: "def1",
Namespace: types.DefaultKubeVelaNS,
Labels: map[string]string{
configCatalog: types.VelaCoreConfig,
definitionType: types.TerraformProvider,
definition.ConfigCatalog: types.VelaCoreConfig,
definition.DefinitionType: types.TerraformProvider,
},
},
}
@@ -71,10 +71,10 @@ func TestListConfigTypes(t *testing.T) {
Name: "def2",
Namespace: types.DefaultKubeVelaNS,
Annotations: map[string]string{
definitionAlias: "Def2",
definition.DefinitionAlias: "Def2",
},
Labels: map[string]string{
configCatalog: types.VelaCoreConfig,
definition.ConfigCatalog: types.VelaCoreConfig,
},
},
}
@@ -153,10 +153,10 @@ func TestGetConfigType(t *testing.T) {
Name: "def2",
Namespace: types.DefaultKubeVelaNS,
Annotations: map[string]string{
definitionAlias: "Def2",
definition.DefinitionAlias: "Def2",
},
Labels: map[string]string{
definition.UserPrefix + configCatalog: types.VelaCoreConfig,
definition.UserPrefix + definition.ConfigCatalog: types.VelaCoreConfig,
},
},
}
+6 -12
View File
@@ -18,22 +18,16 @@ package service
import "github.com/oam-dev/kubevela/pkg/definition"
const (
definitionAlias = "alias.config.oam.dev"
definitionType = "type.config.oam.dev"
configCatalog = "catalog.config.oam.dev"
)
// DefinitionAlias will get definitionAlias value from tags
func DefinitionAlias(tags map[string]string) string {
if tags == nil {
return ""
}
val := tags[definitionAlias]
val := tags[definition.DefinitionAlias]
if val != "" {
return val
}
return tags[definition.UserPrefix+definitionAlias]
return tags[definition.UserPrefix+definition.DefinitionAlias]
}
// DefinitionType will get definitionType value from tags
@@ -41,11 +35,11 @@ func DefinitionType(tags map[string]string) string {
if tags == nil {
return ""
}
val := tags[definitionType]
val := tags[definition.DefinitionType]
if val != "" {
return val
}
return tags[definition.UserPrefix+definitionType]
return tags[definition.UserPrefix+definition.DefinitionType]
}
// ConfigCatalog will get configCatalog value from tags
@@ -53,9 +47,9 @@ func ConfigCatalog(tags map[string]string) string {
if tags == nil {
return ""
}
val := tags[configCatalog]
val := tags[definition.ConfigCatalog]
if val != "" {
return val
}
return tags[definition.UserPrefix+configCatalog]
return tags[definition.UserPrefix+definition.ConfigCatalog]
}
+9 -7
View File
@@ -19,20 +19,22 @@ package service
import (
"testing"
"github.com/oam-dev/kubevela/pkg/definition"
"github.com/stretchr/testify/assert"
)
func TestCompatiblleTag(t *testing.T) {
func TestCompatibleTag(t *testing.T) {
tg := map[string]string{
"alias.config.oam.dev": "abc",
"type.config.oam.dev": "image-registry",
"catalog.config.oam.dev": "cata",
definition.DefinitionAlias: "abc",
definition.DefinitionType: "image-registry",
definition.ConfigCatalog: "cata",
}
tgOld := map[string]string{
"custom.definition.oam.dev/alias.config.oam.dev": "abc-2",
"custom.definition.oam.dev/type.config.oam.dev": "image-registry-2",
"custom.definition.oam.dev/catalog.config.oam.dev": "cata-2",
definition.UserPrefix + definition.DefinitionAlias: "abc-2",
definition.UserPrefix + definition.DefinitionType: "image-registry-2",
definition.UserPrefix + definition.ConfigCatalog: "cata-2",
}
assert.Equal(t, DefinitionAlias(nil), "")
+6
View File
@@ -54,6 +54,12 @@ const (
AliasKey = "definition.oam.dev/alias"
// UserPrefix defines the prefix of user customized label or annotation
UserPrefix = "custom.definition.oam.dev/"
// DefinitionAlias is alias of definition
DefinitionAlias = "alias.config.oam.dev"
// DefinitionType marks definition's usage type, like image-registry
DefinitionType = "type.config.oam.dev"
// ConfigCatalog marks definition is a catalog
ConfigCatalog = "catalog.config.oam.dev"
)
var (