...
1
16
17 package v1beta3
18
19 import (
20 "k8s.io/api/flowcontrol/v1beta3"
21 "k8s.io/utils/ptr"
22 )
23
24
25 const (
26 FlowSchemaDefaultMatchingPrecedence int32 = 1000
27 )
28
29
30 const (
31 PriorityLevelConfigurationDefaultHandSize int32 = 8
32 PriorityLevelConfigurationDefaultQueues int32 = 64
33 PriorityLevelConfigurationDefaultQueueLengthLimit int32 = 50
34 PriorityLevelConfigurationDefaultNominalConcurrencyShares int32 = 30
35 )
36
37
38 func SetDefaults_FlowSchemaSpec(spec *v1beta3.FlowSchemaSpec) {
39 if spec.MatchingPrecedence == 0 {
40 spec.MatchingPrecedence = FlowSchemaDefaultMatchingPrecedence
41 }
42 }
43
44
45
46
47
48
49 func SetDefaults_PriorityLevelConfiguration(in *v1beta3.PriorityLevelConfiguration) {
50 if limited := in.Spec.Limited; limited != nil {
51
52
53
54
55 if _, ok := in.Annotations[v1beta3.PriorityLevelPreserveZeroConcurrencySharesKey]; !ok && limited.NominalConcurrencyShares == 0 {
56 limited.NominalConcurrencyShares = PriorityLevelConfigurationDefaultNominalConcurrencyShares
57 }
58 }
59 }
60
61 func SetDefaults_ExemptPriorityLevelConfiguration(eplc *v1beta3.ExemptPriorityLevelConfiguration) {
62 if eplc.NominalConcurrencyShares == nil {
63 eplc.NominalConcurrencyShares = ptr.To(int32(0))
64 }
65 if eplc.LendablePercent == nil {
66 eplc.LendablePercent = ptr.To(int32(0))
67 }
68 }
69
70 func SetDefaults_LimitedPriorityLevelConfiguration(in *v1beta3.LimitedPriorityLevelConfiguration) {
71 if in.LendablePercent == nil {
72 in.LendablePercent = ptr.To(int32(0))
73 }
74 }
75
76 func SetDefaults_QueuingConfiguration(cfg *v1beta3.QueuingConfiguration) {
77 if cfg.HandSize == 0 {
78 cfg.HandSize = PriorityLevelConfigurationDefaultHandSize
79 }
80 if cfg.Queues == 0 {
81 cfg.Queues = PriorityLevelConfigurationDefaultQueues
82 }
83 if cfg.QueueLengthLimit == 0 {
84 cfg.QueueLengthLimit = PriorityLevelConfigurationDefaultQueueLengthLimit
85 }
86 }
87
View as plain text