Ensure the new jar is properly uploaded during an upgrade process. Previously, the jar was not replaced as expected.
39 lines
982 B
Go
39 lines
982 B
Go
package managed_job
|
|
|
|
import (
|
|
"flink-kube-operator/pkg"
|
|
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
func (job *ManagedJob) upgrade() {
|
|
pkg.Logger.Info("[managed-job] [upgrade] pausing... ",
|
|
zap.String("jobName", job.def.GetName()),
|
|
zap.String("currentJarURI", job.def.Spec.JarURI),
|
|
zap.String("prevJarURI", *job.def.Status.RunningJarURI),
|
|
)
|
|
job.def.Status.JarId = nil
|
|
job.crd.Patch(job.def.UID, map[string]interface{}{
|
|
"status": map[string]interface{}{
|
|
"jarId": job.def.Status.JarId,
|
|
},
|
|
})
|
|
err := job.pause()
|
|
if err != nil {
|
|
pkg.Logger.Error("[managed-job] [upgrade] error in pausing", zap.Error(err))
|
|
return
|
|
}
|
|
pkg.Logger.Info("[managed-job] [upgrade] restoring... ",
|
|
zap.String("jobName", job.def.GetName()),
|
|
zap.String("currentJarURI", job.def.Spec.JarURI),
|
|
zap.String("prevJarURI", *job.def.Status.RunningJarURI),
|
|
zap.Error(err),
|
|
)
|
|
|
|
err = job.run(true)
|
|
if err != nil {
|
|
pkg.Logger.Error("[managed-job] [upgrade] error in running", zap.Error(err))
|
|
return
|
|
}
|
|
}
|