From c85f9d682ce774af1717775f0a2c4f09e4299708 Mon Sep 17 00:00:00 2001 From: Grayson Guarino Date: Tue, 25 Aug 2026 11:40:37 -0400 Subject: [PATCH] feat(control): add ZoneMemoryPressureChangedEvent --- protect/control/v1/common.proto | 8 ++++++++ protect/control/v1/control.proto | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/protect/control/v1/common.proto b/protect/control/v1/common.proto index 18ceb99..94d2355 100644 --- a/protect/control/v1/common.proto +++ b/protect/control/v1/common.proto @@ -827,6 +827,14 @@ message ZoneDiskStatus { bool delete = 6; } +enum ZoneMemoryPressureState { + ZONE_MEMORY_PRESSURE_STATE_UNKNOWN = 0; + ZONE_MEMORY_PRESSURE_STATE_OK = 1; + ZONE_MEMORY_PRESSURE_STATE_SOFT = 2; + ZONE_MEMORY_PRESSURE_STATE_HARD = 3; + ZONE_MEMORY_PRESSURE_STATE_CRITICAL = 4; +} + message ZoneMountStatus { uint64 device_id = 1; string host_path = 2; diff --git a/protect/control/v1/control.proto b/protect/control/v1/control.proto index 783dcae..c69a86f 100644 --- a/protect/control/v1/control.proto +++ b/protect/control/v1/control.proto @@ -550,6 +550,7 @@ message WatchEventsReply { WorkloadChangedEvent workload_changed = 2; AdvertiseServiceEvent advertise_service = 3; UnadvertiseServiceEvent unadvertise_service = 4; + ZoneMemoryPressureChangedEvent zone_memory_pressure_changed = 5; } } @@ -1004,3 +1005,16 @@ message ListObjectCapabilitiesRequest {} message ListObjectCapabilitiesReply { repeated ObjectCapabilityInfo object_capabilities = 1; } + +// Carries a guest NUMA node's memory-pressure state transition for a zone. +message ZoneMemoryPressureChangedEvent { + string zone_id = 1; + uint32 nid = 2; + ZoneMemoryPressureState old_state = 3; + ZoneMemoryPressureState new_state = 4; + uint64 transition_timestamp = 5; + // Set only for kube-managed zones. + optional string namespace = 6; + optional string pod = 7; +} +