mirror of
https://github.com/aljazceru/kata-containers.git
synced 2025-12-18 23:04:20 +01:00
Add GetVolumeStats and ResizeVolume APIs for the runtime to query stat and resize fs in the guest. Fixes: #3454 Signed-off-by: Feng Wang <feng.wang@databricks.com>
61 lines
1.8 KiB
Protocol Buffer
61 lines
1.8 KiB
Protocol Buffer
// Copyright (c) 2022 Databricks Inc.
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
|
|
syntax = "proto3";
|
|
option go_package = "github.com/kata-containers/kata-containers/src/runtime/virtcontainers/pkg/agent/protocols/grpc";
|
|
|
|
package grpc;
|
|
import "gogo/protobuf/gogoproto/gogo.proto";
|
|
|
|
option (gogoproto.equal_all) = true;
|
|
option (gogoproto.populate_all) = true;
|
|
option (gogoproto.testgen_all) = true;
|
|
option (gogoproto.benchgen_all) = true;
|
|
|
|
// This should be kept in sync with CSI NodeGetVolumeStatsResponse (https://github.com/container-storage-interface/spec/blob/v1.5.0/csi.proto)
|
|
message VolumeStatsResponse {
|
|
// This field is OPTIONAL.
|
|
repeated VolumeUsage usage = 1;
|
|
// Information about the current condition of the volume.
|
|
// This field is OPTIONAL.
|
|
// This field MUST be specified if the VOLUME_CONDITION node
|
|
// capability is supported.
|
|
VolumeCondition volume_condition = 2;
|
|
}
|
|
message VolumeUsage {
|
|
enum Unit {
|
|
UNKNOWN = 0;
|
|
BYTES = 1;
|
|
INODES = 2;
|
|
}
|
|
// The available capacity in specified Unit. This field is OPTIONAL.
|
|
// The value of this field MUST NOT be negative.
|
|
uint64 available = 1;
|
|
|
|
// The total capacity in specified Unit. This field is REQUIRED.
|
|
// The value of this field MUST NOT be negative.
|
|
uint64 total = 2;
|
|
|
|
// The used capacity in specified Unit. This field is OPTIONAL.
|
|
// The value of this field MUST NOT be negative.
|
|
uint64 used = 3;
|
|
|
|
// Units by which values are measured. This field is REQUIRED.
|
|
Unit unit = 4;
|
|
}
|
|
|
|
// VolumeCondition represents the current condition of a volume.
|
|
message VolumeCondition {
|
|
|
|
// Normal volumes are available for use and operating optimally.
|
|
// An abnormal volume does not meet these criteria.
|
|
// This field is REQUIRED.
|
|
bool abnormal = 1;
|
|
|
|
// The message describing the condition of the volume.
|
|
// This field is REQUIRED.
|
|
string message = 2;
|
|
}
|