desc='Time interval in seconds to allow a cooldown between level 2 upload snap requests'
),
Option(
- name='disable_service_events',
+ name='enable_service_events',
type='bool',
default=False,
- desc='Disable service events'
+ desc='Enable service events'
),
]
setattr(self, opt['name'], self.get_module_option(opt['name']))
self.log.debug(f" {opt['name']} = {getattr(self, opt['name'])}")
- self.proxies = {'http': proxy, 'https': proxy} if self.proxy else {}
+ self.proxies = {'http': self.proxy, 'https': self.proxy} if self.proxy else {}
self.jwt_jti = self.get_jwt_jti()
except Exception as e:
return HandleCommandResult(retval=1, stderr=str(e))
else:
- return HandleCommandResult(stdout=f'country code is set to {country_code}')
+ return HandleCommandResult()
finally:
self.refresh_options() # This will always run, no matter what.
data=json.dumps(report),
proxies=self.agent.proxies,
timeout=60)
- self.agent.log.debug(f"Report response: {resp.text}") # TODO: remove keys
+ try:
+ self.agent.log.debug(f"Report response: {json.dumps(self.agent._filter_report(resp.json()))}")
+ except:
+ self.agent.log.debug(f"Report response text: {resp.text}")
+
resp.raise_for_status()
ch_response = resp.json()
event = EventService(self.agent).generate(report_times, self.alerts)
self.add_event(event)
self.agent.log.debug("Generated service event:")
- self.agent.log.debug(json.dumps(self.data)) # TODO: remove keys from the output
+ self.agent.log.debug(json.dumps(self.agent._filter_report(self.data)))
return self.data
class EventService(EventGeneric):
alert_subject = alert_name + ((':' + alert_instance) if alert_instance else '')
alert_subject = alert_subject[:140] # Call home 'code' field is limited to 140 characters.
- description = json.dumps(alerts_sorted, sort_keys = True, indent=4)
- description = description[:10000]
+ # Use this in case of having body.description in addition to
+ # body.payload.description as the former has a 10K characters limitation.
+ # description = json.dumps(alerts_sorted, sort_keys = True, indent=4)
+ # description = description[:10000]
now = time.time()
"timestamp": int(now), # time in seconds
"transid": int(now * 1000) # time in milliseconds
},
- "description": description, # semi described, 10K character limit
"object_instance_virtual_id": self.agent.ceph_cluster_id,
"object_instance": self.agent.ceph_cluster_id,
"object_type": "ceph",
###############
"payload": {
"ceph_versions": versions,
+ "description": alerts_sorted, # semi described, 10K character limit
+ "error_code": alert_subject, # the same as body.code above
"software": {
"diagnostic_provided": True,
"ibm_ceph_version": "9.0.0" if self.agent.target_space == "prod" else "8.0.0"