bookingcom / shipper

Kubernetes native multi-cluster canary or blue-green rollouts using Helm
Apache License 2.0
733 stars 39 forks source link

Release controller: patches are applied on the owning release only #284

Closed osdrv closed 4 years ago

osdrv commented 4 years ago

Since the moment of introduction of Patch interface, release controller and strategy executor in particular started using Patch.Alters() method in order to distinguish altering patches from no-op. It turned out there was an inconsistency between the recepient and the validation objects. In essense, we were checking if a patch alters a predecessor release object whereas on a positive check it was sent to alter the successor release. This patch ensures all patches are validated against the same generation of releases.

Signed-off-by: Oleg Sidorov oleg.sidorov@booking.com