Skip to content

Reconciliation gets into a loop when minPodsPerReplicaSet > replicas #4566

@andrewjamesbrown

Description

@andrewjamesbrown

Checklist:

  • I've included steps to reproduce the bug.
  • I've included the version of argo rollouts.

Describe the bug

On Argo Rollouts 1.8.3, setting minPodsPerReplicaSet to a number > replicas results in a reconciliation loop generating 20k+ logs per minute:

Started syncing rollout
Found 1 TrafficRouting Reconcilers
Reconciling TrafficRouting with type 'Istio'
DestinationRule myservice subset updated (canary: 587d998559, stable: 587d998559)
No StableRS exists to reconcile or matches newRS
No Steps remain in the canary steps
No status changes. Skipping patch
Queueing up Rollout for a progress check now
Reconciliation completed

To Reproduce
Create a Rollout with spec.replicas = 1 and spec.strategy.canary.minPodsPerReplicaSet = 2; and trigger a rollout with a new template change.

Expected behavior
Argo Rollouts does not get into a reconciliation loop or has a check to ensure that spec.strategy.canary.minPodsPerReplicaSet is not > spec.replicas

Screenshots

Version
1.8.3

Logs

Started syncing rollout
Found 1 TrafficRouting Reconcilers
Reconciling TrafficRouting with type 'Istio'
DestinationRule myservice subset updated (canary: 587d998559, stable: 587d998559)
No StableRS exists to reconcile or matches newRS
No Steps remain in the canary steps
No status changes. Skipping patch
Queueing up Rollout for a progress check now
Reconciliation completed

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