Skip to content

Commit

Permalink
fix equality check for nrql alert conditions (#215)
Browse files Browse the repository at this point in the history
  • Loading branch information
dlutsch committed Nov 17, 2020
1 parent dfc6df1 commit 1e8f7d5
Showing 1 changed file with 7 additions and 9 deletions.
16 changes: 7 additions & 9 deletions efopen/newrelic_executor.py
Original file line number Diff line number Diff line change
Expand Up @@ -224,15 +224,13 @@ def override_infra_alert_condition_values(self, policy, service_alert_overrides)
def update_alert_nrql_condition_if_different(self, local_alert_nrql_condition, policy):
for remote_alert_nrql_condition in policy.remote_alert_nrql_conditions:
if remote_alert_nrql_condition["name"] == local_alert_nrql_condition["name"]:
# Add fields that exist in the remote alert condition object but not in the local alert condition object.
# This is done so that we can test equality.
local_alert_nrql_condition['id'] = remote_alert_nrql_condition['id']
local_alert_nrql_condition['type'] = remote_alert_nrql_condition['type']

if local_alert_nrql_condition != remote_alert_nrql_condition:
logger.info("Local alert nrql condition differs from remote alert nrql condition for {}-{}. Updating remote.".format(policy.env,policy.service))
logger.debug("Local: {}\nRemote: {}".format(local_alert_nrql_condition, remote_alert_nrql_condition))
self.newrelic.put_policy_alert_nrql_condition(remote_alert_nrql_condition["id"], local_alert_nrql_condition)
relevant_fields = ["nrql", "terms", "enabled", "value_function", "violation_time_limit_seconds"]
for key in relevant_fields:
if local_alert_nrql_condition[key] != remote_alert_nrql_condition[key]:
logger.info("Local alert nrql condition differs from remote alert nrql condition for {}-{}. Updating remote.".format(policy.env, policy.service))
logger.info("Local: {}\nRemote: {}".format(local_alert_nrql_condition, remote_alert_nrql_condition))
self.newrelic.put_policy_alert_nrql_condition(remote_alert_nrql_condition["id"], local_alert_nrql_condition)
break

def update_alert_apm_condition_if_different(self, local_alert_apm_condition, policy):
for remote_alert_apm_condition in policy.remote_alert_apm_conditions:
Expand Down

0 comments on commit 1e8f7d5

Please sign in to comment.