Skip to content

Commit

Permalink
fix bugs
Browse files Browse the repository at this point in the history
Signed-off-by: Patrick Zhao <[email protected]>
  • Loading branch information
PetrusZ committed Jun 27, 2024
1 parent f7f734a commit bd1d295
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 47 deletions.
14 changes: 8 additions & 6 deletions pkg/microservice/aslan/core/environment/service/environment.go
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 Expand Up @@ -2499,11 +2506,6 @@ func upsertService(env *commonmodels.Product, newService *commonmodels.ProductSe
return nil, nil
}

// for newService not deployed in envs, we should not replace containers in case variables exist in containers
if prevSvc == nil {
newService.Containers = nil
}

parsedYaml, err := kube.RenderEnvService(env, newService.GetServiceRender(), newService)
if err != nil {
log.Errorf("Failed to render newService %s, error: %v", newService.ServiceName, err)
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

0 comments on commit bd1d295

Please sign in to comment.