mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-13 10:33:35 +00:00
rebase: update all k8s packages to 0.27.2
Signed-off-by: Niels de Vos <ndevos@ibm.com>
This commit is contained in:
committed by
mergify[bot]
parent
07b05616a0
commit
2551a0b05f
2
vendor/k8s.io/component-base/config/types.go
generated
vendored
2
vendor/k8s.io/component-base/config/types.go
generated
vendored
@ -74,7 +74,7 @@ type LeaderElectionConfiguration struct {
|
||||
type DebuggingConfiguration struct {
|
||||
// enableProfiling enables profiling via web interface host:port/debug/pprof/
|
||||
EnableProfiling bool
|
||||
// enableContentionProfiling enables lock contention profiling, if
|
||||
// enableContentionProfiling enables block profiling, if
|
||||
// enableProfiling is true.
|
||||
EnableContentionProfiling bool
|
||||
}
|
||||
|
2
vendor/k8s.io/component-base/config/v1alpha1/types.go
generated
vendored
2
vendor/k8s.io/component-base/config/v1alpha1/types.go
generated
vendored
@ -60,7 +60,7 @@ type LeaderElectionConfiguration struct {
|
||||
type DebuggingConfiguration struct {
|
||||
// enableProfiling enables profiling via web interface host:port/debug/pprof/
|
||||
EnableProfiling *bool `json:"enableProfiling,omitempty"`
|
||||
// enableContentionProfiling enables lock contention profiling, if
|
||||
// enableContentionProfiling enables block profiling, if
|
||||
// enableProfiling is true.
|
||||
EnableContentionProfiling *bool `json:"enableContentionProfiling,omitempty"`
|
||||
}
|
||||
|
82
vendor/k8s.io/component-base/logs/api/v1/options.go
generated
vendored
82
vendor/k8s.io/component-base/logs/api/v1/options.go
generated
vendored
@ -19,7 +19,9 @@ package v1
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"io"
|
||||
"math"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@ -31,6 +33,7 @@ import (
|
||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||
cliflag "k8s.io/component-base/cli/flag"
|
||||
"k8s.io/component-base/featuregate"
|
||||
"k8s.io/component-base/logs/internal/setverbositylevel"
|
||||
"k8s.io/component-base/logs/klogflags"
|
||||
)
|
||||
|
||||
@ -62,18 +65,41 @@ func NewLoggingConfiguration() *LoggingConfiguration {
|
||||
// The optional FeatureGate controls logging features. If nil, the default for
|
||||
// these features is used.
|
||||
func ValidateAndApply(c *LoggingConfiguration, featureGate featuregate.FeatureGate) error {
|
||||
return ValidateAndApplyAsField(c, featureGate, nil)
|
||||
return validateAndApply(c, nil, featureGate, nil)
|
||||
}
|
||||
|
||||
// ValidateAndApplyWithOptions is a variant of ValidateAndApply which accepts
|
||||
// additional options beyond those that can be configured through the API. This
|
||||
// is meant for testing.
|
||||
func ValidateAndApplyWithOptions(c *LoggingConfiguration, options *LoggingOptions, featureGate featuregate.FeatureGate) error {
|
||||
return validateAndApply(c, options, featureGate, nil)
|
||||
}
|
||||
|
||||
// +k8s:deepcopy-gen=false
|
||||
|
||||
// LoggingOptions can be used with ValidateAndApplyWithOptions to override
|
||||
// certain global defaults.
|
||||
type LoggingOptions struct {
|
||||
// ErrorStream can be used to override the os.Stderr default.
|
||||
ErrorStream io.Writer
|
||||
|
||||
// InfoStream can be used to override the os.Stdout default.
|
||||
InfoStream io.Writer
|
||||
}
|
||||
|
||||
// ValidateAndApplyAsField is a variant of ValidateAndApply that should be used
|
||||
// when the LoggingConfiguration is embedded in some larger configuration
|
||||
// structure.
|
||||
func ValidateAndApplyAsField(c *LoggingConfiguration, featureGate featuregate.FeatureGate, fldPath *field.Path) error {
|
||||
return validateAndApply(c, nil, featureGate, fldPath)
|
||||
}
|
||||
|
||||
func validateAndApply(c *LoggingConfiguration, options *LoggingOptions, featureGate featuregate.FeatureGate, fldPath *field.Path) error {
|
||||
errs := Validate(c, featureGate, fldPath)
|
||||
if len(errs) > 0 {
|
||||
return errs.ToAggregate()
|
||||
}
|
||||
return apply(c, featureGate)
|
||||
return apply(c, options, featureGate)
|
||||
}
|
||||
|
||||
// Validate can be used to check for invalid settings without applying them.
|
||||
@ -156,7 +182,7 @@ func featureEnabled(featureGate featuregate.FeatureGate, feature featuregate.Fea
|
||||
return enabled
|
||||
}
|
||||
|
||||
func apply(c *LoggingConfiguration, featureGate featuregate.FeatureGate) error {
|
||||
func apply(c *LoggingConfiguration, options *LoggingOptions, featureGate featuregate.FeatureGate) error {
|
||||
contextualLoggingEnabled := contextualLoggingDefault
|
||||
if featureGate != nil {
|
||||
contextualLoggingEnabled = featureGate.Enabled(ContextualLogging)
|
||||
@ -167,8 +193,19 @@ func apply(c *LoggingConfiguration, featureGate featuregate.FeatureGate) error {
|
||||
if format.factory == nil {
|
||||
klog.ClearLogger()
|
||||
} else {
|
||||
log, flush := format.factory.Create(*c)
|
||||
klog.SetLoggerWithOptions(log, klog.ContextualLogger(contextualLoggingEnabled), klog.FlushLogger(flush))
|
||||
if options == nil {
|
||||
options = &LoggingOptions{
|
||||
ErrorStream: os.Stderr,
|
||||
InfoStream: os.Stdout,
|
||||
}
|
||||
}
|
||||
log, control := format.factory.Create(*c, *options)
|
||||
if control.SetVerbosityLevel != nil {
|
||||
setverbositylevel.Mutex.Lock()
|
||||
defer setverbositylevel.Mutex.Unlock()
|
||||
setverbositylevel.Callbacks = append(setverbositylevel.Callbacks, control.SetVerbosityLevel)
|
||||
}
|
||||
klog.SetLoggerWithOptions(log, klog.ContextualLogger(contextualLoggingEnabled), klog.FlushLogger(control.Flush))
|
||||
}
|
||||
if err := loggingFlags.Lookup("v").Value.Set(VerbosityLevelPflag(&c.Verbosity).String()); err != nil {
|
||||
return fmt.Errorf("internal error while setting klog verbosity: %v", err)
|
||||
@ -183,6 +220,41 @@ func apply(c *LoggingConfiguration, featureGate featuregate.FeatureGate) error {
|
||||
|
||||
// AddFlags adds command line flags for the configuration.
|
||||
func AddFlags(c *LoggingConfiguration, fs *pflag.FlagSet) {
|
||||
addFlags(c, fs)
|
||||
}
|
||||
|
||||
// AddGoFlags is a variant of AddFlags for a standard FlagSet.
|
||||
func AddGoFlags(c *LoggingConfiguration, fs *flag.FlagSet) {
|
||||
addFlags(c, goFlagSet{FlagSet: fs})
|
||||
}
|
||||
|
||||
// flagSet is the interface implemented by pflag.FlagSet, with
|
||||
// just those methods defined which are needed by addFlags.
|
||||
type flagSet interface {
|
||||
BoolVar(p *bool, name string, value bool, usage string)
|
||||
DurationVar(p *time.Duration, name string, value time.Duration, usage string)
|
||||
StringVar(p *string, name string, value string, usage string)
|
||||
Var(value pflag.Value, name string, usage string)
|
||||
VarP(value pflag.Value, name, shorthand, usage string)
|
||||
}
|
||||
|
||||
// goFlagSet implements flagSet for a stdlib flag.FlagSet.
|
||||
type goFlagSet struct {
|
||||
*flag.FlagSet
|
||||
}
|
||||
|
||||
func (fs goFlagSet) Var(value pflag.Value, name string, usage string) {
|
||||
fs.FlagSet.Var(value, name, usage)
|
||||
}
|
||||
|
||||
func (fs goFlagSet) VarP(value pflag.Value, name, shorthand, usage string) {
|
||||
// Ignore shorthand, it's not needed and not supported.
|
||||
fs.FlagSet.Var(value, name, usage)
|
||||
}
|
||||
|
||||
// addFlags can be used with both flag.FlagSet and pflag.FlagSet. The internal
|
||||
// interface definition avoids duplicating this code.
|
||||
func addFlags(c *LoggingConfiguration, fs flagSet) {
|
||||
formats := logRegistry.list()
|
||||
fs.StringVar(&c.Format, "logging-format", c.Format, fmt.Sprintf("Sets the log format. Permitted formats: %s.", formats))
|
||||
// No new log formats should be added after generation is of flag options
|
||||
|
23
vendor/k8s.io/component-base/logs/api/v1/registry.go
generated
vendored
23
vendor/k8s.io/component-base/logs/api/v1/registry.go
generated
vendored
@ -39,14 +39,29 @@ type logFormat struct {
|
||||
feature featuregate.Feature
|
||||
}
|
||||
|
||||
// +k8s:deepcopy-gen=false
|
||||
|
||||
// RuntimeControl provides operations that aren't available through the normal
|
||||
// Logger or LogSink API.
|
||||
type RuntimeControl struct {
|
||||
// Flush ensures that all in-memory data is written.
|
||||
// May be nil.
|
||||
Flush func()
|
||||
|
||||
// SetVerbosityLevel changes the level for all Logger instances
|
||||
// derived from the initial one. May be nil.
|
||||
//
|
||||
// The parameter is intentionally a plain uint32 instead of
|
||||
// VerbosityLevel to enable implementations that don't need to import
|
||||
// the API (helps avoid circular dependencies).
|
||||
SetVerbosityLevel func(v uint32) error
|
||||
}
|
||||
|
||||
// LogFormatFactory provides support for a certain additional,
|
||||
// non-default log format.
|
||||
type LogFormatFactory interface {
|
||||
// Create returns a logger with the requested configuration.
|
||||
// Returning a flush function for the logger is optional.
|
||||
// If provided, the caller must ensure that it is called
|
||||
// periodically (if desired) and at program exit.
|
||||
Create(c LoggingConfiguration) (log logr.Logger, flush func())
|
||||
Create(c LoggingConfiguration, o LoggingOptions) (logr.Logger, RuntimeControl)
|
||||
}
|
||||
|
||||
// RegisterLogFormat registers support for a new logging format. This must be called
|
||||
|
34
vendor/k8s.io/component-base/logs/internal/setverbositylevel/setverbositylevel.go
generated
vendored
Normal file
34
vendor/k8s.io/component-base/logs/internal/setverbositylevel/setverbositylevel.go
generated
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
Copyright 2022 The Kubernetes Authors.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
// Package setverbositylevel stores callbacks that will be invoked by logs.GlogLevel.
|
||||
//
|
||||
// This is a separate package to avoid a dependency from
|
||||
// k8s.io/component-base/logs (uses the callbacks) to
|
||||
// k8s.io/component-base/logs/api/v1 (adds them). Not all users of the logs
|
||||
// package also use the API.
|
||||
package setverbositylevel
|
||||
|
||||
import (
|
||||
"sync"
|
||||
)
|
||||
|
||||
var (
|
||||
// Mutex controls access to the callbacks.
|
||||
Mutex sync.Mutex
|
||||
|
||||
Callbacks []func(v uint32) error
|
||||
)
|
19
vendor/k8s.io/component-base/logs/logs.go
generated
vendored
19
vendor/k8s.io/component-base/logs/logs.go
generated
vendored
@ -23,10 +23,12 @@ import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/spf13/pflag"
|
||||
logsapi "k8s.io/component-base/logs/api/v1"
|
||||
"k8s.io/component-base/logs/internal/setverbositylevel"
|
||||
"k8s.io/component-base/logs/klogflags"
|
||||
"k8s.io/klog/v2"
|
||||
)
|
||||
@ -182,11 +184,26 @@ func NewLogger(prefix string) *log.Logger {
|
||||
return log.New(KlogWriter{}, prefix, 0)
|
||||
}
|
||||
|
||||
// GlogSetter is a setter to set glog level.
|
||||
// GlogSetter modifies the verbosity threshold for the entire program.
|
||||
// Some components have HTTP-based APIs for invoking this at runtime.
|
||||
func GlogSetter(val string) (string, error) {
|
||||
v, err := strconv.ParseUint(val, 10, 32)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
var level klog.Level
|
||||
if err := level.Set(val); err != nil {
|
||||
return "", fmt.Errorf("failed set klog.logging.verbosity %s: %v", val, err)
|
||||
}
|
||||
|
||||
setverbositylevel.Mutex.Lock()
|
||||
defer setverbositylevel.Mutex.Unlock()
|
||||
for _, cb := range setverbositylevel.Callbacks {
|
||||
if err := cb(uint32(v)); err != nil {
|
||||
return "", err
|
||||
}
|
||||
}
|
||||
|
||||
return fmt.Sprintf("successfully set klog.logging.verbosity to %s", val), nil
|
||||
}
|
||||
|
2
vendor/k8s.io/component-base/metrics/features/kube_features.go
generated
vendored
2
vendor/k8s.io/component-base/metrics/features/kube_features.go
generated
vendored
@ -29,7 +29,7 @@ const (
|
||||
|
||||
func featureGates() map[featuregate.Feature]featuregate.FeatureSpec {
|
||||
return map[featuregate.Feature]featuregate.FeatureSpec{
|
||||
ComponentSLIs: {Default: false, PreRelease: featuregate.Alpha},
|
||||
ComponentSLIs: {Default: true, PreRelease: featuregate.Beta},
|
||||
}
|
||||
}
|
||||
|
||||
|
5
vendor/k8s.io/component-base/metrics/metric.go
generated
vendored
5
vendor/k8s.io/component-base/metrics/metric.go
generated
vendored
@ -97,9 +97,8 @@ func (r *lazyMetric) lazyInit(self kubeCollector, fqName string) {
|
||||
// 2. if the metric is manually disabled via a CLI flag.
|
||||
//
|
||||
// Disclaimer: disabling a metric via a CLI flag has higher precedence than
|
||||
//
|
||||
// deprecation and will override show-hidden-metrics for the explicitly
|
||||
// disabled metric.
|
||||
// deprecation and will override show-hidden-metrics for the explicitly
|
||||
// disabled metric.
|
||||
func (r *lazyMetric) preprocessMetric(version semver.Version) {
|
||||
disabledMetricsLock.RLock()
|
||||
defer disabledMetricsLock.RUnlock()
|
||||
|
7
vendor/k8s.io/component-base/metrics/testutil/testutil.go
generated
vendored
7
vendor/k8s.io/component-base/metrics/testutil/testutil.go
generated
vendored
@ -67,6 +67,13 @@ func CustomCollectAndCompare(c metrics.StableCollector, expected io.Reader, metr
|
||||
return GatherAndCompare(registry, expected, metricNames...)
|
||||
}
|
||||
|
||||
// ScrapeAndCompare calls a remote exporter's endpoint which is expected to return some metrics in
|
||||
// plain text format. Then it compares it with the results that the `expected` would return.
|
||||
// If the `metricNames` is not empty it would filter the comparison only to the given metric names.
|
||||
func ScrapeAndCompare(url string, expected io.Reader, metricNames ...string) error {
|
||||
return testutil.ScrapeAndCompare(url, expected, metricNames...)
|
||||
}
|
||||
|
||||
// NewFakeKubeRegistry creates a fake `KubeRegistry` that takes the input version as `build in version`.
|
||||
// It should only be used in testing scenario especially for the deprecated metrics.
|
||||
// The input version format should be `major.minor.patch`, e.g. '1.18.0'.
|
||||
|
3
vendor/k8s.io/component-base/metrics/value.go
generated
vendored
3
vendor/k8s.io/component-base/metrics/value.go
generated
vendored
@ -60,8 +60,7 @@ func NewConstMetric(desc *Desc, valueType ValueType, value float64, labelValues
|
||||
// NewLazyMetricWithTimestamp is a helper of NewMetricWithTimestamp.
|
||||
//
|
||||
// Warning: the Metric 'm' must be the one created by NewLazyConstMetric(),
|
||||
//
|
||||
// otherwise, no stability guarantees would be offered.
|
||||
// otherwise, no stability guarantees would be offered.
|
||||
func NewLazyMetricWithTimestamp(t time.Time, m Metric) Metric {
|
||||
if m == nil {
|
||||
return nil
|
||||
|
Reference in New Issue
Block a user