KB-19 Confirmed
A wave failure does not record the wave number in status.lastAttempted.failure
Behavior#
status.lastAttempted.failure has a waveNumber field. The API Reference describes it as “the
wave number of the failure”. When a sync wave fails, convoy writes only stage and message.
No code in convoy writes waveNumber.
Effect#
A tool that reads failure.waveNumber to find the failed wave gets no value.
Workaround#
Read the wave numbers from the message of the failure. An example is sync wave 1: preceding wave 0 not healthy within 30s. The Applied condition has the same message. status.waves lists the waves that
convoy applied.
Fix direction#
Set failure.waveNumber to the number of the wave that failed, in waveHealthGate.
In the code
convoy v0.9.0
internal/controller/release.(*Controller).waveHealthGateinternal/controller/release/controller.go:1593internal/controller/release.(*reconcileState).failinternal/controller/release/controller.go:786