hotfix: cmp running pod image tag and client version

This commit is contained in:
fengcaiwen
2025-04-27 23:02:34 +08:00
parent 79f8aca7df
commit a6ec321e46

View File

@@ -955,18 +955,28 @@ func (c *ConnectOptions) upgradeDeploy(ctx context.Context) error {
if len(deploy.Spec.Template.Spec.Containers) == 0 { if len(deploy.Spec.Template.Spec.Containers) == 0 {
return fmt.Errorf("can not found any container in deploy %s", deploy.Name) return fmt.Errorf("can not found any container in deploy %s", deploy.Name)
} }
// check running pod, sometime deployment is rolling back, so need to check running pod
list, err := c.GetRunningPodList(ctx)
if err != nil {
return err
}
clientVer := config.Version clientVer := config.Version
clientImg := config.Image clientImg := config.Image
serverImg := deploy.Spec.Template.Spec.Containers[0].Image serverImg := deploy.Spec.Template.Spec.Containers[0].Image
runningPodImg := list[0].Spec.Containers[0].Image
isNeedUpgrade, err := util.IsNewer(clientVer, clientImg, serverImg) isNeedUpgrade, err := util.IsNewer(clientVer, clientImg, serverImg)
if !isNeedUpgrade { isPodNeedUpgrade, err1 := util.IsNewer(clientVer, clientImg, runningPodImg)
if !isNeedUpgrade && !isPodNeedUpgrade {
return nil return nil
} }
if err != nil { if err != nil {
return err return err
} }
if err1 != nil {
return err1
}
// 1) update secret // 1) update secret
err = upgradeSecretSpec(ctx, c.factory, c.Namespace) err = upgradeSecretSpec(ctx, c.factory, c.Namespace)