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 d5d54ef
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 3 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
12 changes: 10 additions & 2 deletions pkg/microservice/aslan/core/environment/service/environment.go
Original file line number Diff line number Diff line change
Expand Up @@ -1952,6 +1952,7 @@ func UpdateMultipleHelmChartEnv(requestID, userName string, args *UpdateMultiHel
}

func DeleteProduct(username, envName, productName, requestID string, isDelete bool, log *zap.SugaredLogger) (err error) {
log.Debugf("DeleteProduct %s %s %s", username, envName, productName)
eventStart := time.Now().Unix()
productInfo, err := commonrepo.NewProductColl().Find(&commonrepo.ProductFindOptions{
Name: productName,
Expand Down Expand Up @@ -2008,6 +2009,7 @@ func DeleteProduct(username, envName, productName, requestID string, isDelete bo
log.Errorf("deleteEnvSleepCron error: %v", err)
}

log.Debugf("source %s", productInfo.Source)
ctx := context.TODO()
switch productInfo.Source {
case setting.SourceFromHelm:
Expand Down Expand Up @@ -2116,7 +2118,10 @@ func DeleteProduct(username, envName, productName, requestID string, isDelete bo
}

// @todo fix env already deleted issue
DeleteProductServices("", requestID, envName, productName, svcNames, false, log)
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 +2157,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 +2242,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 Expand Up @@ -2265,6 +2272,7 @@ func deleteK8sProductServices(productInfo *commonmodels.Product, serviceNames []
Uninstall: true,
WaitForUninstall: true,
}
log.Debugf("delete service, param: %+v", param)
_, err = kube.CreateOrPatchResource(param, log)
if err != nil {
// Only record and do not block subsequent traversals.
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 d5d54ef

Please sign in to comment.