Revert "Merge pull request #104630 from tkashem/remove-option"
This reverts commit edb0a72cff0e43bab72a02cada8486d562ee1cd5, reversing changes made to 80feff6f407be9f0898c449ba3f9d4d013f05ec9. Kubernetes-commit: 8844d3092a46a40915b4df6e3b9944d5081f8268
This commit is contained in:
parent
08907ff159
commit
a687b3b7a9
|
|
@ -63,21 +63,31 @@ type ServerRunOptions struct {
|
|||
// If enabled, after ShutdownDelayDuration elapses, any incoming request is
|
||||
// rejected with a 429 status code and a 'Retry-After' response.
|
||||
ShutdownSendRetryAfter bool
|
||||
|
||||
// StartupSendRetryAfterUntilReady once set will reject incoming requests with
|
||||
// a 429 status code and a 'Retry-After' response header until the apiserver
|
||||
// hasn't fully initialized.
|
||||
// This option ensures that the system stays consistent even when requests
|
||||
// are received before the server has been initialized.
|
||||
// In particular, it prevents child deletion in case of GC or/and orphaned
|
||||
// content in case of the namespaces controller.
|
||||
StartupSendRetryAfterUntilReady bool
|
||||
}
|
||||
|
||||
func NewServerRunOptions() *ServerRunOptions {
|
||||
defaults := server.NewConfig(serializer.CodecFactory{})
|
||||
return &ServerRunOptions{
|
||||
MaxRequestsInFlight: defaults.MaxRequestsInFlight,
|
||||
MaxMutatingRequestsInFlight: defaults.MaxMutatingRequestsInFlight,
|
||||
RequestTimeout: defaults.RequestTimeout,
|
||||
LivezGracePeriod: defaults.LivezGracePeriod,
|
||||
MinRequestTimeout: defaults.MinRequestTimeout,
|
||||
ShutdownDelayDuration: defaults.ShutdownDelayDuration,
|
||||
JSONPatchMaxCopyBytes: defaults.JSONPatchMaxCopyBytes,
|
||||
MaxRequestBodyBytes: defaults.MaxRequestBodyBytes,
|
||||
EnablePriorityAndFairness: true,
|
||||
ShutdownSendRetryAfter: false,
|
||||
MaxRequestsInFlight: defaults.MaxRequestsInFlight,
|
||||
MaxMutatingRequestsInFlight: defaults.MaxMutatingRequestsInFlight,
|
||||
RequestTimeout: defaults.RequestTimeout,
|
||||
LivezGracePeriod: defaults.LivezGracePeriod,
|
||||
MinRequestTimeout: defaults.MinRequestTimeout,
|
||||
ShutdownDelayDuration: defaults.ShutdownDelayDuration,
|
||||
JSONPatchMaxCopyBytes: defaults.JSONPatchMaxCopyBytes,
|
||||
MaxRequestBodyBytes: defaults.MaxRequestBodyBytes,
|
||||
EnablePriorityAndFairness: true,
|
||||
ShutdownSendRetryAfter: false,
|
||||
StartupSendRetryAfterUntilReady: false,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -97,6 +107,7 @@ func (s *ServerRunOptions) ApplyTo(c *server.Config) error {
|
|||
c.MaxRequestBodyBytes = s.MaxRequestBodyBytes
|
||||
c.PublicAddress = s.AdvertiseAddress
|
||||
c.ShutdownSendRetryAfter = s.ShutdownSendRetryAfter
|
||||
c.StartupSendRetryAfterUntilReady = s.StartupSendRetryAfterUntilReady
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
@ -261,5 +272,10 @@ func (s *ServerRunOptions) AddUniversalFlags(fs *pflag.FlagSet) {
|
|||
"during this window all incoming requests will be rejected with a status code 429 and a 'Retry-After' response header, "+
|
||||
"in addition 'Connection: close' response header is set in order to tear down the TCP connection when idle.")
|
||||
|
||||
fs.BoolVar(&s.StartupSendRetryAfterUntilReady, "startup-send-retry-after-until-ready", s.ShutdownSendRetryAfter, ""+
|
||||
"If true, incoming request(s) will be rejected with a '429' status code and a 'Retry-After' response header "+
|
||||
"until the apiserver has initialized. This option ensures that the system stays consistent even when requests "+
|
||||
"arrive at the server before it has been initialized.")
|
||||
|
||||
utilfeature.DefaultMutableFeatureGate.AddFlag(fs)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue