Ineffective handling of canary edge case on service de-registration #10842
Labels
stage/accepted
Confirmed, and intend to work on. No timeline committment though.
theme/consul
type/bug
In hooks
https://github.com/hashicorp/nomad/blob/v1.1.2/client/allocrunner/groupservice_hook.go#L212
and
https://github.com/hashicorp/nomad/blob/v1.1.2/client/allocrunner/taskrunner/service_hook.go#L177
we attempt a little trick to incur a de-registration of potential canary versions of services registered for a group or task. In reality this is unnecessary - the Consul sync is based on the computed IDs of the service or check. This computed ID does not incorporate whether the service or check is part of a Canary workload. All services of the workload are removed regardless if the alloc is tagged as a canary.
MakeAllocServiceID
MakeCheckID
The extra call to
RemoveWorkload
does cause an extra sync with Consul, exacerbating #10797The text was updated successfully, but these errors were encountered: