Skip to content

Commit

Permalink
fix image replaoce error (koderover#2739)
Browse files Browse the repository at this point in the history
Signed-off-by: allenshen <[email protected]>
  • Loading branch information
AllenShen authored Jun 10, 2023
1 parent 27ed9ca commit abad8a8
Show file tree
Hide file tree
Showing 4 changed files with 3 additions and 66 deletions.
5 changes: 2 additions & 3 deletions pkg/microservice/aslan/core/common/service/delivery.go
Original file line number Diff line number Diff line change
Expand Up @@ -488,9 +488,8 @@ func getServiceRenderYAML(productInfo *commonmodels.Product, containers []*commo
// 渲染系统变量键值
parsedYaml = kube.ParseSysKeys(productInfo.Namespace, productInfo.EnvName, productInfo.ProductName, serviceName, parsedYaml)
// 替换服务模板容器镜像为用户指定镜像
parsedYaml = kube.ReplaceContainerImages(parsedYaml, svcTmpl.Containers, containers)

return parsedYaml, nil
parsedYaml, _, err = kube.ReplaceWorkloadImages(parsedYaml, containers)
return parsedYaml, err
}
return "", nil
}
20 changes: 0 additions & 20 deletions pkg/microservice/aslan/core/common/service/kube/parse.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,8 @@ limitations under the License.
package kube

import (
"fmt"
"regexp"
"strings"

commonmodels "github.com/koderover/zadig/pkg/microservice/aslan/core/common/repository/models"
)

const (
Expand Down Expand Up @@ -54,20 +51,3 @@ func ParseSysKeys(namespace, envName, productName, serviceName, ori string) stri
ori = serviceRegex.ReplaceAllLiteralString(ori, strings.ToLower(serviceName))
return ori
}

func ReplaceContainerImages(tmpl string, ori []*commonmodels.Container, replace []*commonmodels.Container) string {
replaceMap := make(map[string]string)
for _, container := range replace {
replaceMap[container.Name] = container.Image
}

for _, container := range ori {
imageRex := regexp.MustCompile("image:\\s*" + container.Image)
if _, ok := replaceMap[container.Name]; !ok {
continue
}
tmpl = imageRex.ReplaceAllLiteralString(tmpl, fmt.Sprintf("image: %s", replaceMap[container.Name]))
}

return tmpl
}
21 changes: 0 additions & 21 deletions pkg/microservice/aslan/core/common/service/kube/render.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ package kube
import (
"bytes"
"fmt"
"regexp"
"strings"

"github.com/pkg/errors"
Expand Down Expand Up @@ -562,26 +561,6 @@ func RenderEnvService(prod *commonmodels.Product, render *commonmodels.RenderSet
return "", err
}
parsedYaml = ParseSysKeys(prod.Namespace, prod.EnvName, prod.ProductName, service.ServiceName, parsedYaml)
//parsedYaml = replaceContainerImages(parsedYaml, svcTmpl.Containers, service.Containers)
parsedYaml, _, _ = ReplaceWorkloadImages(parsedYaml, service.Containers)
return parsedYaml, nil
}

// this function should be deleted
func replaceContainerImages(tmpl string, ori []*commonmodels.Container, replace []*commonmodels.Container) string {

replaceMap := make(map[string]string)
for _, container := range replace {
replaceMap[container.Name] = container.Image
}

for _, container := range ori {
imageRex := regexp.MustCompile("image:\\s*" + container.Image)
if _, ok := replaceMap[container.Name]; !ok {
continue
}
tmpl = imageRex.ReplaceAllLiteralString(tmpl, fmt.Sprintf("image: %s", replaceMap[container.Name]))
}

return tmpl
}
23 changes: 1 addition & 22 deletions pkg/microservice/aslan/core/service/service/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import (
"io/ioutil"
"os"
"path"
"regexp"
"strings"
"sync"
"text/template"
Expand Down Expand Up @@ -1167,7 +1166,7 @@ func YamlViewServiceTemplate(args *YamlViewServiceTemplateReq) (string, error) {
cerSvc := prod.GetServiceMap()
svcInfo, found := cerSvc[args.ServiceName]
if found {
parsedYaml, err = replaceContainerImages(parsedYaml, svcTmpl.Containers, svcInfo.Containers)
parsedYaml, _, err = kube.ReplaceWorkloadImages(parsedYaml, svcInfo.Containers)
if err != nil {
return "", err
}
Expand All @@ -1177,26 +1176,6 @@ func YamlViewServiceTemplate(args *YamlViewServiceTemplateReq) (string, error) {
return parsedYaml, nil
}

func replaceContainerImages(tmpl string, ori []*commonmodels.Container, replace []*commonmodels.Container) (string, error) {
replaceMap := make(map[string]string)
for _, container := range replace {
replaceMap[container.Name] = container.Image
}

for _, container := range ori {
imageRex, err := regexp.Compile("image:\\s*" + container.Image)
if err != nil {
return "", err
}
if _, ok := replaceMap[container.Name]; !ok {
continue
}
tmpl = imageRex.ReplaceAllLiteralString(tmpl, fmt.Sprintf("image: %s", replaceMap[container.Name]))
}

return tmpl, nil
}

func UpdateReleaseNamingRule(userName, requestID, projectName string, args *ReleaseNamingRule, log *zap.SugaredLogger) error {
serviceTemplate, err := commonrepo.NewServiceColl().Find(&commonrepo.ServiceFindOption{
ServiceName: args.ServiceName,
Expand Down

0 comments on commit abad8a8

Please sign in to comment.