mirror of
https://github.com/portainer/portainer.git
synced 2025-07-23 07:19:41 +02:00
chore(edgejobs): AddEdgeJob disregards async mode EE-4855 (#8287)
This commit is contained in:
parent
5640cce4d6
commit
a09fe7e10c
14 changed files with 86 additions and 16 deletions
36
api/datastore/migrator/migrate_dbversion81.go
Normal file
36
api/datastore/migrator/migrate_dbversion81.go
Normal file
|
@ -0,0 +1,36 @@
|
|||
package migrator
|
||||
|
||||
import (
|
||||
"github.com/rs/zerolog/log"
|
||||
|
||||
portainerDsErrors "github.com/portainer/portainer/api/dataservices/errors"
|
||||
)
|
||||
|
||||
func (m *Migrator) migrateDBVersionToDB81() error {
|
||||
return m.updateEdgeStackStatusForDB81()
|
||||
}
|
||||
|
||||
func (m *Migrator) updateEdgeStackStatusForDB81() error {
|
||||
log.Info().Msg("clean up deleted endpoints from edge jobs")
|
||||
|
||||
edgeJobs, err := m.edgeJobService.EdgeJobs()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, edgeJob := range edgeJobs {
|
||||
for endpointId := range edgeJob.Endpoints {
|
||||
_, err := m.endpointService.Endpoint(endpointId)
|
||||
if err == portainerDsErrors.ErrObjectNotFound {
|
||||
delete(edgeJob.Endpoints, endpointId)
|
||||
|
||||
err = m.edgeJobService.UpdateEdgeJob(edgeJob.ID, &edgeJob)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
|
@ -3,6 +3,7 @@ package migrator
|
|||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/portainer/portainer/api/dataservices/edgejob"
|
||||
"github.com/portainer/portainer/api/dataservices/edgestack"
|
||||
|
||||
"github.com/Masterminds/semver"
|
||||
|
@ -56,6 +57,7 @@ type (
|
|||
authorizationService *authorization.Service
|
||||
dockerhubService *dockerhub.Service
|
||||
edgeStackService *edgestack.Service
|
||||
edgeJobService *edgejob.Service
|
||||
}
|
||||
|
||||
// MigratorParameters represents the required parameters to create a new Migrator instance.
|
||||
|
@ -81,6 +83,7 @@ type (
|
|||
AuthorizationService *authorization.Service
|
||||
DockerhubService *dockerhub.Service
|
||||
EdgeStackService *edgestack.Service
|
||||
EdgeJobService *edgejob.Service
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -108,6 +111,7 @@ func NewMigrator(parameters *MigratorParameters) *Migrator {
|
|||
authorizationService: parameters.AuthorizationService,
|
||||
dockerhubService: parameters.DockerhubService,
|
||||
edgeStackService: parameters.EdgeStackService,
|
||||
edgeJobService: parameters.EdgeJobService,
|
||||
}
|
||||
|
||||
migrator.initMigrations()
|
||||
|
@ -205,7 +209,7 @@ func (m *Migrator) initMigrations() {
|
|||
m.addMigrations("2.16", m.migrateDBVersionToDB70)
|
||||
m.addMigrations("2.16.1", m.migrateDBVersionToDB71)
|
||||
m.addMigrations("2.17", m.migrateDBVersionToDB80)
|
||||
m.addMigrations("2.18")
|
||||
m.addMigrations("2.18", m.migrateDBVersionToDB81)
|
||||
|
||||
// Add new migrations below...
|
||||
// One function per migration, each versions migration funcs in the same file.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue