Skip to content

Commit

Permalink
fix service unstart after create env
Browse files Browse the repository at this point in the history
Signed-off-by: Patrick Zhao <[email protected]>
  • Loading branch information
PetrusZ committed Jun 19, 2024
1 parent f0277d4 commit 970921f
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
2 changes: 2 additions & 0 deletions pkg/microservice/aslan/core/common/service/kube/apply.go
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,8 @@ func removeResources(currentItems, newItems []*unstructured.Unstructured, namesp
oldItemsMap[fmt.Sprintf("%s/%s", u.GetKind(), u.GetName())] = u
}

log.Debugf("itemsMap: %+v", itemsMap)
log.Debugf("oldItemsMap: %+v", oldItemsMap)
for name, item := range oldItemsMap {
_, exists := itemsMap[name]
item.SetNamespace(namespace)
Expand Down
11 changes: 8 additions & 3 deletions pkg/microservice/aslan/core/environment/service/environment.go
Original file line number Diff line number Diff line change
Expand Up @@ -2115,8 +2115,11 @@ func DeleteProduct(username, envName, productName, requestID string, isDelete bo
svcNames = append(svcNames, svcName)
}

// @todo fix env already deleted issue
DeleteProductServices("", requestID, envName, productName, svcNames, false, log)
// @todo fix env already deleted issue, may cause service not really deleted in k8s
err = DeleteProductServices("", requestID, envName, productName, svcNames, false, log)
if err != nil {
log.Errorf("DeleteProductServices error: %v", err)
}

// Handles environment sharing related operations.
err = EnsureDeleteShareEnvConfig(ctx, productInfo, istioClient)
Expand Down Expand Up @@ -2152,7 +2155,8 @@ func DeleteProduct(username, envName, productName, requestID string, isDelete bo
func DeleteProductServices(userName, requestID, envName, productName string, serviceNames []string, production bool, log *zap.SugaredLogger) (err error) {
productInfo, err := commonrepo.NewProductColl().Find(&commonrepo.ProductFindOptions{Name: productName, EnvName: envName, Production: util.GetBoolPointer(production)})
if err != nil {
log.Errorf("find product error: %v", err)
err = fmt.Errorf("failed to find product, productName: %s, envName: %s, production: %v, error: %v", productName, envName, production, err)
log.Error(err)
return err
}
if getProjectType(productName) == setting.HelmDeployType {
Expand Down Expand Up @@ -2236,6 +2240,7 @@ func deleteK8sProductServices(productInfo *commonmodels.Product, serviceNames []
return fmt.Errorf("failed to new istio client: %s", err)
}

log.Debugf("delete services: %v", serviceNames)
for _, name := range serviceNames {
if !commonutil.ServiceDeployed(name, productInfo.ServiceDeployStrategy) {
continue
Expand Down
2 changes: 1 addition & 1 deletion pkg/microservice/aslan/core/environment/service/k8s.go
Original file line number Diff line number Diff line change
Expand Up @@ -687,7 +687,7 @@ func (k *K8sService) createGroup(username string, product *commonmodels.Product,
updatableServiceNameList = append(updatableServiceNameList, group[i].ServiceName)
go func(svc *commonmodels.ProductService) {
defer wg.Done()
items, err := upsertService(prod, svc, svc, !prod.Production, informer, kubeClient, istioClient, k.log)
items, err := upsertService(prod, svc, nil, !prod.Production, informer, kubeClient, istioClient, k.log)
if err != nil {
lock.Lock()
switch e := err.(type) {
Expand Down

0 comments on commit 970921f

Please sign in to comment.