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 {
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
clientImg := config.Image
serverImg := deploy.Spec.Template.Spec.Containers[0].Image
runningPodImg := list[0].Spec.Containers[0].Image
isNeedUpgrade, err := util.IsNewer(clientVer, clientImg, serverImg)
if !isNeedUpgrade {
isPodNeedUpgrade, err1 := util.IsNewer(clientVer, clientImg, runningPodImg)
if !isNeedUpgrade && !isPodNeedUpgrade {
return nil
}
if err != nil {
return err
}
if err1 != nil {
return err1
}
// 1) update secret
err = upgradeSecretSpec(ctx, c.factory, c.Namespace)