From c619a3c8ac4ce2db315b8ef10f2c58e1fa3d25b9 Mon Sep 17 00:00:00 2001 From: Gaius Date: Wed, 23 Jul 2025 11:53:20 +0800 Subject: [PATCH] feat: local_only specifies whether to query task information from local client only (#513) Signed-off-by: Gaius --- Cargo.lock | 2 +- Cargo.toml | 2 +- pkg/apis/dfdaemon/v2/dfdaemon.pb.go | 28 ++++++++++++++----- pkg/apis/dfdaemon/v2/dfdaemon.pb.validate.go | 2 ++ pkg/apis/dfdaemon/v2/dfdaemon.proto | 5 ++++ proto/dfdaemon.proto | 5 ++++ src/descriptor.bin | Bin 110405 -> 110743 bytes src/dfdaemon.v2.rs | 6 ++++ 8 files changed, 41 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ea5c355..e43d449 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -190,7 +190,7 @@ dependencies = [ [[package]] name = "dragonfly-api" -version = "2.1.47" +version = "2.1.48" dependencies = [ "prost 0.13.5", "prost-types 0.14.1", diff --git a/Cargo.toml b/Cargo.toml index a26c54f..b90aeb2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dragonfly-api" -version = "2.1.47" +version = "2.1.48" authors = ["Gaius "] edition = "2021" license = "Apache-2.0" diff --git a/pkg/apis/dfdaemon/v2/dfdaemon.pb.go b/pkg/apis/dfdaemon/v2/dfdaemon.pb.go index 1835fca..6d3a5d6 100644 --- a/pkg/apis/dfdaemon/v2/dfdaemon.pb.go +++ b/pkg/apis/dfdaemon/v2/dfdaemon.pb.go @@ -593,6 +593,11 @@ type StatTaskRequest struct { TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` // Remote IP represents the IP address of the client initiating the stat request. RemoteIp *string `protobuf:"bytes,2,opt,name=remote_ip,json=remoteIp,proto3,oneof" json:"remote_ip,omitempty"` + // local_only specifies whether to query task information from local client only. + // If true, the query will be restricted to the local client. + // By default (false), the query may be forwarded to the scheduler + // for a cluster-wide search. + LocalOnly bool `protobuf:"varint,3,opt,name=local_only,json=localOnly,proto3" json:"local_only,omitempty"` } func (x *StatTaskRequest) Reset() { @@ -641,6 +646,13 @@ func (x *StatTaskRequest) GetRemoteIp() string { return "" } +func (x *StatTaskRequest) GetLocalOnly() bool { + if x != nil { + return x.LocalOnly + } + return false +} + // ListTaskEntriesRequest represents request of ListTaskEntries. type ListTaskEntriesRequest struct { state protoimpl.MessageState @@ -2154,13 +2166,15 @@ var file_pkg_apis_dfdaemon_v2_dfdaemon_proto_rawDesc = []byte{ 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x30, 0x2d, 0x39, 0x5d, 0x7b, 0x36, 0x34, 0x7d, 0x7c, 0x63, 0x72, 0x63, 0x33, 0x32, 0x3a, 0x5b, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x30, 0x2d, 0x39, 0x5d, 0x2b, 0x29, 0x24, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x88, - 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x6f, 0x0a, - 0x0f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, - 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x70, 0x01, 0xd0, 0x01, - 0x01, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x88, 0x01, 0x01, + 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x8e, 0x01, + 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, + 0x6b, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x70, 0x01, 0xd0, + 0x01, 0x01, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x88, 0x01, + 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x6e, 0x6c, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x22, 0xa8, 0x04, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, diff --git a/pkg/apis/dfdaemon/v2/dfdaemon.pb.validate.go b/pkg/apis/dfdaemon/v2/dfdaemon.pb.validate.go index c088c0e..854735c 100644 --- a/pkg/apis/dfdaemon/v2/dfdaemon.pb.validate.go +++ b/pkg/apis/dfdaemon/v2/dfdaemon.pb.validate.go @@ -1294,6 +1294,8 @@ func (m *StatTaskRequest) validate(all bool) error { errors = append(errors, err) } + // no validation rules for LocalOnly + if m.RemoteIp != nil { if m.GetRemoteIp() != "" { diff --git a/pkg/apis/dfdaemon/v2/dfdaemon.proto b/pkg/apis/dfdaemon/v2/dfdaemon.proto index c3a0f44..2deecbb 100644 --- a/pkg/apis/dfdaemon/v2/dfdaemon.proto +++ b/pkg/apis/dfdaemon/v2/dfdaemon.proto @@ -115,6 +115,11 @@ message StatTaskRequest { string task_id = 1 [(validate.rules).string.min_len = 1]; // Remote IP represents the IP address of the client initiating the stat request. optional string remote_ip = 2 [(validate.rules).string = {ip: true, ignore_empty: true}]; + // local_only specifies whether to query task information from local client only. + // If true, the query will be restricted to the local client. + // By default (false), the query may be forwarded to the scheduler + // for a cluster-wide search. + bool local_only = 3; } // ListTaskEntriesRequest represents request of ListTaskEntries. diff --git a/proto/dfdaemon.proto b/proto/dfdaemon.proto index d31c73f..2b21b8e 100644 --- a/proto/dfdaemon.proto +++ b/proto/dfdaemon.proto @@ -110,6 +110,11 @@ message StatTaskRequest { string task_id = 1; // Remote IP represents the IP address of the client initiating the stat request. optional string remote_ip = 2; + // local_only specifies whether to query task information from local client only. + // If true, the query will be restricted to the local client. + // By default (false), the query may be forwarded to the scheduler + // for a cluster-wide search. + bool local_only = 3; } // ListTaskEntriesRequest represents request of ListTaskEntries. diff --git a/src/descriptor.bin b/src/descriptor.bin index 4e524eb06393702ce784cb625e46838da2a150e8..401effc8f8c68b9deedfc594e69b3f39eb23344c 100644 GIT binary patch delta 6366 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 G#s332zSI5y delta 6004 zcmYLNe{@yFwZ40wd(XW&H@WBL5cA^(@&gb-xCsPAszC$<6ctd~)t0vMt1L@b6)UjN z=dvh26buA$0w=T1hOKr=eG*W9*MI;8B1-=+41s)aR`}W*3oWF9v znfbo?W@hg_bK-Z{zdK>?S-OXJzq5DQo>{T@EXSR>WbP7Gc<@_$@7dp4?7Y5;oVXWD zN1ESke3ZV&dzb!sfkTh@?>|R3sq{zxaPM(An&-t9M^+JK##N~q`-|1M<0Ddw6BSO0 z6OHC^#Iu&FpB*o|aVaO9d?zMNgtol2K^9P-B4?N$j;>|u(D9mK%dQP4Y0JwGh7*P_ zbJNbvdN_O5<2*#Qoy;!JX|pXY*9C(a)W?el8U*U&Hw5>{J7;8nP`x=7k6UhOl52{ZL9BPmV)zl`PN3<+>PpbA$el#KHCo1@wPBaFT zG%Jrn=gGqUfld@UPhLOB8L4G3aJhQ+#Lz${2ASp8WMZ(hJZXqA$SfZ)B9MteX8EX_ zoEx=_?M0tf|94_o{nG??f!=;w8Yx+3APLM=7-$Ks?(aOH1>#n;`K-ED|MAxcWCnsmu5{_AH zp$#%?DX+vp$gHJIxidyH(Al8=bn=#L1L1UY3(?9S4l|suCmcXd0O0{x*w;V^tf$H<=N>Hpv_bu%W7^map@4Y>jDWH*_mqYW~f2q7-E03ox95aazd z1D(El=d*!XKV-<#eY06fMp6J`vj%DgmcB)$ItSHkA+`fiS?d;x7Z?b}7D^X76Ja&q zvwumE9sbS+x=n5GjJm(1M43|xt$gvjO>OKc8i}9Sy=}$=AQZO|@>pC0LU9`*k>_Y0 zI$u(MzA#0NKUF^dC9{M1Ob~g=1P`E$Gr@Ica$9Imy&nSMIbpb+VmsuAeWOk943speK?4r^# zeLw|lsj7JcCgLwNc83}kG!&vugQ2mTs;Zq9OD_W4eS4>NwNm}QPy!Vu zx-XPKi2=MOff@q{35mr5vAo}Z`UUDY3BMt?Kh!~q0Yu4@!$mK2_7iGe0HL#=YHFQ_ zwGPG}Ag)le)q|r7*oG`%F7N^(Vq6-_DN1bnxIz7v?dC0u_3LM`Ow5)^|W)FKHwPtTp_ zMO%rhGv8EScTQBP=0df#J2?SOxl&occ~EN&)$*X$YJwHLP-~@%DrX%bT2r3=2a5a; zqV;DwTK)8ID6Udp{?PpcCF=CSrzBnvtEaylRCn0KD%zlW*yJ)GR1ZroKL}CRvyW2b zBZz)ii>j*MC;X#7r+oGNUy4+}o(lIUC5Gx`a7Db$|IbD$QV;al*)}r+Ixs_<$p%2o z&?ea+8SYA?9zzagvd2P(WWlkJAz5%NWFQMZ@aL|jqUElR`wv2*sC^I;CGI~EVoIh; zL_GUL;=hxn4;C1sKcs|Qh~fl;|3=aIxlWc^3s_?y#{P|JA23h`Pouf>0xrU!ouX5M z-YB?$)dqswPW>ks2yQz~n(WNQ7Ny3TRc;pJ)6lDnG*lSZB(X)_rx=4a6h5M zV5eCEHZ8l{K|DIMmerxn1J(3%XX}A;5rbYtOoxdWK#)7g8=)r##Kawh+xZqPh0ad( z#6RonI?V>Ab^Yn2yj-0I1fx^x^kmJz&VNokC^N?2vz@AybH0BTICq7nSvLQ3%FC@9 z5Zupc;Ptw8r3H0K?V5m}*sZS6wA7uh(6rQ@E>pWOScp=)zM(CEdRld!zqS5!C?Hkm zbSNNI=d`IhX_l&UTB^=tS^#6eP_zE^AN5~^0x@X}1*F`3L0;}nl4iVV0P!Xnp#^ZZ z-70-yWVV|)6YQ*1nQkgK45>2R!jM9jW)ztoUFfj(I2O;^NF|_FvpUqtxt6$Fpe2m0on~ z{@^YH1pA8IW%9Hul)J1KPrF%n;wSc`*DMJTCVI`103p+BmIMfyURlx)uq4m3S8(K6 zrp)vz_5P6xT+k(I+~xl63Qi2t%kyM;tJEWxGc~I?2vxK}a}@`V2S8}9Vk}Ioc{1TM ztmb|?S?&JFRR#Zc#y`VBilGzkp5fs638)7L&rd)oJ;T9<_wnrKII;omW~%Xrs$s5F zJ>MDgYqyfC=F~+c!PTCBN8RT*IE+5xb{*UnjlxgNw9a@2#7ygqXF$xfPCQF&^byaE ztlBP2R`-2XKEBcTMF&(GjbA`LFz^cql}6*Y$g^MI$QJE)H~b#`>eloN##)hBYhu5* zfy%N?#ui#3*ko)0La<3}No*B~t<8El_z5GML!KDf9P-4-X5q>6xk#d;nbqmPR!xyB z9~dFhY!(Fwt!A?*Kxj3yccacmKxj2{w#J!{5V_8?U*yQIRO;$H_eD+&aRy+5>tr!o z)$*&?XSW(lXoJjF&U3X4AY`_(*T?Cn8R*=u-oILz-5xSz5!*wCEMj}ez#?|2e!Z1- zJ3@w7-4Qax>JDMZbzAJ&FLPuU_FrGOrRw(oj;r;(6Wy0NxMhpQ_p9pD-c0sYqlq?X zzG}7-5Sp)=BPf;$Uy~ykiJ#cE*Fv7Se=X#R``3gg>n)Ze*r^`+y0UI($PlreoR@o7 zVh9*J8MXPxa9`rtdpPo6aQ}UIEQtF8Rd%ve9c|B36+J27n7aB^qM`&MdpI#ne_)iz zir!%En<=WAv2els1*+rGKAUEcoke5r8H^!dyun`X;|vhfzQK5-Na&Y{r+u4N(!8nr zOn{&bE8S-T1W?9s@DKxpz&^%9Y#e--diDX1yaV4Os%Ad^@ccU$EncFkFIW20z;X|8 zqD04XsTe)zFTzcoJ!p0WjZi*l_7D)t2hHA>inX`>+h3-lQTPo@Z-+#&^ma%TOK%Ht zCM=bC_PZSUz28f8zxysHs&rPAiGvn@Hq+2-ixEO2gjzWGd;^3~3*+-`I5wwD9JKmx zGSy{ULyFAZ8d7BLR-woRS0)Glo?mRy$h!BK<2o782+Dh$NE!&rdz^BeMX;Ok?86-S z6LxT}+V;n4)$_-=daSd=KWNcV_b?}Fox35N5&K8{e_3>I%@Gc+PBcRJ2$$!c`hXBV z!h>#behT4o&u-($U;IT;dc&Je*O?5RNvz-dY5EMRUSHA~j3@9J-;L-Ai0Yv8s_R}dE<+s_0^b>6B&sgcw zefY0T&WR-02_81ynV^Y49ljN(JL)?^iUmpsU!%yowS$M%1q$+f>fn)+@TDzNql}*N zSH@{l%_+9~1Y@F5IK@SS4Fu&BkC==bRwxMDF7`i3(Rci539{?E*w#-x=>oBf``-}| z<*TiWr+w2v=ydV79z$&t9dw@YpHI-jnlo%y24id}oZ+h54Fu&3Pn|923<@4j-MDdF zx_b-&cDkEw{XHsuV0LpweZZ8bQa4YY?|fG?@l-m?JU4SUF5Zmann(57v*D}>aL8iN|fqkAxV}M{%`YX+}IU}GCeOEp|rvZk_8a1R#-u@0K(M@ zD@YcSWLa(bV{IDh&nZCUueO4eK^JsZTS3YIg1Fj3%G`_Pkfg;LUlq{w>>A6~*N-$x zt5rNKa3aaF#u|OE&N33z;JYchHQQhX`GrPM8mu5$0A-Mc{2HxiL3T9y%ThEZ+Za+L zI~uLR+|H5yoM^Oa@6g#nk{uiU<0+awexnuS1sXxwXa#uzh&|b81$hC8NjF-^i*M^m z(b;72!pvRr{pW9X>6UDh6(k5A(~xSif&>8sx5=9NpiU5y1o8c=F5O@0TR~=^5ftAF QG6N74|ILTfG-Uh#1G, + /// local_only specifies whether to query task information from local client only. + /// If true, the query will be restricted to the local client. + /// By default (false), the query may be forwarded to the scheduler + /// for a cluster-wide search. + #[prost(bool, tag = "3")] + pub local_only: bool, } /// ListTaskEntriesRequest represents request of ListTaskEntries. #[derive(serde::Serialize, serde::Deserialize)]