Skip to content

Commit 1192121

Browse files
authored
Merge pull request #847 from funnydreamwinz/dev/quota_ctrl_knob
Dev/quota ctrl knob
2 parents d109563 + ea38076 commit 1192121

File tree

51 files changed

+3272
-2167
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+3272
-2167
lines changed

cmd/katalyst-agent/app/options/dynamic/adminqos/advisor/cpu_provision.go

Lines changed: 0 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"strconv"
2222
"strings"
2323

24-
"github.com/spf13/pflag"
2524
"k8s.io/apimachinery/pkg/util/errors"
2625
cliflag "k8s.io/component-base/cli/flag"
2726

@@ -30,120 +29,15 @@ import (
3029
"github.com/kubewharf/katalyst-core/pkg/config/agent/dynamic/adminqos/advisor"
3130
)
3231

33-
func stringMapToControlKnobMap(origin map[string]string) (map[string]float64, error) {
34-
controlKnobMap := make(map[string]float64)
35-
for k, v := range origin {
36-
val, err := strconv.ParseFloat(v, 64)
37-
if err != nil {
38-
return nil, err
39-
}
40-
controlKnobMap[k] = val
41-
}
42-
return controlKnobMap, nil
43-
}
44-
45-
type ControlKnobConstrains struct {
46-
RestrictControlKnobMaxUpperGap map[string]string
47-
RestrictControlKnobMaxLowerGap map[string]string
48-
RestrictControlKnobMaxUpperGapRatio map[string]string
49-
RestrictControlKnobMaxLowerGapRatio map[string]string
50-
}
51-
52-
func NewControlKnobConstrains() *ControlKnobConstrains {
53-
return &ControlKnobConstrains{
54-
RestrictControlKnobMaxUpperGap: map[string]string{
55-
string(v1alpha1.ControlKnobNonReclaimedCPURequirement): "20",
56-
},
57-
RestrictControlKnobMaxLowerGap: map[string]string{
58-
string(v1alpha1.ControlKnobNonReclaimedCPURequirement): "20",
59-
},
60-
RestrictControlKnobMaxUpperGapRatio: map[string]string{
61-
string(v1alpha1.ControlKnobNonReclaimedCPURequirement): "0.3",
62-
},
63-
RestrictControlKnobMaxLowerGapRatio: map[string]string{
64-
string(v1alpha1.ControlKnobNonReclaimedCPURequirement): "0.3",
65-
},
66-
}
67-
}
68-
69-
func (o *ControlKnobConstrains) AddFlags(fs *pflag.FlagSet) {
70-
fs.StringToStringVar(&o.RestrictControlKnobMaxUpperGap, "share-restrict-control-knob-max-upper-gap", o.RestrictControlKnobMaxUpperGap,
71-
"the max upper gap between the reference policy's control knob and the base one")
72-
fs.StringToStringVar(&o.RestrictControlKnobMaxLowerGap, "share-restrict-control-knob-max-lower-gap", o.RestrictControlKnobMaxLowerGap,
73-
"the max lower gap between the reference policy's control knob and the base one")
74-
fs.StringToStringVar(&o.RestrictControlKnobMaxUpperGapRatio, "share-restrict-control-knob-max-upper-gap-ratio", o.RestrictControlKnobMaxUpperGapRatio,
75-
"the max upper gap ratio between the reference policy's control knob and and the base one")
76-
fs.StringToStringVar(&o.RestrictControlKnobMaxLowerGapRatio, "share-restrict-control-knob-max-lower-gap-ratio", o.RestrictControlKnobMaxLowerGapRatio,
77-
"the max lower gap ratio between the reference policy's control knob and and the base one")
78-
}
79-
80-
func (o *ControlKnobConstrains) ApplyTo(c map[v1alpha1.ControlKnobName]v1alpha1.RestrictConstraints) error {
81-
restrictControlKnobMaxUpperGap, err := stringMapToControlKnobMap(o.RestrictControlKnobMaxUpperGap)
82-
if err != nil {
83-
return err
84-
}
85-
for name, maxUpperGap := range restrictControlKnobMaxUpperGap {
86-
gap, ok := c[v1alpha1.ControlKnobName(name)]
87-
if !ok {
88-
gap = v1alpha1.RestrictConstraints{}
89-
}
90-
gap.MaxUpperGap = &maxUpperGap
91-
c[v1alpha1.ControlKnobName(name)] = gap
92-
}
93-
94-
restrictControlKnobMaxLowerGap, err := stringMapToControlKnobMap(o.RestrictControlKnobMaxLowerGap)
95-
if err != nil {
96-
return err
97-
}
98-
for name, maxLowerGap := range restrictControlKnobMaxLowerGap {
99-
gap, ok := c[v1alpha1.ControlKnobName(name)]
100-
if !ok {
101-
gap = v1alpha1.RestrictConstraints{}
102-
}
103-
gap.MaxLowerGap = &maxLowerGap
104-
c[v1alpha1.ControlKnobName(name)] = gap
105-
}
106-
107-
restrictControlKnobMaxUpperGapRatio, err := stringMapToControlKnobMap(o.RestrictControlKnobMaxUpperGapRatio)
108-
if err != nil {
109-
return err
110-
}
111-
for name, maxUpperGapRatio := range restrictControlKnobMaxUpperGapRatio {
112-
gap, ok := c[v1alpha1.ControlKnobName(name)]
113-
if !ok {
114-
gap = v1alpha1.RestrictConstraints{}
115-
}
116-
gap.MaxUpperGapRatio = &maxUpperGapRatio
117-
c[v1alpha1.ControlKnobName(name)] = gap
118-
}
119-
120-
restrictControlKnobMaxLowerGapRatio, err := stringMapToControlKnobMap(o.RestrictControlKnobMaxLowerGapRatio)
121-
if err != nil {
122-
return err
123-
}
124-
for name, maxLowerGapRatio := range restrictControlKnobMaxLowerGapRatio {
125-
gap, ok := c[v1alpha1.ControlKnobName(name)]
126-
if !ok {
127-
gap = v1alpha1.RestrictConstraints{}
128-
}
129-
gap.MaxLowerGapRatio = &maxLowerGapRatio
130-
c[v1alpha1.ControlKnobName(name)] = gap
131-
}
132-
133-
return nil
134-
}
135-
13632
type CPUProvisionOptions struct {
13733
AllowSharedCoresOverlapReclaimedCores bool
13834
RegionIndicatorTargetOptions map[string]string
139-
ControlKnobConstrains *ControlKnobConstrains
14035
}
14136

14237
func NewCPUProvisionOptions() *CPUProvisionOptions {
14338
return &CPUProvisionOptions{
14439
AllowSharedCoresOverlapReclaimedCores: false,
14540
RegionIndicatorTargetOptions: map[string]string{},
146-
ControlKnobConstrains: NewControlKnobConstrains(),
14741
}
14842
}
14943

@@ -170,7 +64,6 @@ func (o *CPUProvisionOptions) ApplyTo(c *advisor.CPUProvisionConfiguration) erro
17064
}
17165
c.RegionIndicatorTargetConfiguration[v1alpha1.QoSRegionType(regionType)] = regionIndicatorTarget
17266
}
173-
errList = append(errList, o.ControlKnobConstrains.ApplyTo(c.RestrictConstraints))
17467

17568
return errors.NewAggregate(errList)
17669
}
@@ -182,5 +75,4 @@ func (o *CPUProvisionOptions) AddFlags(fss *cliflag.NamedFlagSets) {
18275
"set true to allow shared_cores overlap reclaimed_cores")
18376
fs.StringToStringVar(&o.RegionIndicatorTargetOptions, "region-indicator-targets", o.RegionIndicatorTargetOptions,
18477
"indicators targets for each region, in format like cpu_sched_wait=400/cpu_iowait_ratio=0.8")
185-
o.ControlKnobConstrains.AddFlags(fs)
18678
}

cmd/katalyst-agent/app/options/sysadvisor/qosaware/resource/cpu/provision/policy_base.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ type CPUProvisionPolicyOptions struct {
3737

3838
// PolicyRamaOptions is the options for policy rama
3939
PolicyRama *PolicyRamaOptions
40+
41+
// enable to use control knob cpu quota when cgroup2 available
42+
EnableControlKnobCPUQuota bool
4043
}
4144

4245
func NewCPUProvisionPolicyOptions() *CPUProvisionPolicyOptions {
@@ -56,6 +59,8 @@ func (o *CPUProvisionPolicyOptions) ApplyTo(c *provisionconfig.CPUProvisionPolic
5659
c.MaxRampDownStep = o.MaxRampDownStep
5760
c.MinRampDownPeriod = o.MinRampDownPeriod
5861

62+
c.EnableControlKnobCPUQuota = o.EnableControlKnobCPUQuota
63+
5964
var errList []error
6065
errList = append(errList, o.PolicyRama.ApplyTo(c.PolicyRama))
6166

@@ -68,4 +73,5 @@ func (o *CPUProvisionPolicyOptions) AddFlags(fs *pflag.FlagSet) {
6873
fs.IntVar(&o.MaxRampDownStep, "cpu-regulator-max-ramp-down-step", o.MaxRampDownStep, "max ramp down step for cpu provision policy")
6974
fs.DurationVar(&o.MinRampDownPeriod, "cpu-regulator-min-ramp-down-period", o.MinRampDownPeriod, "min ramp down period for cpu provision policy")
7075
o.PolicyRama.AddFlags(fs)
76+
fs.BoolVar(&o.EnableControlKnobCPUQuota, "cpu-provision-enable-control-knob-cpu-quota", o.EnableControlKnobCPUQuota, "enable control knob cpu quota for cpu provision policy")
7177
}

cmd/katalyst-agent/app/options/sysadvisor/qosaware/resource/cpu/region/cpu_region.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,27 +20,40 @@ import (
2020
"github.com/spf13/pflag"
2121
"k8s.io/apimachinery/pkg/util/errors"
2222

23+
"github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/types"
2324
"github.com/kubewharf/katalyst-core/pkg/config/agent/sysadvisor/qosaware/resource/cpu/region"
2425
)
2526

2627
type CPURegionOptions struct {
27-
CPUShare *CPUShareOptions
28+
CPUShare *CPUShareOptions
29+
RestrictRefPolicy map[string]string
2830
}
2931

3032
func NewCPURegionOptions() *CPURegionOptions {
3133
return &CPURegionOptions{
32-
CPUShare: NewCPUShareOptions(),
34+
CPUShare: NewCPUShareOptions(),
35+
RestrictRefPolicy: map[string]string{string(types.CPUProvisionPolicyRama): string(types.CPUProvisionPolicyDynamicQuota)},
3336
}
3437
}
3538

3639
// ApplyTo fills up config with options
3740
func (o *CPURegionOptions) ApplyTo(c *region.CPURegionConfiguration) error {
3841
var errList []error
3942
errList = append(errList, o.CPUShare.ApplyTo(c.CPUShareConfiguration))
43+
44+
restrictRefPolicy := make(map[types.CPUProvisionPolicyName]types.CPUProvisionPolicyName)
45+
for k, v := range o.RestrictRefPolicy {
46+
restrictRefPolicy[types.CPUProvisionPolicyName(k)] = types.CPUProvisionPolicyName(v)
47+
}
48+
c.RestrictRefPolicy = restrictRefPolicy
4049
return errors.NewAggregate(errList)
4150
}
4251

4352
// AddFlags adds flags to the specified FlagSet.
4453
func (o *CPURegionOptions) AddFlags(fs *pflag.FlagSet) {
4554
o.CPUShare.AddFlags(fs)
55+
56+
// AddFlags adds flags to the specified FlagSet.
57+
fs.StringToStringVar(&o.RestrictRefPolicy, "region-restrict-ref-policy", o.RestrictRefPolicy,
58+
"the provision policy map is used to restrict the control knob of base policy by the one of reference for CPU region")
4659
}

cmd/katalyst-agent/app/options/sysadvisor/qosaware/resource/cpu/region/cpu_share.go

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,36 +19,21 @@ package region
1919
import (
2020
"github.com/spf13/pflag"
2121

22-
"github.com/kubewharf/katalyst-core/pkg/agent/sysadvisor/types"
2322
"github.com/kubewharf/katalyst-core/pkg/config/agent/sysadvisor/qosaware/resource/cpu/region"
2423
)
2524

26-
type CPUShareOptions struct {
27-
RestrictRefPolicy map[string]string
28-
}
25+
type CPUShareOptions struct{}
2926

3027
// NewCPUShareOptions creates a new Options with a default config
3128
func NewCPUShareOptions() *CPUShareOptions {
32-
return &CPUShareOptions{
33-
RestrictRefPolicy: map[string]string{
34-
string(types.CPUProvisionPolicyRama): string(types.CPUProvisionPolicyCanonical),
35-
},
36-
}
29+
return &CPUShareOptions{}
3730
}
3831

3932
// AddFlags adds flags to the specified FlagSet.
4033
func (o *CPUShareOptions) AddFlags(fs *pflag.FlagSet) {
41-
fs.StringToStringVar(&o.RestrictRefPolicy, "share-restrict-ref-policy", o.RestrictRefPolicy,
42-
"the provision policy map is used to restrict the control knob of base policy by the one of reference for share region")
4334
}
4435

4536
// ApplyTo fills up config with options
4637
func (o *CPUShareOptions) ApplyTo(c *region.CPUShareConfiguration) error {
47-
restrictRefPolicy := make(map[types.CPUProvisionPolicyName]types.CPUProvisionPolicyName)
48-
for k, v := range o.RestrictRefPolicy {
49-
restrictRefPolicy[types.CPUProvisionPolicyName(k)] = types.CPUProvisionPolicyName(v)
50-
}
51-
c.RestrictRefPolicy = restrictRefPolicy
52-
5338
return nil
5439
}

go.mod

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ module github.com/kubewharf/katalyst-core
33
go 1.18
44

55
require (
6+
github.com/agiledragon/gomonkey/v2 v2.13.0
67
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d
78
github.com/bytedance/mockey v1.2.11
89
github.com/cespare/xxhash v1.1.0
@@ -18,7 +19,7 @@ require (
1819
github.com/google/uuid v1.3.0
1920
github.com/h2non/gock v1.2.0
2021
github.com/klauspost/cpuid/v2 v2.2.6
21-
github.com/kubewharf/katalyst-api v0.5.3-0.20250409032616-8011e0283b31
22+
github.com/kubewharf/katalyst-api v0.5.3-0.20250506060349-cf1eb8ced1f2
2223
github.com/moby/sys/mountinfo v0.6.2
2324
github.com/montanaflynn/stats v0.7.1
2425
github.com/opencontainers/runc v1.1.6
@@ -76,6 +77,8 @@ require (
7677
github.com/beorn7/perks v1.0.1 // indirect
7778
github.com/blang/semver/v4 v4.0.0 // indirect
7879
github.com/cespare/xxhash/v2 v2.2.0 // indirect
80+
github.com/checkpoint-restore/go-criu/v5 v5.3.0 // indirect
81+
github.com/containerd/console v1.0.3 // indirect
7982
github.com/containerd/ttrpc v1.2.3-0.20231030150553-baadfd8e7956 // indirect
8083
github.com/coreos/go-semver v0.3.0 // indirect
8184
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
@@ -105,23 +108,28 @@ require (
105108
github.com/jpillora/backoff v1.0.0 // indirect
106109
github.com/json-iterator/go v1.1.12 // indirect
107110
github.com/jtolds/gls v4.20.0+incompatible // indirect
111+
github.com/karrick/godirwalk v1.16.1 // indirect
108112
github.com/mailru/easyjson v0.7.7 // indirect
109113
github.com/matttproud/golang_protobuf_extensions v1.0.2 // indirect
110114
github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible // indirect
111115
github.com/moby/spdystream v0.2.0 // indirect
112116
github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect
113117
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
114118
github.com/modern-go/reflect2 v1.0.2 // indirect
119+
github.com/mrunalp/fileutils v0.5.0 // indirect
115120
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
116121
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect
117122
github.com/opencontainers/go-digest v1.0.0 // indirect
118123
github.com/opencontainers/runtime-spec v1.0.3-0.20220825212826-86290f6a00fb // indirect
119124
github.com/opentracing/opentracing-go v1.2.0 // indirect
120125
github.com/pmezard/go-difflib v1.0.0 // indirect
121126
github.com/prometheus/procfs v0.8.0 // indirect
127+
github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 // indirect
122128
github.com/sirupsen/logrus v1.9.0 // indirect
123129
github.com/smartystreets/assertions v1.1.0 // indirect
124130
github.com/stretchr/objx v0.5.0 // indirect
131+
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 // indirect
132+
github.com/vishvananda/netlink v1.1.0 // indirect
125133
go.etcd.io/etcd/api/v3 v3.5.4 // indirect
126134
go.etcd.io/etcd/client/pkg/v3 v3.5.4 // indirect
127135
go.etcd.io/etcd/client/v3 v3.5.4 // indirect

go.sum

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMx
8383
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
8484
github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
8585
github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c=
86+
github.com/agiledragon/gomonkey/v2 v2.13.0 h1:B24Jg6wBI1iB8EFR1c+/aoTg7QN/Cum7YffG8KMIyYo=
87+
github.com/agiledragon/gomonkey/v2 v2.13.0/go.mod h1:ap1AmDzcVOAz1YpeJ3TCzIgstoaWLA6jbbgxfB4w2iY=
8688
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
8789
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
8890
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
@@ -139,6 +141,7 @@ github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL
139141
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
140142
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
141143
github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw=
144+
github.com/checkpoint-restore/go-criu/v5 v5.3.0 h1:wpFFOoomK3389ue2lAb0Boag6XPht5QYpipxmSNL4d8=
142145
github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E=
143146
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
144147
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
@@ -168,6 +171,7 @@ github.com/containerd/cgroups v1.0.1 h1:iJnMvco9XGvKUvNQkv88bE4uJXxRQH18efbKo9w5
168171
github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU=
169172
github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw=
170173
github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ=
174+
github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw=
171175
github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U=
172176
github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
173177
github.com/containerd/containerd v1.4.12/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
@@ -546,6 +550,7 @@ github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfV
546550
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
547551
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
548552
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
553+
github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw=
549554
github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk=
550555
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
551556
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
@@ -568,8 +573,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
568573
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
569574
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
570575
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
571-
github.com/kubewharf/katalyst-api v0.5.3-0.20250409032616-8011e0283b31 h1:y+H8ZFvMImuMY0ZgOC+sB6/CTInkuTae/WuEX1fGfzo=
572-
github.com/kubewharf/katalyst-api v0.5.3-0.20250409032616-8011e0283b31/go.mod h1:Y2IeIorxQamF2a3oa0+URztl5QCSty6Jj3zD83R8J9k=
576+
github.com/kubewharf/katalyst-api v0.5.3-0.20250506060349-cf1eb8ced1f2 h1:0UOLOKhTjJ8JksAm0oq4FmQjlG4k/WGYPQ1zxPRGgxg=
577+
github.com/kubewharf/katalyst-api v0.5.3-0.20250506060349-cf1eb8ced1f2/go.mod h1:Y2IeIorxQamF2a3oa0+URztl5QCSty6Jj3zD83R8J9k=
573578
github.com/kubewharf/kubelet v1.24.6-kubewharf.9 h1:jOTYZt7h/J7I8xQMKMUcJjKf5UFBv37jHWvNp5VRFGc=
574579
github.com/kubewharf/kubelet v1.24.6-kubewharf.9/go.mod h1:MxbSZUx3wXztFneeelwWWlX7NAAStJ6expqq7gY2J3c=
575580
github.com/kyoh86/exportloopref v0.1.7/go.mod h1:h1rDl2Kdj97+Kwh4gdz3ujE7XHmH51Q0lUiZ1z4NLj8=
@@ -646,6 +651,7 @@ github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8
646651
github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
647652
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
648653
github.com/mozilla/tls-observatory v0.0.0-20200317151703-4fa42e1c2dee/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk=
654+
github.com/mrunalp/fileutils v0.5.0 h1:NKzVxiH7eSk+OQ4M+ZYW1K6h27RUV3MI6NUTsHhU6Z4=
649655
github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ=
650656
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
651657
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
@@ -804,6 +810,8 @@ github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0
804810
github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw=
805811
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
806812
github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg=
813+
github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds=
814+
github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg=
807815
github.com/securego/gosec/v2 v2.4.0/go.mod h1:0/Q4cjmlFDfDUj1+Fib61sc+U5IQb2w+Iv9/C3wPVko=
808816
github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM=
809817
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs=
@@ -880,6 +888,7 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
880888
github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY=
881889
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
882890
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
891+
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI=
883892
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
884893
github.com/tdakkota/asciicheck v0.0.0-20200416190851-d7f85be797a2/go.mod h1:yHp0ai0Z9gUljN3o0xMhYJnH/IcvkdTBOX2fmJ93JEM=
885894
github.com/tetafro/godot v0.4.8/go.mod h1:/7NLHhv08H1+8DNj0MElpAACw1ajsCuf3TKNQxA5S+0=
@@ -903,6 +912,7 @@ github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyC
903912
github.com/valyala/fasthttp v1.15.1/go.mod h1:YOKImeEosDdBPnxc0gy7INqi3m1zK6A+xl6TwOBhHCA=
904913
github.com/valyala/quicktemplate v1.6.2/go.mod h1:mtEJpQtUiBV0SHhMX6RtiJtqxncgrfmjcUy5T68X8TM=
905914
github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
915+
github.com/vishvananda/netlink v1.1.0 h1:1iyaYNBLmP6L0220aDnYQpo1QEV4t4hJ+xEEhhJH8j0=
906916
github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
907917
github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU=
908918
github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae h1:4hwBBUfQCFe3Cym0ZtKyq7L16eZUtYKs+BaHDN6mAns=

0 commit comments

Comments
 (0)