1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-24 15:59:41 +02:00

fix(edgegroups): fix updateEndpointStacks() EE-5699 (#9154)

This commit is contained in:
andres-portainer 2023-07-05 14:03:48 -03:00 committed by GitHub
parent 74515f102d
commit e4ae4d5312
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 30 deletions

View file

@ -99,21 +99,8 @@ func (handler *Handler) edgeGroupUpdate(w http.ResponseWriter, r *http.Request)
oldRelatedEndpoints := edge.EdgeGroupRelatedEndpoints(edgeGroup, endpoints, endpointGroups)
edgeGroup.Dynamic = payload.Dynamic
if edgeGroup.Dynamic {
edgeGroup.TagIDs = payload.TagIDs
} else {
endpointIDs := []portainer.EndpointID{}
for _, endpointID := range payload.Endpoints {
endpoint, err := tx.Endpoint().Endpoint(endpointID)
if err != nil {
return httperror.InternalServerError("Unable to retrieve environment from the database", err)
}
if endpointutils.IsEdgeEndpoint(endpoint) {
endpointIDs = append(endpointIDs, endpoint.ID)
}
}
edgeGroup.Endpoints = endpointIDs
if err := calculateEndpointsOrTags(tx, edgeGroup, payload.Endpoints, payload.TagIDs); err != nil {
return err
}
if payload.PartialMatch != nil {
@ -138,6 +125,13 @@ func (handler *Handler) edgeGroupUpdate(w http.ResponseWriter, r *http.Request)
return err
}
// Update the edgeGroups with the modified edgeGroup for updateEndpointStacks()
for i := range edgeGroups {
if edgeGroups[i].ID == edgeGroup.ID {
edgeGroups[i] = *edgeGroup
}
}
for _, endpointID := range endpointsToUpdate {
endpoint, err := tx.Endpoint().Endpoint(endpointID)
if err != nil {