rebase: bump github.com/aws/aws-sdk-go-v2/service/sts

Bumps [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2) from 1.17.1 to 1.17.3.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.17.1...config/v1.17.3)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
dependabot[bot] 2022-11-17 09:47:11 +00:00 committed by mergify[bot]
parent f0cc5a0ef8
commit 0f0957164e
14 changed files with 391 additions and 52 deletions

10
go.mod
View File

@ -5,7 +5,7 @@ go 1.18
require ( require (
github.com/IBM/keyprotect-go-client v0.9.0 github.com/IBM/keyprotect-go-client v0.9.0
github.com/aws/aws-sdk-go v1.44.132 github.com/aws/aws-sdk-go v1.44.132
github.com/aws/aws-sdk-go-v2/service/sts v1.17.1 github.com/aws/aws-sdk-go-v2/service/sts v1.17.3
github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000 github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000
// TODO: API for managing subvolume metadata and snapshot metadata requires `ceph_ci_untested` build-tag // TODO: API for managing subvolume metadata and snapshot metadata requires `ceph_ci_untested` build-tag
github.com/ceph/go-ceph v0.18.0 github.com/ceph/go-ceph v0.18.0
@ -32,8 +32,8 @@ require (
golang.org/x/sys v0.2.0 golang.org/x/sys v0.2.0
google.golang.org/grpc v1.50.1 google.golang.org/grpc v1.50.1
google.golang.org/protobuf v1.28.1 google.golang.org/protobuf v1.28.1
k8s.io/api v0.25.3 k8s.io/api v0.25.4
k8s.io/apimachinery v0.25.3 k8s.io/apimachinery v0.25.4
k8s.io/client-go v12.0.0+incompatible k8s.io/client-go v12.0.0+incompatible
k8s.io/cloud-provider v0.25.3 k8s.io/cloud-provider v0.25.3
k8s.io/klog/v2 v2.80.1 k8s.io/klog/v2 v2.80.1
@ -43,7 +43,7 @@ require (
k8s.io/kubernetes v1.25.3 k8s.io/kubernetes v1.25.3
k8s.io/mount-utils v0.25.3 k8s.io/mount-utils v0.25.3
k8s.io/pod-security-admission v0.0.0 k8s.io/pod-security-admission v0.0.0
k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2
sigs.k8s.io/controller-runtime v0.11.0-beta.0.0.20211208212546-f236f0345ad2 sigs.k8s.io/controller-runtime v0.11.0-beta.0.0.20211208212546-f236f0345ad2
) )
@ -80,7 +80,7 @@ require (
github.com/golang/snappy v0.0.4 // indirect github.com/golang/snappy v0.0.4 // indirect
github.com/google/gnostic v0.6.9 // indirect github.com/google/gnostic v0.6.9 // indirect
github.com/google/go-cmp v0.5.9 // indirect github.com/google/go-cmp v0.5.9 // indirect
github.com/google/gofuzz v1.1.0 // indirect github.com/google/gofuzz v1.2.0 // indirect
github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect

11
go.sum
View File

@ -150,8 +150,8 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19 h1:oRHDrwCTVT8ZXi4sr9
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.19/go.mod h1:6Q0546uHDp421okhmmGfbxzq2hBqbXFNpi4k+Q1JnQA=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19 h1:GE25AWCdNUPh9AOJzI9KIJnja7IwUc1WyUqz/JTyJ/I= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19 h1:GE25AWCdNUPh9AOJzI9KIJnja7IwUc1WyUqz/JTyJ/I=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19/go.mod h1:02CP6iuYP+IVnBX5HULVdSAku/85eHB2Y9EsFhrkEwU= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19/go.mod h1:02CP6iuYP+IVnBX5HULVdSAku/85eHB2Y9EsFhrkEwU=
github.com/aws/aws-sdk-go-v2/service/sts v1.17.1 h1:KRAix/KHvjGODaHAMXnxRk9t0D+4IJVUuS/uwXxngXk= github.com/aws/aws-sdk-go-v2/service/sts v1.17.3 h1:WMAsVk4yQTHOZ2m7dFnF5Azr/aDecBbpWRwc+M6iFIM=
github.com/aws/aws-sdk-go-v2/service/sts v1.17.1/go.mod h1:bXcN3koeVYiJcdDU89n3kCYILob7Y34AeLopUbZgLT4= github.com/aws/aws-sdk-go-v2/service/sts v1.17.3/go.mod h1:bXcN3koeVYiJcdDU89n3kCYILob7Y34AeLopUbZgLT4=
github.com/aws/smithy-go v1.13.4 h1:/RN2z1txIJWeXeOkzX+Hk/4Uuvv7dWtCjbmVJcrskyk= github.com/aws/smithy-go v1.13.4 h1:/RN2z1txIJWeXeOkzX+Hk/4Uuvv7dWtCjbmVJcrskyk=
github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.13.4/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
@ -453,8 +453,9 @@ github.com/google/go-metrics-stackdriver v0.2.0/go.mod h1:KLcPyp3dWJAFD+yHisGlJS
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@ -993,7 +994,6 @@ github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY=
github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
@ -1732,8 +1732,9 @@ k8s.io/pod-security-admission v0.25.3 h1:2HnXWKUIDSez2sWtvxeGgGVUFvYnJJHutL4AI1M
k8s.io/pod-security-admission v0.25.3/go.mod h1:xSaLkcMPD6cGKrZ//ZUrCNs0BewZzQdOEcC9LuXBGR4= k8s.io/pod-security-admission v0.25.3/go.mod h1:xSaLkcMPD6cGKrZ//ZUrCNs0BewZzQdOEcC9LuXBGR4=
k8s.io/utils v0.0.0-20190506122338-8fab8cb257d5/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= k8s.io/utils v0.0.0-20190506122338-8fab8cb257d5/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed h1:jAne/RjBTyawwAy0utX5eqigAwz/lQhTmy+Hr/Cpue4=
k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2 h1:GfD9OzL11kvZN5iArC6oTS7RTj7oJOIfnislxYlqTj8=
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=

View File

@ -1,3 +1,11 @@
# v1.17.3 (2022-11-16)
* No change notes available for this release.
# v1.17.2 (2022-11-10)
* No change notes available for this release.
# v1.17.1 (2022-10-24) # v1.17.1 (2022-10-24)
* **Dependency Update**: Updated to the latest SDK module versions * **Dependency Update**: Updated to the latest SDK module versions

View File

@ -3,4 +3,4 @@
package sts package sts
// goModuleVersion is the tagged release for this module // goModuleVersion is the tagged release for this module
const goModuleVersion = "1.17.1" const goModuleVersion = "1.17.3"

View File

@ -176,12 +176,18 @@ var defaultPartitions = endpoints.Partitions{
endpoints.EndpointKey{ endpoints.EndpointKey{
Region: "eu-central-1", Region: "eu-central-1",
}: endpoints.Endpoint{}, }: endpoints.Endpoint{},
endpoints.EndpointKey{
Region: "eu-central-2",
}: endpoints.Endpoint{},
endpoints.EndpointKey{ endpoints.EndpointKey{
Region: "eu-north-1", Region: "eu-north-1",
}: endpoints.Endpoint{}, }: endpoints.Endpoint{},
endpoints.EndpointKey{ endpoints.EndpointKey{
Region: "eu-south-1", Region: "eu-south-1",
}: endpoints.Endpoint{}, }: endpoints.Endpoint{},
endpoints.EndpointKey{
Region: "eu-south-2",
}: endpoints.Endpoint{},
endpoints.EndpointKey{ endpoints.EndpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoints.Endpoint{}, }: endpoints.Endpoint{},

View File

@ -1,13 +1,10 @@
language: go language: go
go: go:
- 1.4 - 1.11.x
- 1.3 - 1.12.x
- 1.2 - 1.13.x
- tip - master
install:
- if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi
script: script:
- go test -cover - go test -cover

View File

@ -1,7 +1,7 @@
# How to contribute # # How to contribute #
We'd love to accept your patches and contributions to this project. There are We'd love to accept your patches and contributions to this project. There are
a just a few small guidelines you need to follow. just a few small guidelines you need to follow.
## Contributor License Agreement ## ## Contributor License Agreement ##

View File

@ -68,4 +68,22 @@ f.Fuzz(&myObject) // Type will correspond to whether A or B info is set.
See more examples in ```example_test.go```. See more examples in ```example_test.go```.
You can use this library for easier [go-fuzz](https://github.com/dvyukov/go-fuzz)ing.
go-fuzz provides the user a byte-slice, which should be converted to different inputs
for the tested function. This library can help convert the byte slice. Consider for
example a fuzz test for a the function `mypackage.MyFunc` that takes an int arguments:
```go
// +build gofuzz
package mypackage
import fuzz "github.com/google/gofuzz"
func Fuzz(data []byte) int {
var i int
fuzz.NewFromGoFuzz(data).Fuzz(&i)
MyFunc(i)
return 0
}
```
Happy testing! Happy testing!

View File

@ -0,0 +1,81 @@
/*
Copyright 2014 Google Inc. All rights reserved.
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 bytesource provides a rand.Source64 that is determined by a slice of bytes.
package bytesource
import (
"bytes"
"encoding/binary"
"io"
"math/rand"
)
// ByteSource implements rand.Source64 determined by a slice of bytes. The random numbers are
// generated from each 8 bytes in the slice, until the last bytes are consumed, from which a
// fallback pseudo random source is created in case more random numbers are required.
// It also exposes a `bytes.Reader` API, which lets callers consume the bytes directly.
type ByteSource struct {
*bytes.Reader
fallback rand.Source
}
// New returns a new ByteSource from a given slice of bytes.
func New(input []byte) *ByteSource {
s := &ByteSource{
Reader: bytes.NewReader(input),
fallback: rand.NewSource(0),
}
if len(input) > 0 {
s.fallback = rand.NewSource(int64(s.consumeUint64()))
}
return s
}
func (s *ByteSource) Uint64() uint64 {
// Return from input if it was not exhausted.
if s.Len() > 0 {
return s.consumeUint64()
}
// Input was exhausted, return random number from fallback (in this case fallback should not be
// nil). Try first having a Uint64 output (Should work in current rand implementation),
// otherwise return a conversion of Int63.
if s64, ok := s.fallback.(rand.Source64); ok {
return s64.Uint64()
}
return uint64(s.fallback.Int63())
}
func (s *ByteSource) Int63() int64 {
return int64(s.Uint64() >> 1)
}
func (s *ByteSource) Seed(seed int64) {
s.fallback = rand.NewSource(seed)
s.Reader = bytes.NewReader(nil)
}
// consumeUint64 reads 8 bytes from the input and convert them to a uint64. It assumes that the the
// bytes reader is not empty.
func (s *ByteSource) consumeUint64() uint64 {
var bytes [8]byte
_, err := s.Read(bytes[:])
if err != nil && err != io.EOF {
panic("failed reading source") // Should not happen.
}
return binary.BigEndian.Uint64(bytes[:])
}

View File

@ -22,6 +22,9 @@ import (
"reflect" "reflect"
"regexp" "regexp"
"time" "time"
"github.com/google/gofuzz/bytesource"
"strings"
) )
// fuzzFuncMap is a map from a type to a fuzzFunc that handles that type. // fuzzFuncMap is a map from a type to a fuzzFunc that handles that type.
@ -61,6 +64,34 @@ func NewWithSeed(seed int64) *Fuzzer {
return f return f
} }
// NewFromGoFuzz is a helper function that enables using gofuzz (this
// project) with go-fuzz (https://github.com/dvyukov/go-fuzz) for continuous
// fuzzing. Essentially, it enables translating the fuzzing bytes from
// go-fuzz to any Go object using this library.
//
// This implementation promises a constant translation from a given slice of
// bytes to the fuzzed objects. This promise will remain over future
// versions of Go and of this library.
//
// Note: the returned Fuzzer should not be shared between multiple goroutines,
// as its deterministic output will no longer be available.
//
// Example: use go-fuzz to test the function `MyFunc(int)` in the package
// `mypackage`. Add the file: "mypacakge_fuzz.go" with the content:
//
// // +build gofuzz
// package mypacakge
// import fuzz "github.com/google/gofuzz"
// func Fuzz(data []byte) int {
// var i int
// fuzz.NewFromGoFuzz(data).Fuzz(&i)
// MyFunc(i)
// return 0
// }
func NewFromGoFuzz(data []byte) *Fuzzer {
return New().RandSource(bytesource.New(data))
}
// Funcs adds each entry in fuzzFuncs as a custom fuzzing function. // Funcs adds each entry in fuzzFuncs as a custom fuzzing function.
// //
// Each entry in fuzzFuncs must be a function taking two parameters. // Each entry in fuzzFuncs must be a function taking two parameters.
@ -141,7 +172,7 @@ func (f *Fuzzer) genElementCount() int {
} }
func (f *Fuzzer) genShouldFill() bool { func (f *Fuzzer) genShouldFill() bool {
return f.r.Float64() > f.nilChance return f.r.Float64() >= f.nilChance
} }
// MaxDepth sets the maximum number of recursive fuzz calls that will be made // MaxDepth sets the maximum number of recursive fuzz calls that will be made
@ -240,6 +271,7 @@ func (fc *fuzzerContext) doFuzz(v reflect.Value, flags uint64) {
fn(v, fc.fuzzer.r) fn(v, fc.fuzzer.r)
return return
} }
switch v.Kind() { switch v.Kind() {
case reflect.Map: case reflect.Map:
if fc.fuzzer.genShouldFill() { if fc.fuzzer.genShouldFill() {
@ -450,10 +482,10 @@ var fillFuncMap = map[reflect.Kind]func(reflect.Value, *rand.Rand){
v.SetFloat(r.Float64()) v.SetFloat(r.Float64())
}, },
reflect.Complex64: func(v reflect.Value, r *rand.Rand) { reflect.Complex64: func(v reflect.Value, r *rand.Rand) {
panic("unimplemented") v.SetComplex(complex128(complex(r.Float32(), r.Float32())))
}, },
reflect.Complex128: func(v reflect.Value, r *rand.Rand) { reflect.Complex128: func(v reflect.Value, r *rand.Rand) {
panic("unimplemented") v.SetComplex(complex(r.Float64(), r.Float64()))
}, },
reflect.String: func(v reflect.Value, r *rand.Rand) { reflect.String: func(v reflect.Value, r *rand.Rand) {
v.SetString(randString(r)) v.SetString(randString(r))
@ -465,38 +497,105 @@ var fillFuncMap = map[reflect.Kind]func(reflect.Value, *rand.Rand){
// randBool returns true or false randomly. // randBool returns true or false randomly.
func randBool(r *rand.Rand) bool { func randBool(r *rand.Rand) bool {
if r.Int()&1 == 1 { return r.Int31()&(1<<30) == 0
return true
}
return false
} }
type charRange struct { type int63nPicker interface {
first, last rune Int63n(int64) int64
} }
// UnicodeRange describes a sequential range of unicode characters.
// Last must be numerically greater than First.
type UnicodeRange struct {
First, Last rune
}
// UnicodeRanges describes an arbitrary number of sequential ranges of unicode characters.
// To be useful, each range must have at least one character (First <= Last) and
// there must be at least one range.
type UnicodeRanges []UnicodeRange
// choose returns a random unicode character from the given range, using the // choose returns a random unicode character from the given range, using the
// given randomness source. // given randomness source.
func (r *charRange) choose(rand *rand.Rand) rune { func (ur UnicodeRange) choose(r int63nPicker) rune {
count := int64(r.last - r.first) count := int64(ur.Last - ur.First + 1)
return r.first + rune(rand.Int63n(count)) return ur.First + rune(r.Int63n(count))
} }
var unicodeRanges = []charRange{ // CustomStringFuzzFunc constructs a FuzzFunc which produces random strings.
// Each character is selected from the range ur. If there are no characters
// in the range (cr.Last < cr.First), this will panic.
func (ur UnicodeRange) CustomStringFuzzFunc() func(s *string, c Continue) {
ur.check()
return func(s *string, c Continue) {
*s = ur.randString(c.Rand)
}
}
// check is a function that used to check whether the first of ur(UnicodeRange)
// is greater than the last one.
func (ur UnicodeRange) check() {
if ur.Last < ur.First {
panic("The last encoding must be greater than the first one.")
}
}
// randString of UnicodeRange makes a random string up to 20 characters long.
// Each character is selected form ur(UnicodeRange).
func (ur UnicodeRange) randString(r *rand.Rand) string {
n := r.Intn(20)
sb := strings.Builder{}
sb.Grow(n)
for i := 0; i < n; i++ {
sb.WriteRune(ur.choose(r))
}
return sb.String()
}
// defaultUnicodeRanges sets a default unicode range when user do not set
// CustomStringFuzzFunc() but wants fuzz string.
var defaultUnicodeRanges = UnicodeRanges{
{' ', '~'}, // ASCII characters {' ', '~'}, // ASCII characters
{'\u00a0', '\u02af'}, // Multi-byte encoded characters {'\u00a0', '\u02af'}, // Multi-byte encoded characters
{'\u4e00', '\u9fff'}, // Common CJK (even longer encodings) {'\u4e00', '\u9fff'}, // Common CJK (even longer encodings)
} }
// CustomStringFuzzFunc constructs a FuzzFunc which produces random strings.
// Each character is selected from one of the ranges of ur(UnicodeRanges).
// Each range has an equal probability of being chosen. If there are no ranges,
// or a selected range has no characters (.Last < .First), this will panic.
// Do not modify any of the ranges in ur after calling this function.
func (ur UnicodeRanges) CustomStringFuzzFunc() func(s *string, c Continue) {
// Check unicode ranges slice is empty.
if len(ur) == 0 {
panic("UnicodeRanges is empty.")
}
// if not empty, each range should be checked.
for i := range ur {
ur[i].check()
}
return func(s *string, c Continue) {
*s = ur.randString(c.Rand)
}
}
// randString of UnicodeRanges makes a random string up to 20 characters long.
// Each character is selected form one of the ranges of ur(UnicodeRanges),
// and each range has an equal probability of being chosen.
func (ur UnicodeRanges) randString(r *rand.Rand) string {
n := r.Intn(20)
sb := strings.Builder{}
sb.Grow(n)
for i := 0; i < n; i++ {
sb.WriteRune(ur[r.Intn(len(ur))].choose(r))
}
return sb.String()
}
// randString makes a random string up to 20 characters long. The returned string // randString makes a random string up to 20 characters long. The returned string
// may include a variety of (valid) UTF-8 encodings. // may include a variety of (valid) UTF-8 encodings.
func randString(r *rand.Rand) string { func randString(r *rand.Rand) string {
n := r.Intn(20) return defaultUnicodeRanges.randString(r)
runes := make([]rune, n)
for i := range runes {
runes[i] = unicodeRanges[r.Intn(len(unicodeRanges))].choose(r)
}
return string(runes)
} }
// randUint64 makes random 64 bit numbers. // randUint64 makes random 64 bit numbers.

2
vendor/k8s.io/utils/net/port.go generated vendored
View File

@ -29,7 +29,7 @@ type IPFamily string
// Constants for valid IPFamilys: // Constants for valid IPFamilys:
const ( const (
IPv4 IPFamily = "4" IPv4 IPFamily = "4"
IPv6 = "6" IPv6 IPFamily = "6"
) )
// Protocol is a network protocol support by LocalPort. // Protocol is a network protocol support by LocalPort.

View File

@ -53,6 +53,7 @@ func Int(i int) *int {
} }
// IntPtr is a function variable referring to Int. // IntPtr is a function variable referring to Int.
//
// Deprecated: Use Int instead. // Deprecated: Use Int instead.
var IntPtr = Int // for back-compat var IntPtr = Int // for back-compat
@ -66,6 +67,7 @@ func IntDeref(ptr *int, def int) int {
} }
// IntPtrDerefOr is a function variable referring to IntDeref. // IntPtrDerefOr is a function variable referring to IntDeref.
//
// Deprecated: Use IntDeref instead. // Deprecated: Use IntDeref instead.
var IntPtrDerefOr = IntDeref // for back-compat var IntPtrDerefOr = IntDeref // for back-compat
@ -75,6 +77,7 @@ func Int32(i int32) *int32 {
} }
// Int32Ptr is a function variable referring to Int32. // Int32Ptr is a function variable referring to Int32.
//
// Deprecated: Use Int32 instead. // Deprecated: Use Int32 instead.
var Int32Ptr = Int32 // for back-compat var Int32Ptr = Int32 // for back-compat
@ -88,6 +91,7 @@ func Int32Deref(ptr *int32, def int32) int32 {
} }
// Int32PtrDerefOr is a function variable referring to Int32Deref. // Int32PtrDerefOr is a function variable referring to Int32Deref.
//
// Deprecated: Use Int32Deref instead. // Deprecated: Use Int32Deref instead.
var Int32PtrDerefOr = Int32Deref // for back-compat var Int32PtrDerefOr = Int32Deref // for back-compat
@ -103,12 +107,73 @@ func Int32Equal(a, b *int32) bool {
return *a == *b return *a == *b
} }
// Uint returns a pointer to an uint
func Uint(i uint) *uint {
return &i
}
// UintPtr is a function variable referring to Uint.
//
// Deprecated: Use Uint instead.
var UintPtr = Uint // for back-compat
// UintDeref dereferences the uint ptr and returns it if not nil, or else
// returns def.
func UintDeref(ptr *uint, def uint) uint {
if ptr != nil {
return *ptr
}
return def
}
// UintPtrDerefOr is a function variable referring to UintDeref.
//
// Deprecated: Use UintDeref instead.
var UintPtrDerefOr = UintDeref // for back-compat
// Uint32 returns a pointer to an uint32.
func Uint32(i uint32) *uint32 {
return &i
}
// Uint32Ptr is a function variable referring to Uint32.
//
// Deprecated: Use Uint32 instead.
var Uint32Ptr = Uint32 // for back-compat
// Uint32Deref dereferences the uint32 ptr and returns it if not nil, or else
// returns def.
func Uint32Deref(ptr *uint32, def uint32) uint32 {
if ptr != nil {
return *ptr
}
return def
}
// Uint32PtrDerefOr is a function variable referring to Uint32Deref.
//
// Deprecated: Use Uint32Deref instead.
var Uint32PtrDerefOr = Uint32Deref // for back-compat
// Uint32Equal returns true if both arguments are nil or both arguments
// dereference to the same value.
func Uint32Equal(a, b *uint32) bool {
if (a == nil) != (b == nil) {
return false
}
if a == nil {
return true
}
return *a == *b
}
// Int64 returns a pointer to an int64. // Int64 returns a pointer to an int64.
func Int64(i int64) *int64 { func Int64(i int64) *int64 {
return &i return &i
} }
// Int64Ptr is a function variable referring to Int64. // Int64Ptr is a function variable referring to Int64.
//
// Deprecated: Use Int64 instead. // Deprecated: Use Int64 instead.
var Int64Ptr = Int64 // for back-compat var Int64Ptr = Int64 // for back-compat
@ -122,6 +187,7 @@ func Int64Deref(ptr *int64, def int64) int64 {
} }
// Int64PtrDerefOr is a function variable referring to Int64Deref. // Int64PtrDerefOr is a function variable referring to Int64Deref.
//
// Deprecated: Use Int64Deref instead. // Deprecated: Use Int64Deref instead.
var Int64PtrDerefOr = Int64Deref // for back-compat var Int64PtrDerefOr = Int64Deref // for back-compat
@ -137,12 +203,49 @@ func Int64Equal(a, b *int64) bool {
return *a == *b return *a == *b
} }
// Uint64 returns a pointer to an uint64.
func Uint64(i uint64) *uint64 {
return &i
}
// Uint64Ptr is a function variable referring to Uint64.
//
// Deprecated: Use Uint64 instead.
var Uint64Ptr = Uint64 // for back-compat
// Uint64Deref dereferences the uint64 ptr and returns it if not nil, or else
// returns def.
func Uint64Deref(ptr *uint64, def uint64) uint64 {
if ptr != nil {
return *ptr
}
return def
}
// Uint64PtrDerefOr is a function variable referring to Uint64Deref.
//
// Deprecated: Use Uint64Deref instead.
var Uint64PtrDerefOr = Uint64Deref // for back-compat
// Uint64Equal returns true if both arguments are nil or both arguments
// dereference to the same value.
func Uint64Equal(a, b *uint64) bool {
if (a == nil) != (b == nil) {
return false
}
if a == nil {
return true
}
return *a == *b
}
// Bool returns a pointer to a bool. // Bool returns a pointer to a bool.
func Bool(b bool) *bool { func Bool(b bool) *bool {
return &b return &b
} }
// BoolPtr is a function variable referring to Bool. // BoolPtr is a function variable referring to Bool.
//
// Deprecated: Use Bool instead. // Deprecated: Use Bool instead.
var BoolPtr = Bool // for back-compat var BoolPtr = Bool // for back-compat
@ -156,6 +259,7 @@ func BoolDeref(ptr *bool, def bool) bool {
} }
// BoolPtrDerefOr is a function variable referring to BoolDeref. // BoolPtrDerefOr is a function variable referring to BoolDeref.
//
// Deprecated: Use BoolDeref instead. // Deprecated: Use BoolDeref instead.
var BoolPtrDerefOr = BoolDeref // for back-compat var BoolPtrDerefOr = BoolDeref // for back-compat
@ -177,6 +281,7 @@ func String(s string) *string {
} }
// StringPtr is a function variable referring to String. // StringPtr is a function variable referring to String.
//
// Deprecated: Use String instead. // Deprecated: Use String instead.
var StringPtr = String // for back-compat var StringPtr = String // for back-compat
@ -190,6 +295,7 @@ func StringDeref(ptr *string, def string) string {
} }
// StringPtrDerefOr is a function variable referring to StringDeref. // StringPtrDerefOr is a function variable referring to StringDeref.
//
// Deprecated: Use StringDeref instead. // Deprecated: Use StringDeref instead.
var StringPtrDerefOr = StringDeref // for back-compat var StringPtrDerefOr = StringDeref // for back-compat
@ -211,6 +317,7 @@ func Float32(i float32) *float32 {
} }
// Float32Ptr is a function variable referring to Float32. // Float32Ptr is a function variable referring to Float32.
//
// Deprecated: Use Float32 instead. // Deprecated: Use Float32 instead.
var Float32Ptr = Float32 var Float32Ptr = Float32
@ -224,6 +331,7 @@ func Float32Deref(ptr *float32, def float32) float32 {
} }
// Float32PtrDerefOr is a function variable referring to Float32Deref. // Float32PtrDerefOr is a function variable referring to Float32Deref.
//
// Deprecated: Use Float32Deref instead. // Deprecated: Use Float32Deref instead.
var Float32PtrDerefOr = Float32Deref // for back-compat var Float32PtrDerefOr = Float32Deref // for back-compat
@ -245,6 +353,7 @@ func Float64(i float64) *float64 {
} }
// Float64Ptr is a function variable referring to Float64. // Float64Ptr is a function variable referring to Float64.
//
// Deprecated: Use Float64 instead. // Deprecated: Use Float64 instead.
var Float64Ptr = Float64 var Float64Ptr = Float64
@ -258,6 +367,7 @@ func Float64Deref(ptr *float64, def float64) float64 {
} }
// Float64PtrDerefOr is a function variable referring to Float64Deref. // Float64PtrDerefOr is a function variable referring to Float64Deref.
//
// Deprecated: Use Float64Deref instead. // Deprecated: Use Float64Deref instead.
var Float64PtrDerefOr = Float64Deref // for back-compat var Float64PtrDerefOr = Float64Deref // for back-compat

30
vendor/k8s.io/utils/trace/trace.go generated vendored
View File

@ -21,6 +21,7 @@ import (
"context" "context"
"fmt" "fmt"
"math/rand" "math/rand"
"sync"
"time" "time"
"k8s.io/klog/v2" "k8s.io/klog/v2"
@ -93,13 +94,16 @@ func (s traceStep) writeItem(b *bytes.Buffer, formatter string, startTime time.T
// Trace keeps track of a set of "steps" and allows us to log a specific // Trace keeps track of a set of "steps" and allows us to log a specific
// step if it took longer than its share of the total allowed time // step if it took longer than its share of the total allowed time
type Trace struct { type Trace struct {
// constant fields
name string name string
fields []Field fields []Field
threshold *time.Duration
startTime time.Time startTime time.Time
endTime *time.Time
traceItems []traceItem
parentTrace *Trace parentTrace *Trace
// fields guarded by a lock
lock sync.RWMutex
threshold *time.Duration
endTime *time.Time
traceItems []traceItem
} }
func (t *Trace) time() time.Time { func (t *Trace) time() time.Time {
@ -138,6 +142,8 @@ func New(name string, fields ...Field) *Trace {
// how long it took. The Fields add key value pairs to provide additional details about the trace // how long it took. The Fields add key value pairs to provide additional details about the trace
// step. // step.
func (t *Trace) Step(msg string, fields ...Field) { func (t *Trace) Step(msg string, fields ...Field) {
t.lock.Lock()
defer t.lock.Unlock()
if t.traceItems == nil { if t.traceItems == nil {
// traces almost always have less than 6 steps, do this to avoid more than a single allocation // traces almost always have less than 6 steps, do this to avoid more than a single allocation
t.traceItems = make([]traceItem, 0, 6) t.traceItems = make([]traceItem, 0, 6)
@ -153,7 +159,9 @@ func (t *Trace) Nest(msg string, fields ...Field) *Trace {
newTrace := New(msg, fields...) newTrace := New(msg, fields...)
if t != nil { if t != nil {
newTrace.parentTrace = t newTrace.parentTrace = t
t.lock.Lock()
t.traceItems = append(t.traceItems, newTrace) t.traceItems = append(t.traceItems, newTrace)
t.lock.Unlock()
} }
return newTrace return newTrace
} }
@ -163,7 +171,9 @@ func (t *Trace) Nest(msg string, fields ...Field) *Trace {
// is logged. // is logged.
func (t *Trace) Log() { func (t *Trace) Log() {
endTime := time.Now() endTime := time.Now()
t.lock.Lock()
t.endTime = &endTime t.endTime = &endTime
t.lock.Unlock()
// an explicit logging request should dump all the steps out at the higher level // an explicit logging request should dump all the steps out at the higher level
if t.parentTrace == nil { // We don't start logging until Log or LogIfLong is called on the root trace if t.parentTrace == nil { // We don't start logging until Log or LogIfLong is called on the root trace
t.logTrace() t.logTrace()
@ -178,13 +188,17 @@ func (t *Trace) Log() {
// If the Trace is nested it is not immediately logged. Instead, it is logged when the trace it // If the Trace is nested it is not immediately logged. Instead, it is logged when the trace it
// is nested within is logged. // is nested within is logged.
func (t *Trace) LogIfLong(threshold time.Duration) { func (t *Trace) LogIfLong(threshold time.Duration) {
t.lock.Lock()
t.threshold = &threshold t.threshold = &threshold
t.lock.Unlock()
t.Log() t.Log()
} }
// logTopLevelTraces finds all traces in a hierarchy of nested traces that should be logged but do not have any // logTopLevelTraces finds all traces in a hierarchy of nested traces that should be logged but do not have any
// parents that will be logged, due to threshold limits, and logs them as top level traces. // parents that will be logged, due to threshold limits, and logs them as top level traces.
func (t *Trace) logTrace() { func (t *Trace) logTrace() {
t.lock.RLock()
defer t.lock.RUnlock()
if t.durationIsWithinThreshold() { if t.durationIsWithinThreshold() {
var buffer bytes.Buffer var buffer bytes.Buffer
traceNum := rand.Int31() traceNum := rand.Int31()
@ -244,9 +258,13 @@ func (t *Trace) calculateStepThreshold() *time.Duration {
traceThreshold := *t.threshold traceThreshold := *t.threshold
for _, s := range t.traceItems { for _, s := range t.traceItems {
nestedTrace, ok := s.(*Trace) nestedTrace, ok := s.(*Trace)
if ok && nestedTrace.threshold != nil { if ok {
traceThreshold = traceThreshold - *nestedTrace.threshold nestedTrace.lock.RLock()
lenTrace-- if nestedTrace.threshold != nil {
traceThreshold = traceThreshold - *nestedTrace.threshold
lenTrace--
}
nestedTrace.lock.RUnlock()
} }
} }

15
vendor/modules.txt vendored
View File

@ -85,7 +85,7 @@ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2
# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19 # github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.19
## explicit; go 1.15 ## explicit; go 1.15
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
# github.com/aws/aws-sdk-go-v2/service/sts v1.17.1 # github.com/aws/aws-sdk-go-v2/service/sts v1.17.3
## explicit; go 1.15 ## explicit; go 1.15
github.com/aws/aws-sdk-go-v2/service/sts github.com/aws/aws-sdk-go-v2/service/sts
github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints
@ -118,7 +118,7 @@ github.com/blang/semver/v4
## explicit; go 1.12 ## explicit; go 1.12
github.com/cenkalti/backoff/v3 github.com/cenkalti/backoff/v3
# github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000 => ./api # github.com/ceph/ceph-csi/api v0.0.0-00010101000000-000000000000 => ./api
## explicit; go 1.16 ## explicit; go 1.18
github.com/ceph/ceph-csi/api/deploy/kubernetes/nfs github.com/ceph/ceph-csi/api/deploy/kubernetes/nfs
github.com/ceph/ceph-csi/api/deploy/kubernetes/rbd github.com/ceph/ceph-csi/api/deploy/kubernetes/rbd
github.com/ceph/ceph-csi/api/deploy/ocp github.com/ceph/ceph-csi/api/deploy/ocp
@ -249,9 +249,10 @@ github.com/google/go-cmp/cmp/internal/diff
github.com/google/go-cmp/cmp/internal/flags github.com/google/go-cmp/cmp/internal/flags
github.com/google/go-cmp/cmp/internal/function github.com/google/go-cmp/cmp/internal/function
github.com/google/go-cmp/cmp/internal/value github.com/google/go-cmp/cmp/internal/value
# github.com/google/gofuzz v1.1.0 # github.com/google/gofuzz v1.2.0
## explicit; go 1.12 ## explicit; go 1.12
github.com/google/gofuzz github.com/google/gofuzz
github.com/google/gofuzz/bytesource
# github.com/google/uuid v1.3.0 # github.com/google/uuid v1.3.0
## explicit ## explicit
github.com/google/uuid github.com/google/uuid
@ -799,7 +800,7 @@ gopkg.in/yaml.v2
# gopkg.in/yaml.v3 v3.0.1 # gopkg.in/yaml.v3 v3.0.1
## explicit ## explicit
gopkg.in/yaml.v3 gopkg.in/yaml.v3
# k8s.io/api v0.25.3 => k8s.io/api v0.25.3 # k8s.io/api v0.25.4 => k8s.io/api v0.25.3
## explicit; go 1.19 ## explicit; go 1.19
k8s.io/api/admission/v1 k8s.io/api/admission/v1
k8s.io/api/admission/v1beta1 k8s.io/api/admission/v1beta1
@ -853,7 +854,7 @@ k8s.io/api/storage/v1beta1
## explicit; go 1.19 ## explicit; go 1.19
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions k8s.io/apiextensions-apiserver/pkg/apis/apiextensions
k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1 k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
# k8s.io/apimachinery v0.25.3 => k8s.io/apimachinery v0.25.3 # k8s.io/apimachinery v0.25.4 => k8s.io/apimachinery v0.25.3
## explicit; go 1.19 ## explicit; go 1.19
k8s.io/apimachinery/pkg/api/equality k8s.io/apimachinery/pkg/api/equality
k8s.io/apimachinery/pkg/api/errors k8s.io/apimachinery/pkg/api/errors
@ -1317,8 +1318,8 @@ k8s.io/mount-utils
## explicit; go 1.19 ## explicit; go 1.19
k8s.io/pod-security-admission/api k8s.io/pod-security-admission/api
k8s.io/pod-security-admission/policy k8s.io/pod-security-admission/policy
# k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed # k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2
## explicit; go 1.12 ## explicit; go 1.18
k8s.io/utils/buffer k8s.io/utils/buffer
k8s.io/utils/clock k8s.io/utils/clock
k8s.io/utils/clock/testing k8s.io/utils/clock/testing