summaryrefslogtreecommitdiffstats
path: root/aclk/schema-wrappers
diff options
context:
space:
mode:
authorEmmanuel Vasilakis <mrzammler@mm.st>2023-04-21 12:24:43 +0300
committerGitHub <noreply@github.com>2023-04-21 12:24:43 +0300
commit0d2c327ae58af5de35c9cb35a20cce9f59e92b9c (patch)
tree3f186f7a01ab574d0e2ba3ac46b85ea57aef56a8 /aclk/schema-wrappers
parent8d953cf206cdaac35aaa493cfcf419955db811da (diff)
Add a checkpoint message to alerts stream (#14847)
* pull aclk schemas * resolve capas * handle checkpoints and removed from health * build with disable-cloud * codacy 1 * misc changes * one more char in hash * free buffer * change topic * misc fixes * skip removed alert variables * change hash functions * use create and destroy for compatibility with older openssl
Diffstat (limited to 'aclk/schema-wrappers')
-rw-r--r--aclk/schema-wrappers/alarm_stream.cc80
-rw-r--r--aclk/schema-wrappers/alarm_stream.h47
-rw-r--r--aclk/schema-wrappers/proto_2_json.cc8
3 files changed, 53 insertions, 82 deletions
diff --git a/aclk/schema-wrappers/alarm_stream.cc b/aclk/schema-wrappers/alarm_stream.cc
index f643933002..af0b891ca4 100644
--- a/aclk/schema-wrappers/alarm_stream.cc
+++ b/aclk/schema-wrappers/alarm_stream.cc
@@ -21,57 +21,24 @@ struct start_alarm_streaming parse_start_alarm_streaming(const char *data, size_
return ret;
ret.node_id = strdupz(msg.node_id().c_str());
- ret.batch_id = msg.batch_id();
- ret.start_seq_id = msg.start_sequnce_id();
+ ret.resets = msg.resets();
return ret;
}
-char *parse_send_alarm_log_health(const char *data, size_t len)
+struct send_alarm_checkpoint parse_send_alarm_checkpoint(const char *data, size_t len)
{
- SendAlarmLogHealth msg;
- if (!msg.ParseFromArray(data, len))
- return NULL;
- return strdupz(msg.node_id().c_str());
-}
-
-char *generate_alarm_log_health(size_t *len, struct alarm_log_health *data)
-{
- AlarmLogHealth msg;
- LogEntries *entries;
-
- msg.set_claim_id(data->claim_id);
- msg.set_node_id(data->node_id);
- msg.set_enabled(data->enabled);
-
- switch (data->status) {
- case alarm_log_status_aclk::ALARM_LOG_STATUS_IDLE:
- msg.set_status(alarms::v1::ALARM_LOG_STATUS_IDLE);
- break;
- case alarm_log_status_aclk::ALARM_LOG_STATUS_RUNNING:
- msg.set_status(alarms::v1::ALARM_LOG_STATUS_RUNNING);
- break;
- case alarm_log_status_aclk::ALARM_LOG_STATUS_UNSPECIFIED:
- msg.set_status(alarms::v1::ALARM_LOG_STATUS_UNSPECIFIED);
- break;
- default:
- error("Unknown status of AlarmLogHealth LogEntry");
- return NULL;
- }
-
- entries = msg.mutable_log_entries();
- entries->set_first_sequence_id(data->log_entries.first_seq_id);
- entries->set_last_sequence_id(data->log_entries.last_seq_id);
+ struct send_alarm_checkpoint ret;
+ memset(&ret, 0, sizeof(ret));
- set_google_timestamp_from_timeval(data->log_entries.first_when, entries->mutable_first_when());
- set_google_timestamp_from_timeval(data->log_entries.last_when, entries->mutable_last_when());
+ SendAlarmCheckpoint msg;
+ if (!msg.ParseFromArray(data, len))
+ return ret;
- *len = PROTO_COMPAT_MSG_SIZE(msg);
- char *bin = (char*)mallocz(*len);
- if (!msg.SerializeToArray(bin, *len))
- return NULL;
+ ret.node_id = strdupz(msg.node_id().c_str());
+ ret.claim_id = strdupz(msg.claim_id().c_str());
- return bin;
+ return ret;
}
static alarms::v1::AlarmStatus aclk_alarm_status_to_proto(enum aclk_alarm_status status)
@@ -131,8 +98,6 @@ static void fill_alarm_log_entry(struct alarm_log_entry *data, AlarmLogEntry *pr
if (data->family)
proto->set_family(data->family);
- proto->set_batch_id(data->batch_id);
- proto->set_sequence_id(data->sequence_id);
proto->set_when(data->when);
proto->set_config_hash(data->config_hash);
@@ -187,6 +152,24 @@ char *generate_alarm_log_entry(size_t *len, struct alarm_log_entry *data)
return bin;
}
+char *generate_alarm_checkpoint(size_t *len, struct alarm_checkpoint *data)
+{
+ AlarmCheckpoint msg;
+
+ msg.set_claim_id(data->claim_id);
+ msg.set_node_id(data->node_id);
+ msg.set_checksum(data->checksum);
+
+ *len = PROTO_COMPAT_MSG_SIZE(msg);
+ char *bin = (char*)mallocz(*len);
+ if (!msg.SerializeToArray(bin, *len)) {
+ freez(bin);
+ return NULL;
+ }
+
+ return bin;
+}
+
struct send_alarm_snapshot *parse_send_alarm_snapshot(const char *data, size_t len)
{
SendAlarmSnapshot msg;
@@ -198,8 +181,8 @@ struct send_alarm_snapshot *parse_send_alarm_snapshot(const char *data, size_t l
ret->claim_id = strdupz(msg.claim_id().c_str());
if (msg.node_id().c_str())
ret->node_id = strdupz(msg.node_id().c_str());
- ret->snapshot_id = msg.snapshot_id();
- ret->sequence_id = msg.sequence_id();
+ if (msg.snapshot_uuid().c_str())
+ ret->snapshot_uuid = strdupz(msg.snapshot_uuid().c_str());
return ret;
}
@@ -208,6 +191,7 @@ void destroy_send_alarm_snapshot(struct send_alarm_snapshot *ptr)
{
freez(ptr->claim_id);
freez(ptr->node_id);
+ freez(ptr->snapshot_uuid);
freez(ptr);
}
@@ -218,7 +202,7 @@ alarm_snapshot_proto_ptr_t generate_alarm_snapshot_proto(struct alarm_snapshot *
msg->set_node_id(data->node_id);
msg->set_claim_id(data->claim_id);
- msg->set_snapshot_id(data->snapshot_id);
+ msg->set_snapshot_uuid(data->snapshot_uuid);
msg->set_chunks(data->chunks);
msg->set_chunk(data->chunk);
diff --git a/aclk/schema-wrappers/alarm_stream.h b/aclk/schema-wrappers/alarm_stream.h
index 63911da3fa..83e7c1bce3 100644
--- a/aclk/schema-wrappers/alarm_stream.h
+++ b/aclk/schema-wrappers/alarm_stream.h
@@ -11,38 +11,12 @@
extern "C" {
#endif
-enum alarm_log_status_aclk {
- ALARM_LOG_STATUS_UNSPECIFIED = 0,
- ALARM_LOG_STATUS_RUNNING = 1,
- ALARM_LOG_STATUS_IDLE = 2
-};
-
-struct alarm_log_entries {
- int64_t first_seq_id;
- struct timeval first_when;
-
- int64_t last_seq_id;
- struct timeval last_when;
-};
-
-struct alarm_log_health {
- char *claim_id;
- char *node_id;
- int enabled;
- enum alarm_log_status_aclk status;
- struct alarm_log_entries log_entries;
-};
-
struct start_alarm_streaming {
char *node_id;
- uint64_t batch_id;
- uint64_t start_seq_id;
+ bool resets;
};
struct start_alarm_streaming parse_start_alarm_streaming(const char *data, size_t len);
-char *parse_send_alarm_log_health(const char *data, size_t len);
-
-char *generate_alarm_log_health(size_t *len, struct alarm_log_health *data);
enum aclk_alarm_status {
ALARM_STATUS_NULL = 0,
@@ -101,17 +75,27 @@ struct alarm_log_entry {
char *chart_context;
};
+struct send_alarm_checkpoint {
+ char *node_id;
+ char *claim_id;
+};
+
+struct alarm_checkpoint {
+ char *node_id;
+ char *claim_id;
+ char *checksum;
+};
+
struct send_alarm_snapshot {
char *node_id;
char *claim_id;
- uint64_t snapshot_id;
- uint64_t sequence_id;
+ char *snapshot_uuid;
};
struct alarm_snapshot {
char *node_id;
char *claim_id;
- uint64_t snapshot_id;
+ char *snapshot_uuid;
uint32_t chunks;
uint32_t chunk;
};
@@ -125,6 +109,9 @@ char *generate_alarm_log_entry(size_t *len, struct alarm_log_entry *data);
struct send_alarm_snapshot *parse_send_alarm_snapshot(const char *data, size_t len);
void destroy_send_alarm_snapshot(struct send_alarm_snapshot *ptr);
+struct send_alarm_checkpoint parse_send_alarm_checkpoint(const char *data, size_t len);
+char *generate_alarm_checkpoint(size_t *len, struct alarm_checkpoint *data);
+
alarm_snapshot_proto_ptr_t generate_alarm_snapshot_proto(struct alarm_snapshot *data);
void add_alarm_log_entry2snapshot(alarm_snapshot_proto_ptr_t snapshot, struct alarm_log_entry *data);
char *generate_alarm_snapshot_bin(size_t *len, alarm_snapshot_proto_ptr_t snapshot);
diff --git a/aclk/schema-wrappers/proto_2_json.cc b/aclk/schema-wrappers/proto_2_json.cc
index 8853b2e083..4294f7efe5 100644
--- a/aclk/schema-wrappers/proto_2_json.cc
+++ b/aclk/schema-wrappers/proto_2_json.cc
@@ -29,8 +29,8 @@ static google::protobuf::Message *msg_name_to_protomsg(const char *msgname)
return new nodeinstance::create::v1::CreateNodeInstance;
if (!strcmp(msgname, "UpdateNodeInfo"))
return new nodeinstance::info::v1::UpdateNodeInfo;
- if (!strcmp(msgname, "AlarmLogHealth"))
- return new alarms::v1::AlarmLogHealth;
+ if (!strcmp(msgname, "AlarmCheckpoint"))
+ return new alarms::v1::AlarmCheckpoint;
if (!strcmp(msgname, "ProvideAlarmConfiguration"))
return new alarms::v1::ProvideAlarmConfiguration;
if (!strcmp(msgname, "AlarmSnapshot"))
@@ -51,8 +51,8 @@ static google::protobuf::Message *msg_name_to_protomsg(const char *msgname)
return new agent::v1::SendNodeInstances;
if (!strcmp(msgname, "StartAlarmStreaming"))
return new alarms::v1::StartAlarmStreaming;
- if (!strcmp(msgname, "SendAlarmLogHealth"))
- return new alarms::v1::SendAlarmLogHealth;
+ if (!strcmp(msgname, "SendAlarmCheckpoint"))
+ return new alarms::v1::SendAlarmCheckpoint;
if (!strcmp(msgname, "SendAlarmConfiguration"))
return new alarms::v1::SendAlarmConfiguration;
if (!strcmp(msgname, "SendAlarmSnapshot"))