...
1
16
17 package options
18
19 import (
20 "fmt"
21
22 "github.com/spf13/pflag"
23
24 statefulsetconfig "k8s.io/kubernetes/pkg/controller/statefulset/config"
25 )
26
27
28 type StatefulSetControllerOptions struct {
29 *statefulsetconfig.StatefulSetControllerConfiguration
30 }
31
32
33 func (o *StatefulSetControllerOptions) AddFlags(fs *pflag.FlagSet) {
34 if o == nil {
35 return
36 }
37
38 fs.Int32Var(&o.ConcurrentStatefulSetSyncs, "concurrent-statefulset-syncs", o.ConcurrentStatefulSetSyncs, "The number of statefulset objects that are allowed to sync concurrently. Larger number = more responsive statefulsets, but more CPU (and network) load")
39 }
40
41
42 func (o *StatefulSetControllerOptions) ApplyTo(cfg *statefulsetconfig.StatefulSetControllerConfiguration) error {
43 if o == nil {
44 return nil
45 }
46
47 cfg.ConcurrentStatefulSetSyncs = o.ConcurrentStatefulSetSyncs
48
49 return nil
50 }
51
52
53 func (o *StatefulSetControllerOptions) Validate() []error {
54 if o == nil {
55 return nil
56 }
57
58 errs := []error{}
59 if o.ConcurrentStatefulSetSyncs < 1 {
60 errs = append(errs, fmt.Errorf("concurrent-statefulset-syncs must be greater than 0, but got %d", o.ConcurrentStatefulSetSyncs))
61 }
62 return errs
63 }
64
View as plain text