Skip to content

fix(job): do not fail the whole build when a device fails to convert - #75

Open
djothi wants to merge 1 commit into
criteo:mainfrom
djothi:fix/build-skip-failed-devices
Open

djothi wants to merge 1 commit into
criteo:mainfrom
djothi:fix/build-skip-failed-devices

Conversation

@djothi

@djothi djothi commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

A single device failing its OpenConfig conversion made the compute step return an error, which discarded the build for every device and left the API serving nothing. Build.AllDevicesMustBuild was only honoured for precompute failures.

Devices failing to convert are now set to nil, like the ones failing to precompute, so the API serves an empty configuration for them while the other devices are published. The build only fails on a conversion error when Build.AllDevicesMustBuild is enabled.

Conversion errors are also reported as compute messages instead of precompute ones.

A single device failing its OpenConfig conversion made the compute step
return an error, which discarded the build for every device and left the
API serving nothing. Build.AllDevicesMustBuild was only honoured for
precompute failures.

Devices failing to convert are now set to nil, like the ones failing to
precompute, so the API serves an empty configuration for them while the
other devices are published. The build only fails on a conversion error
when Build.AllDevicesMustBuild is enabled.

Conversion errors are also reported as compute messages instead of
precompute ones.
@kpetremann

kpetremann commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

This was on purpose.

A failure at Compute step is a bug. It must never happen, as it means the input is wrong, which must not happen (the CMDB models must protect against that).

@kpetremann kpetremann left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compute failure is a code (or CMDB bug). It must be considered as a complete failure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants