Upgrade k8s.io/klog/v2 from 2.9.0 to 2.20.0

Signed-off-by: Kazuyoshi Kato <katokazu@amazon.com>
This commit is contained in:
Kazuyoshi Kato 2021-12-16 23:09:04 +00:00
parent 2ee3ce510c
commit 5c2edeffbc
8 changed files with 79 additions and 38 deletions

2
go.mod
View File

@ -76,7 +76,7 @@ require (
k8s.io/client-go v0.22.0 k8s.io/client-go v0.22.0
k8s.io/component-base v0.22.0 k8s.io/component-base v0.22.0
k8s.io/cri-api v0.23.0-alpha.4 k8s.io/cri-api v0.23.0-alpha.4
k8s.io/klog/v2 v2.9.0 k8s.io/klog/v2 v2.20.0
k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b
) )

4
go.sum
View File

@ -229,6 +229,7 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v1.0.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.2 h1:ahHml/yUpnlb96Rp8HCvtYVPY8ZYpxq3g7UYchIYwbs= github.com/go-logr/logr v1.2.2 h1:ahHml/yUpnlb96Rp8HCvtYVPY8ZYpxq3g7UYchIYwbs=
@ -1025,8 +1026,9 @@ k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAE
k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.9.0 h1:D7HV+n1V57XeZ0m6tdRkfknthUaM06VFbWldOFh8kzM=
k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
k8s.io/klog/v2 v2.20.0 h1:tlyxlSvd63k7axjhuchckaRJm+a92z5GSOrTOQY5sHw=
k8s.io/klog/v2 v2.20.0/go.mod h1:Gm8eSIfQN6457haJuPaMxZw4wyP5k+ykPFlrhQDvhvw=
k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o=
k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw=
k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

View File

@ -217,6 +217,7 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v1.0.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.2 h1:ahHml/yUpnlb96Rp8HCvtYVPY8ZYpxq3g7UYchIYwbs= github.com/go-logr/logr v1.2.2 h1:ahHml/yUpnlb96Rp8HCvtYVPY8ZYpxq3g7UYchIYwbs=
@ -968,6 +969,7 @@ k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
k8s.io/klog/v2 v2.20.0/go.mod h1:Gm8eSIfQN6457haJuPaMxZw4wyP5k+ykPFlrhQDvhvw=
k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o=
k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw=
k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=

2
vendor/k8s.io/klog/v2/OWNERS generated vendored
View File

@ -15,5 +15,5 @@ approvers:
- tallclair - tallclair
- piosz - piosz
- brancz - brancz
- DirectXMan12
- lavalamp - lavalamp
- serathius

2
vendor/k8s.io/klog/v2/go.mod generated vendored
View File

@ -2,4 +2,4 @@ module k8s.io/klog/v2
go 1.13 go 1.13
require github.com/go-logr/logr v0.4.0 require github.com/go-logr/logr v1.0.0

6
vendor/k8s.io/klog/v2/go.sum generated vendored
View File

@ -1,2 +1,4 @@
github.com/go-logr/logr v0.4.0 h1:K7/B1jt6fIBQVd4Owv2MqGQClcgf0R266+7C/QjRcLc= github.com/go-logr/logr v1.0.0-rc1 h1:+ul9F74rBkPajeP8m4o3o0tiglmzNFsPnuhYyBCQ0Sc=
github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.0.0-rc1/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v1.0.0 h1:kH951GinvFVaQgy/ki/B3YYmQtRpExGigSJg6O8z5jo=
github.com/go-logr/logr v1.0.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=

97
vendor/k8s.io/klog/v2/klog.go generated vendored
View File

@ -509,7 +509,7 @@ type loggingT struct {
addDirHeader bool addDirHeader bool
// If set, all output will be redirected unconditionally to the provided logr.Logger // If set, all output will be redirected unconditionally to the provided logr.Logger
logr logr.Logger logr *logr.Logger
// If true, messages will not be propagated to lower severity log levels // If true, messages will not be propagated to lower severity log levels
oneOutput bool oneOutput bool
@ -698,11 +698,11 @@ func (buf *buffer) someDigits(i, d int) int {
return copy(buf.tmp[i:], buf.tmp[j:]) return copy(buf.tmp[i:], buf.tmp[j:])
} }
func (l *loggingT) println(s severity, logr logr.Logger, filter LogFilter, args ...interface{}) { func (l *loggingT) println(s severity, logger *logr.Logger, filter LogFilter, args ...interface{}) {
buf, file, line := l.header(s, 0) buf, file, line := l.header(s, 0)
// if logr is set, we clear the generated header as we rely on the backing // if logger is set, we clear the generated header as we rely on the backing
// logr implementation to print headers // logger implementation to print headers
if logr != nil { if logger != nil {
l.putBuffer(buf) l.putBuffer(buf)
buf = l.getBuffer() buf = l.getBuffer()
} }
@ -710,18 +710,18 @@ func (l *loggingT) println(s severity, logr logr.Logger, filter LogFilter, args
args = filter.Filter(args) args = filter.Filter(args)
} }
fmt.Fprintln(buf, args...) fmt.Fprintln(buf, args...)
l.output(s, logr, buf, 0 /* depth */, file, line, false) l.output(s, logger, buf, 0 /* depth */, file, line, false)
} }
func (l *loggingT) print(s severity, logr logr.Logger, filter LogFilter, args ...interface{}) { func (l *loggingT) print(s severity, logger *logr.Logger, filter LogFilter, args ...interface{}) {
l.printDepth(s, logr, filter, 1, args...) l.printDepth(s, logger, filter, 1, args...)
} }
func (l *loggingT) printDepth(s severity, logr logr.Logger, filter LogFilter, depth int, args ...interface{}) { func (l *loggingT) printDepth(s severity, logger *logr.Logger, filter LogFilter, depth int, args ...interface{}) {
buf, file, line := l.header(s, depth) buf, file, line := l.header(s, depth)
// if logr is set, we clear the generated header as we rely on the backing // if logr is set, we clear the generated header as we rely on the backing
// logr implementation to print headers // logr implementation to print headers
if logr != nil { if logger != nil {
l.putBuffer(buf) l.putBuffer(buf)
buf = l.getBuffer() buf = l.getBuffer()
} }
@ -732,14 +732,14 @@ func (l *loggingT) printDepth(s severity, logr logr.Logger, filter LogFilter, de
if buf.Bytes()[buf.Len()-1] != '\n' { if buf.Bytes()[buf.Len()-1] != '\n' {
buf.WriteByte('\n') buf.WriteByte('\n')
} }
l.output(s, logr, buf, depth, file, line, false) l.output(s, logger, buf, depth, file, line, false)
} }
func (l *loggingT) printf(s severity, logr logr.Logger, filter LogFilter, format string, args ...interface{}) { func (l *loggingT) printf(s severity, logger *logr.Logger, filter LogFilter, format string, args ...interface{}) {
buf, file, line := l.header(s, 0) buf, file, line := l.header(s, 0)
// if logr is set, we clear the generated header as we rely on the backing // if logr is set, we clear the generated header as we rely on the backing
// logr implementation to print headers // logr implementation to print headers
if logr != nil { if logger != nil {
l.putBuffer(buf) l.putBuffer(buf)
buf = l.getBuffer() buf = l.getBuffer()
} }
@ -750,17 +750,17 @@ func (l *loggingT) printf(s severity, logr logr.Logger, filter LogFilter, format
if buf.Bytes()[buf.Len()-1] != '\n' { if buf.Bytes()[buf.Len()-1] != '\n' {
buf.WriteByte('\n') buf.WriteByte('\n')
} }
l.output(s, logr, buf, 0 /* depth */, file, line, false) l.output(s, logger, buf, 0 /* depth */, file, line, false)
} }
// printWithFileLine behaves like print but uses the provided file and line number. If // printWithFileLine behaves like print but uses the provided file and line number. If
// alsoLogToStderr is true, the log message always appears on standard error; it // alsoLogToStderr is true, the log message always appears on standard error; it
// will also appear in the log file unless --logtostderr is set. // will also appear in the log file unless --logtostderr is set.
func (l *loggingT) printWithFileLine(s severity, logr logr.Logger, filter LogFilter, file string, line int, alsoToStderr bool, args ...interface{}) { func (l *loggingT) printWithFileLine(s severity, logger *logr.Logger, filter LogFilter, file string, line int, alsoToStderr bool, args ...interface{}) {
buf := l.formatHeader(s, file, line) buf := l.formatHeader(s, file, line)
// if logr is set, we clear the generated header as we rely on the backing // if logr is set, we clear the generated header as we rely on the backing
// logr implementation to print headers // logr implementation to print headers
if logr != nil { if logger != nil {
l.putBuffer(buf) l.putBuffer(buf)
buf = l.getBuffer() buf = l.getBuffer()
} }
@ -771,28 +771,28 @@ func (l *loggingT) printWithFileLine(s severity, logr logr.Logger, filter LogFil
if buf.Bytes()[buf.Len()-1] != '\n' { if buf.Bytes()[buf.Len()-1] != '\n' {
buf.WriteByte('\n') buf.WriteByte('\n')
} }
l.output(s, logr, buf, 2 /* depth */, file, line, alsoToStderr) l.output(s, logger, buf, 2 /* depth */, file, line, alsoToStderr)
} }
// if loggr is specified, will call loggr.Error, otherwise output with logging module. // if loggr is specified, will call loggr.Error, otherwise output with logging module.
func (l *loggingT) errorS(err error, loggr logr.Logger, filter LogFilter, depth int, msg string, keysAndValues ...interface{}) { func (l *loggingT) errorS(err error, logger *logr.Logger, filter LogFilter, depth int, msg string, keysAndValues ...interface{}) {
if filter != nil { if filter != nil {
msg, keysAndValues = filter.FilterS(msg, keysAndValues) msg, keysAndValues = filter.FilterS(msg, keysAndValues)
} }
if loggr != nil { if logger != nil {
logr.WithCallDepth(loggr, depth+2).Error(err, msg, keysAndValues...) logger.WithCallDepth(depth+2).Error(err, msg, keysAndValues...)
return return
} }
l.printS(err, errorLog, depth+1, msg, keysAndValues...) l.printS(err, errorLog, depth+1, msg, keysAndValues...)
} }
// if loggr is specified, will call loggr.Info, otherwise output with logging module. // if loggr is specified, will call loggr.Info, otherwise output with logging module.
func (l *loggingT) infoS(loggr logr.Logger, filter LogFilter, depth int, msg string, keysAndValues ...interface{}) { func (l *loggingT) infoS(logger *logr.Logger, filter LogFilter, depth int, msg string, keysAndValues ...interface{}) {
if filter != nil { if filter != nil {
msg, keysAndValues = filter.FilterS(msg, keysAndValues) msg, keysAndValues = filter.FilterS(msg, keysAndValues)
} }
if loggr != nil { if logger != nil {
logr.WithCallDepth(loggr, depth+2).Info(msg, keysAndValues...) logger.WithCallDepth(depth+2).Info(msg, keysAndValues...)
return return
} }
l.printS(nil, infoLog, depth+1, msg, keysAndValues...) l.printS(nil, infoLog, depth+1, msg, keysAndValues...)
@ -862,11 +862,23 @@ func (rb *redirectBuffer) Write(bytes []byte) (n int, err error) {
// Use as: // Use as:
// ... // ...
// klog.SetLogger(zapr.NewLogger(zapLog)) // klog.SetLogger(zapr.NewLogger(zapLog))
//
// To remove a backing logr implemention, use ClearLogger. Setting an
// empty logger with SetLogger(logr.Logger{}) does not work.
func SetLogger(logr logr.Logger) { func SetLogger(logr logr.Logger) {
logging.mu.Lock() logging.mu.Lock()
defer logging.mu.Unlock() defer logging.mu.Unlock()
logging.logr = logr logging.logr = &logr
}
// ClearLogger removes a backing logr implementation if one was set earlier
// with SetLogger.
func ClearLogger() {
logging.mu.Lock()
defer logging.mu.Unlock()
logging.logr = nil
} }
// SetOutput sets the output destination for all severities // SetOutput sets the output destination for all severities
@ -904,7 +916,7 @@ func LogToStderr(stderr bool) {
} }
// output writes the data to the log files and releases the buffer. // output writes the data to the log files and releases the buffer.
func (l *loggingT) output(s severity, log logr.Logger, buf *buffer, depth int, file string, line int, alsoToStderr bool) { func (l *loggingT) output(s severity, log *logr.Logger, buf *buffer, depth int, file string, line int, alsoToStderr bool) {
l.mu.Lock() l.mu.Lock()
if l.traceLocation.isSet() { if l.traceLocation.isSet() {
if l.traceLocation.match(file, line) { if l.traceLocation.match(file, line) {
@ -916,9 +928,9 @@ func (l *loggingT) output(s severity, log logr.Logger, buf *buffer, depth int, f
// TODO: set 'severity' and caller information as structured log info // TODO: set 'severity' and caller information as structured log info
// keysAndValues := []interface{}{"severity", severityName[s], "file", file, "line", line} // keysAndValues := []interface{}{"severity", severityName[s], "file", file, "line", line}
if s == errorLog { if s == errorLog {
logr.WithCallDepth(l.logr, depth+3).Error(nil, string(data)) l.logr.WithCallDepth(depth+3).Error(nil, string(data))
} else { } else {
logr.WithCallDepth(log, depth+3).Info(string(data)) log.WithCallDepth(depth + 3).Info(string(data))
} }
} else if l.toStderr { } else if l.toStderr {
os.Stderr.Write(data) os.Stderr.Write(data)
@ -1269,7 +1281,7 @@ func (l *loggingT) setV(pc uintptr) Level {
// See the documentation of V for more information. // See the documentation of V for more information.
type Verbose struct { type Verbose struct {
enabled bool enabled bool
logr logr.Logger logr *logr.Logger
filter LogFilter filter LogFilter
} }
@ -1277,7 +1289,8 @@ func newVerbose(level Level, b bool) Verbose {
if logging.logr == nil { if logging.logr == nil {
return Verbose{b, nil, logging.filter} return Verbose{b, nil, logging.filter}
} }
return Verbose{b, logging.logr.V(int(level)), logging.filter} v := logging.logr.V(int(level))
return Verbose{b, &v, logging.filter}
} }
// V reports whether verbosity at the call site is at least the requested level. // V reports whether verbosity at the call site is at least the requested level.
@ -1315,9 +1328,14 @@ func V(level Level) Verbose {
if runtime.Callers(2, logging.pcs[:]) == 0 { if runtime.Callers(2, logging.pcs[:]) == 0 {
return newVerbose(level, false) return newVerbose(level, false)
} }
v, ok := logging.vmap[logging.pcs[0]] // runtime.Callers returns "return PCs", but we want
// to look up the symbolic information for the call,
// so subtract 1 from the PC. runtime.CallersFrames
// would be cleaner, but allocates.
pc := logging.pcs[0] - 1
v, ok := logging.vmap[pc]
if !ok { if !ok {
v = logging.setV(logging.pcs[0]) v = logging.setV(pc)
} }
return newVerbose(level, v >= level) return newVerbose(level, v >= level)
} }
@ -1603,3 +1621,20 @@ func KRef(namespace, name string) ObjectRef {
Namespace: namespace, Namespace: namespace,
} }
} }
// KObjs returns slice of ObjectRef from an slice of ObjectMeta
func KObjs(arg interface{}) []ObjectRef {
s := reflect.ValueOf(arg)
if s.Kind() != reflect.Slice {
return nil
}
objectRefs := make([]ObjectRef, 0, s.Len())
for i := 0; i < s.Len(); i++ {
if v, ok := s.Index(i).Interface().(KMetadata); ok {
objectRefs = append(objectRefs, KObj(v))
} else {
return nil
}
}
return objectRefs
}

2
vendor/modules.txt vendored
View File

@ -696,7 +696,7 @@ k8s.io/component-base/version
## explicit ## explicit
k8s.io/cri-api/pkg/apis/runtime/v1 k8s.io/cri-api/pkg/apis/runtime/v1
k8s.io/cri-api/pkg/apis/runtime/v1alpha2 k8s.io/cri-api/pkg/apis/runtime/v1alpha2
# k8s.io/klog/v2 v2.9.0 # k8s.io/klog/v2 v2.20.0
## explicit ## explicit
k8s.io/klog/v2 k8s.io/klog/v2
# k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b # k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b