Skip to content

Re-apply old canary selector label to canary service is rollout is aborted  #2781

Description

@meeech

(Not sure if this is a bug or enhancement) is bug.

Summary

When AR manages a canary service, it manages the selectors to ensure the canary service points at the canary pods.

Once a rollout is fully promoted, the service continues to point at the stable pods. So if you have something pointing at the service, it continues to operate.

If you abort a rollout, the canary service selector label is not rolled back as well, leading to a 'dead'; service. I would like to change this behaviour that when you rollback, the selector should be restored as well.

Use Cases

Whats interesting about how this works is that is allows you to rig up a fully canary path for your services assuming a certain naming convention.

eg: canary.ingress.example.com > canary-service.ns.svc.local > another-service.ns.svc.local

You can then have a trigger that whenever a request comes in to host canary.ingress.example.com that you hit up all the canary-* service endpoints internally. If other services are running a canary at the moment, great! if not, also great, since everything will respond on that code path.

Wanted to check if this is desired before doing the work.
Let me know if this needs more details.

[edit] Since this seems to be a bug (#2540) a few more details

  • Reproduced using 1.4 and 1.5
  • Abort was done via dashboard

Message from the maintainers:

Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions