Change camelCase to snake_case in JSON
The Java Persister converts camelCase to snake_case for the alarm state transition sub_alarms JSON element. The python persister needs to do the same. The following element names in the alarm state transition sub_alarm element need to be converted to snake_case: subAlarmExpression -> sub_alarm_expression metricDefinition -> metric_definition alarmState -> alarm_state These elements originate from the Monasca Threshold Engine. Ideally, the Threshold Engine should be modified to send the JSON in snake_case. Change-Id: I33c779e4741c797fbeeaf179441a65504444b0bd
This commit is contained in:
parent
075002df2f
commit
9b1f5b60cc
@ -440,6 +440,26 @@ class AlarmPersister(AbstractPersister):
|
||||
|
||||
sub_alarms = alarm_transitioned['subAlarms']
|
||||
|
||||
if sub_alarms:
|
||||
|
||||
sub_alarms_json = json.dumps(sub_alarms, ensure_ascii=False)
|
||||
|
||||
sub_alarms_json_snake_case = sub_alarms_json.replace(
|
||||
'"subAlarmExpression":',
|
||||
'"sub_alarm_expression":')
|
||||
|
||||
sub_alarms_json_snake_case = sub_alarms_json_snake_case.replace(
|
||||
'"metricDefinition":',
|
||||
'"metric_definition":')
|
||||
|
||||
sub_alarms_json_snake_case = sub_alarms_json_snake_case.replace(
|
||||
'"subAlarmState":',
|
||||
'"sub_alarm_state":')
|
||||
|
||||
else:
|
||||
|
||||
sub_alarms_json_snake_case = "[]"
|
||||
|
||||
ts = time_stamp / 1000.0
|
||||
|
||||
data = {"measurement": 'alarm_state_history',
|
||||
@ -453,9 +473,7 @@ class AlarmPersister(AbstractPersister):
|
||||
"old_state": old_state.encode('utf8'),
|
||||
"reason": state_change_reason.encode('utf8'),
|
||||
"reason_data": "{}".encode('utf8'),
|
||||
"sub_alarms": json.dumps(sub_alarms,
|
||||
ensure_ascii=False).encode(
|
||||
'utf8') if sub_alarms else "[]".encode('utf8')
|
||||
"sub_alarms": sub_alarms_json_snake_case.encode('utf8')
|
||||
},
|
||||
"tags": {
|
||||
"tenant_id": tenant_id.encode('utf8')
|
||||
|
Loading…
x
Reference in New Issue
Block a user