Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new_group_delay monitor option #1176

Merged
merged 3 commits into from
Aug 20, 2021

Conversation

chrismdd
Copy link
Contributor

@chrismdd chrismdd commented Aug 18, 2021

This PR adds a new monitor option, new_group_delay to the monitor data source and resource.

new_group_delay is a replacement for new_host_delay that works for all multi-alert monitors, not only for those grouped by host. When both options are specified in a monitor definition, new_group_delay overrides new_host_delay.

new_host_delay currently defaults to 300 in this provider. Removing this default would be a breaking change and is therefore not possible without a major version update.

The ideal behavior would be for new_group_delay and new_host_delay to conflict with each other, and for the provider to not set a default value for new_host_delay when new_group_delay is specified in the config of a monitor resource. Unfortunately, due to limitations of the terraform SDK, it is not possible (as far as I can tell) to reliably distinguish between new_group_delay being set to zero in the config and not being set at all. Specifically, I found that it wasn't possible to unset this field in updateMonitorState because ResourceData stores fields in multiple levels that are merged when reading the field, but we can only unset the field at one level.

Instead, we opted to keep new_group_delay and new_host_delay independent. This has the downside that disabling delay for monitors grouped by by host requires setting new_host_delay to zero, despite the field now being deprecated. This requirement is clearly documented.

Fixes #1183

@chrismdd chrismdd requested review from a team as code owners August 18, 2021 18:58
@chrismdd chrismdd force-pushed the chrism/add-new_group_delay-monitor-option branch 2 times, most recently from bdbe643 to 4c0eb74 Compare August 18, 2021 20:58
alai97
alai97 previously requested changes Aug 18, 2021
Copy link
Contributor

@alai97 alai97 left a comment

Choose a reason for hiding this comment

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

Minor wording nit!

docs/resources/monitor.md Outdated Show resolved Hide resolved
docs/resources/monitor.md Outdated Show resolved Hide resolved
docs/resources/monitor.md Outdated Show resolved Hide resolved
zippolyte
zippolyte previously approved these changes Aug 19, 2021
@zippolyte
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@zippolyte zippolyte force-pushed the chrism/add-new_group_delay-monitor-option branch from ddc4f82 to c784f2b Compare August 20, 2021 12:43
@zippolyte
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@zippolyte zippolyte dismissed alai97’s stale review August 20, 2021 13:38

Changes made

@zippolyte zippolyte merged commit 65f1456 into master Aug 20, 2021
@zippolyte zippolyte deleted the chrism/add-new_group_delay-monitor-option branch August 20, 2021 13:39
@jasperbogers-ig
Copy link

This change does not appear to work as a replacement for new_host_delay; we see an error {"errors": ["The new_group_delay option can only be used for multi-alert monitors"]}, breaking our build.

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.

datadog_monitor new_host_delay is a deprecated parameter, and does not work well
4 participants