2020-12-17 14:55:53 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package neo.fs.v2.audit;
|
|
|
|
|
2023-03-07 08:50:02 +00:00
|
|
|
option go_package = "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/audit/grpc;audit";
|
2021-03-10 10:54:06 +00:00
|
|
|
option csharp_namespace = "Neo.FileStorage.API.Audit";
|
2020-12-17 14:55:53 +00:00
|
|
|
|
|
|
|
import "refs/types.proto";
|
|
|
|
|
|
|
|
// DataAuditResult keeps record of conducted Data Audits. The detailed report is
|
|
|
|
// generated separately.
|
|
|
|
message DataAuditResult {
|
2022-04-13 06:21:33 +00:00
|
|
|
// Data Audit Result format version. Effectively, the version of API library
|
2020-12-17 14:55:53 +00:00
|
|
|
// used to report DataAuditResult structure.
|
2024-02-28 15:53:04 +00:00
|
|
|
neo.fs.v2.refs.Version version = 1 [ json_name = "version" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
|
|
|
// Epoch number when the Data Audit was conducted
|
2024-02-28 15:53:04 +00:00
|
|
|
fixed64 audit_epoch = 2 [ json_name = "auditEpoch" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
|
|
|
// Container under audit
|
2024-02-28 15:53:04 +00:00
|
|
|
neo.fs.v2.refs.ContainerID container_id = 3 [ json_name = "containerID" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
|
|
|
// Public key of the auditing InnerRing node in a binary format
|
2024-02-28 15:53:04 +00:00
|
|
|
bytes public_key = 4 [ json_name = "publicKey" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
|
|
|
// Shows if Data Audit process was complete in time or if it was cancelled
|
2024-02-28 15:53:04 +00:00
|
|
|
bool complete = 5 [ json_name = "complete" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
|
|
|
// Number of request done at PoR stage
|
2024-02-28 15:53:04 +00:00
|
|
|
uint32 requests = 6 [ json_name = "requests" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
|
|
|
// Number of retries done at PoR stage
|
2024-02-28 15:53:04 +00:00
|
|
|
uint32 retries = 7 [ json_name = "retries" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
|
|
|
// List of Storage Groups that passed audit PoR stage
|
2024-02-28 15:53:04 +00:00
|
|
|
repeated neo.fs.v2.refs.ObjectID pass_sg = 8 [ json_name = "passSG" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
|
|
|
// List of Storage Groups that failed audit PoR stage
|
2024-02-28 15:53:04 +00:00
|
|
|
repeated neo.fs.v2.refs.ObjectID fail_sg = 9 [ json_name = "failSG" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
2024-02-28 15:53:04 +00:00
|
|
|
// Number of sampled objects under the audit placed in an optimal way
|
|
|
|
// according to the containers placement policy when checking PoP
|
|
|
|
uint32 hit = 10 [ json_name = "hit" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
2024-02-28 15:53:04 +00:00
|
|
|
// Number of sampled objects under the audit placed in suboptimal way
|
|
|
|
// according to the containers placement policy, but still at a satisfactory
|
|
|
|
// level when checking PoP
|
|
|
|
uint32 miss = 11 [ json_name = "miss" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
2022-04-13 06:21:33 +00:00
|
|
|
// Number of sampled objects under the audit stored inconsistently with the
|
2020-12-17 14:55:53 +00:00
|
|
|
// placement policy or not found at all when checking PoP
|
2024-02-28 15:53:04 +00:00
|
|
|
uint32 fail = 12 [ json_name = "fail" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
|
|
|
// List of storage node public keys that passed at least one PDP
|
2024-02-28 15:53:04 +00:00
|
|
|
repeated bytes pass_nodes = 13 [ json_name = "passNodes" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
|
|
|
|
// List of storage node public keys that failed at least one PDP
|
2024-02-28 15:53:04 +00:00
|
|
|
repeated bytes fail_nodes = 14 [ json_name = "failNodes" ];
|
2020-12-17 14:55:53 +00:00
|
|
|
}
|