2020-12-17 14:55:53 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
|
|
|
|
package neo.fs.v2.audit;
|
|
|
|
|
2022-12-09 11:18:06 +00:00
|
|
|
option go_package = "github.com/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.
|
|
|
|
neo.fs.v2.refs.Version version = 1 [json_name = "version"];
|
|
|
|
|
|
|
|
// Epoch number when the Data Audit was conducted
|
|
|
|
fixed64 audit_epoch = 2 [json_name = "auditEpoch"];
|
|
|
|
|
|
|
|
// Container under audit
|
|
|
|
neo.fs.v2.refs.ContainerID container_id = 3 [json_name = "containerID"];
|
|
|
|
|
|
|
|
// Public key of the auditing InnerRing node in a binary format
|
|
|
|
bytes public_key = 4 [json_name = "publicKey"];
|
|
|
|
|
|
|
|
// Shows if Data Audit process was complete in time or if it was cancelled
|
|
|
|
bool complete = 5 [json_name = "complete"];
|
|
|
|
|
|
|
|
// Number of request done at PoR stage
|
|
|
|
uint32 requests = 6 [json_name = "requests"];
|
|
|
|
|
|
|
|
// Number of retries done at PoR stage
|
|
|
|
uint32 retries = 7 [json_name = "retries"];
|
|
|
|
|
|
|
|
// List of Storage Groups that passed audit PoR stage
|
|
|
|
repeated neo.fs.v2.refs.ObjectID pass_sg = 8 [json_name = "passSG"];
|
|
|
|
|
|
|
|
// List of Storage Groups that failed audit PoR stage
|
|
|
|
repeated neo.fs.v2.refs.ObjectID fail_sg = 9 [json_name = "failSG"];
|
|
|
|
|
2022-04-13 06:21:33 +00:00
|
|
|
// Number of sampled objects under the audit placed in an optimal way according to
|
2020-12-17 14:55:53 +00:00
|
|
|
// the containers placement policy when checking PoP
|
|
|
|
uint32 hit = 10 [json_name = "hit"];
|
|
|
|
|
2022-04-13 06:21:33 +00:00
|
|
|
// Number of sampled objects under the audit placed in suboptimal way according to
|
2020-12-17 14:55:53 +00:00
|
|
|
// the containers placement policy, but still at a satisfactory level when
|
|
|
|
// checking PoP
|
|
|
|
uint32 miss = 11 [json_name = "miss"];
|
|
|
|
|
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
|
|
|
|
uint32 fail = 12 [json_name = "fail"];
|
|
|
|
|
|
|
|
// List of storage node public keys that passed at least one PDP
|
|
|
|
repeated bytes pass_nodes = 13 [json_name = "passNodes"];
|
|
|
|
|
|
|
|
// List of storage node public keys that failed at least one PDP
|
|
|
|
repeated bytes fail_nodes = 14 [json_name = "failNodes"];
|
|
|
|
}
|