Skip to content

Commit

Permalink
fix bugs
Browse files Browse the repository at this point in the history
Signed-off-by: Patrick Zhao <zhaoyu@koderover.com>
  • Loading branch information
PetrusZ committed Jun 26, 2024
1 parent 268e270 commit e6f1488
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 42 deletions.
1 change: 1 addition & 0 deletions pkg/microservice/aslan/core/common/service/kube/apply.go
Original file line number Diff line number Diff line change
Expand Up @@ -587,6 +587,7 @@ func CreateOrPatchResource(applyParam *ResourceApplyParam, log *zap.SugaredLogge
errList = multierror.Append(errList, err)
continue
}
log.Infof("update json data: %s", string(jsonData))
obj, err := serializer.NewDecoder().JSONToRuntimeObject(jsonData)
if err != nil {
log.Errorf("Failed to convert JSON to Object, manifest is\n%v\n, error: %v", u, err)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -674,10 +674,17 @@ func updateProductImpl(updateRevisionSvcs []string, deployStrategy map[string]st
return
}

curEnv, err := commonrepo.NewProductColl().Find(&commonrepo.ProductFindOptions{Name: productName, EnvName: envName})
if err != nil {
log.Errorf("Failed to find current env %s/%s, error: %v", productName, envName, err)
service.Error = err.Error()
return
}

items, errUpsertService := upsertService(
updateProd,
service,
existedProd.GetServiceMap()[service.ServiceName],
curEnv.GetServiceMap()[service.ServiceName],
!updateProd.Production, inf, kubeClient, istioClient, log)
if errUpsertService != nil {
service.Error = errUpsertService.Error()
Expand Down
42 changes: 1 addition & 41 deletions pkg/microservice/aslan/core/environment/service/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import (
"github.com/pkg/errors"
"go.uber.org/zap"
"helm.sh/helm/v3/pkg/releaseutil"
versionedclient "istio.io/client-go/pkg/clientset/versioned"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/informers"
"k8s.io/client-go/kubernetes"
Expand All @@ -36,7 +35,6 @@ import (
"github.com/koderover/zadig/v2/pkg/microservice/aslan/core/common/service/kube"
"github.com/koderover/zadig/v2/pkg/microservice/aslan/core/common/service/repository"
commontypes "github.com/koderover/zadig/v2/pkg/microservice/aslan/core/common/types"
commonutil "github.com/koderover/zadig/v2/pkg/microservice/aslan/core/common/util"
"github.com/koderover/zadig/v2/pkg/setting"
kubeclient "github.com/koderover/zadig/v2/pkg/shared/kube/client"
internalresource "github.com/koderover/zadig/v2/pkg/shared/kube/resource"
Expand Down Expand Up @@ -443,25 +441,6 @@ func RestartService(envName string, args *SvcOptArgs, production bool, log *zap.
return err
}

restConfig, err := kubeclient.GetRESTConfig(config.HubServerAddress(), productObj.ClusterID)
if err != nil {
return err
}

istioClient, err := versionedclient.NewForConfig(restConfig)
if err != nil {
return err
}

cls, err := kubeclient.GetKubeClientSet(config.HubServerAddress(), productObj.ClusterID)
if err != nil {
return e.ErrCreateEnv.AddErr(err)
}
inf, err := informer.NewInformer(productObj.ClusterID, productObj.Namespace, cls)
if err != nil {
return e.ErrCreateEnv.AddErr(err)
}

// aws secrets needs to be refreshed
regs, err := commonservice.ListRegistryNamespaces("", true, log)
if err != nil {
Expand Down Expand Up @@ -496,33 +475,14 @@ func RestartService(envName string, args *SvcOptArgs, production bool, log *zap.
return updater.RestartStatefulSet(productObj.Namespace, sts.Name, kubeClient)
}
default:
var serviceTmpl *commonmodels.Service
var productService *commonmodels.ProductService

serviceObj, ok := productObj.GetServiceMap()[args.ServiceName]
if !ok {
return nil
}

productService = serviceObj

serviceTmpl, err = repository.QueryTemplateService(&commonrepo.ServiceFindOption{
ProductName: serviceObj.ProductName,
ServiceName: serviceObj.ServiceName,
Revision: serviceObj.Revision,
Type: setting.K8SDeployType,
}, productObj.Production)

// for services deployed by zadig, service will be applied when restarting
if commonutil.ServiceDeployed(serviceTmpl.ServiceName, productObj.ServiceDeployStrategy) {
_, err = upsertService(
productObj,
productService,
productService,
!productObj.Production, inf, kubeClient, istioClient, log)
} else {
err = restartRelatedWorkloads(productObj, productService, kubeClient, log)
}
err = restartRelatedWorkloads(productObj, productService, kubeClient, log)
log.Infof("restart resource from namespace:%s/serviceName:%s ", productObj.Namespace, args.ServiceName)

if err != nil {
Expand Down
5 changes: 5 additions & 0 deletions pkg/tool/kube/patcher/patcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import (

krkubeclient "github.com/koderover/zadig/v2/pkg/tool/kube/client"
"github.com/koderover/zadig/v2/pkg/tool/kube/util"
"github.com/koderover/zadig/v2/pkg/tool/log"
)

// GeneratePatchBytes generate the patchBytes inspired by the patcher in kubectl/pkg/cmd/apply/patcher.go
Expand Down Expand Up @@ -85,10 +86,14 @@ func GeneratePatchBytes(obj, modifiedObj runtime.Object) ([]byte, types.PatchTyp
return nil, "", fmt.Errorf(createPatchErrFormat, original, modified, current, err)
}

log.Debugf("original: %s", string(original))
log.Debugf("modified: %s", string(modified))
log.Debugf("current: %s", string(current))
patch, err = strategicpatch.CreateThreeWayMergePatch(original, modified, current, lookupPatchMeta, true)
if err != nil {
return nil, "", fmt.Errorf(createPatchErrFormat, original, modified, current, err)
}
log.Debugf("patch: %s", string(patch))
}

if string(patch) == "{}" {
Expand Down

0 comments on commit e6f1488

Please sign in to comment.