Merge branch 'main' into issue-fix-9077

This commit is contained in:
lyndon-li
2025-07-23 15:05:22 +08:00
committed by GitHub
114 changed files with 837 additions and 756 deletions
+2 -2
View File
@@ -13,7 +13,7 @@
# limitations under the License.
# Velero binary build section
FROM --platform=$BUILDPLATFORM golang:1.23-bookworm AS velero-builder
FROM --platform=$BUILDPLATFORM golang:1.24-bookworm AS velero-builder
ARG GOPROXY
ARG BIN
@@ -49,7 +49,7 @@ RUN mkdir -p /output/usr/bin && \
go clean -modcache -cache
# Restic binary build section
FROM --platform=$BUILDPLATFORM golang:1.23-bookworm AS restic-builder
FROM --platform=$BUILDPLATFORM golang:1.24-bookworm AS restic-builder
ARG GOPROXY
ARG BIN
+1 -1
View File
@@ -15,7 +15,7 @@
ARG OS_VERSION=1809
# Velero binary build section
FROM --platform=$BUILDPLATFORM golang:1.23-bookworm AS velero-builder
FROM --platform=$BUILDPLATFORM golang:1.24-bookworm AS velero-builder
ARG GOPROXY
ARG BIN
+1 -1
View File
@@ -52,7 +52,7 @@ git_sha = str(local("git rev-parse HEAD", quiet = True, echo_off = True)).strip(
tilt_helper_dockerfile_header = """
# Tilt image
FROM golang:1.23 as tilt-helper
FROM golang:1.24 as tilt-helper
# Support live reloading with Tilt
RUN wget --output-document /restart.sh --quiet https://raw.githubusercontent.com/windmilleng/rerun-process-wrapper/master/restart.sh && \
+1
View File
@@ -0,0 +1 @@
Enable parameterized kubelet mount path during node-agent installation
+1
View File
@@ -0,0 +1 @@
Bump up Kopia to v0.21.1
+37 -37
View File
@@ -1,11 +1,11 @@
module github.com/vmware-tanzu/velero
go 1.23.0
go 1.24.0
require (
cloud.google.com/go/storage v1.54.0
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.0
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.10.0
cloud.google.com/go/storage v1.55.0
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.1
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.10.1
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.6.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.8.0
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.1
@@ -41,12 +41,12 @@ require (
github.com/stretchr/testify v1.10.0
github.com/vmware-tanzu/crash-diagnostics v0.3.7
go.uber.org/zap v1.27.0
golang.org/x/mod v0.24.0
golang.org/x/net v0.40.0
golang.org/x/mod v0.26.0
golang.org/x/net v0.42.0
golang.org/x/oauth2 v0.30.0
golang.org/x/text v0.25.0
google.golang.org/api v0.233.0
google.golang.org/grpc v1.72.1
golang.org/x/text v0.27.0
google.golang.org/api v0.241.0
google.golang.org/grpc v1.73.0
google.golang.org/protobuf v1.36.6
gopkg.in/yaml.v3 v3.0.1
k8s.io/api v0.31.3
@@ -64,13 +64,13 @@ require (
)
require (
cel.dev/expr v0.20.0 // indirect
cloud.google.com/go v0.121.0 // indirect
cloud.google.com/go/auth v0.16.1 // indirect
cel.dev/expr v0.23.0 // indirect
cloud.google.com/go v0.121.1 // indirect
cloud.google.com/go/auth v0.16.2 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
cloud.google.com/go/compute/metadata v0.6.0 // indirect
cloud.google.com/go/compute/metadata v0.7.0 // indirect
cloud.google.com/go/iam v1.5.2 // indirect
cloud.google.com/go/monitoring v1.24.0 // indirect
cloud.google.com/go/monitoring v1.24.2 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.1 // indirect
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2 // indirect
@@ -93,7 +93,7 @@ require (
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/chmduquesne/rollinghash v4.0.0+incompatible // indirect
github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 // indirect
github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/edsrzf/mmap-go v1.2.0 // indirect
@@ -104,7 +104,7 @@ require (
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
github.com/go-ini/ini v1.67.0 // indirect
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-ole/go-ole v1.3.0 // indirect
github.com/go-openapi/jsonpointer v0.19.6 // indirect
@@ -122,7 +122,7 @@ require (
github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af // indirect
github.com/google/s2a-go v0.1.9 // indirect
github.com/googleapis/enterprise-certificate-proxy v0.3.6 // indirect
github.com/googleapis/gax-go/v2 v2.14.1 // indirect
github.com/googleapis/gax-go/v2 v2.14.2 // indirect
github.com/gorilla/websocket v1.5.0 // indirect
github.com/hashicorp/cronexpr v1.1.2 // indirect
github.com/hashicorp/yamux v0.1.1 // indirect
@@ -142,7 +142,7 @@ require (
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/minio/crc64nvme v1.0.1 // indirect
github.com/minio/md5-simd v1.1.2 // indirect
github.com/minio/minio-go/v7 v7.0.92 // indirect
github.com/minio/minio-go/v7 v7.0.94 // indirect
github.com/mitchellh/go-testing-interface v1.0.0 // indirect
github.com/moby/spdystream v0.4.0 // indirect
github.com/moby/term v0.5.0 // indirect
@@ -159,7 +159,7 @@ require (
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/common v0.64.0 // indirect
github.com/prometheus/common v0.65.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect
github.com/rs/xid v1.6.0 // indirect
github.com/spiffe/go-spiffe/v2 v2.5.0 // indirect
@@ -170,27 +170,27 @@ require (
github.com/zeebo/blake3 v0.2.4 // indirect
github.com/zeebo/errs v1.4.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/contrib/detectors/gcp v1.35.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect
go.opentelemetry.io/otel v1.35.0 // indirect
go.opentelemetry.io/otel/metric v1.35.0 // indirect
go.opentelemetry.io/otel/sdk v1.35.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.35.0 // indirect
go.opentelemetry.io/otel/trace v1.35.0 // indirect
go.opentelemetry.io/contrib/detectors/gcp v1.36.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect
go.opentelemetry.io/otel v1.37.0 // indirect
go.opentelemetry.io/otel/metric v1.37.0 // indirect
go.opentelemetry.io/otel/sdk v1.37.0 // indirect
go.opentelemetry.io/otel/sdk/metric v1.36.0 // indirect
go.opentelemetry.io/otel/trace v1.37.0 // indirect
go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.38.0 // indirect
golang.org/x/crypto v0.40.0 // indirect
golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 // indirect
golang.org/x/sync v0.14.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/term v0.32.0 // indirect
golang.org/x/time v0.11.0 // indirect
golang.org/x/tools v0.22.0 // indirect
golang.org/x/sync v0.16.0 // indirect
golang.org/x/sys v0.34.0 // indirect
golang.org/x/term v0.33.0 // indirect
golang.org/x/time v0.12.0 // indirect
golang.org/x/tools v0.34.0 // indirect
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250505200425-f936aa4a68b2 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250505200425-f936aa4a68b2 // indirect
google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
@@ -198,4 +198,4 @@ require (
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
)
replace github.com/kopia/kopia => github.com/project-velero/kopia v0.0.0-20250617091219-8d93c3407cdc
replace github.com/kopia/kopia => github.com/project-velero/kopia v0.0.0-20250722052735-3ea24d208777
+80 -80
View File
@@ -1,7 +1,7 @@
al.essio.dev/pkg/shellescape v1.5.1 h1:86HrALUujYS/h+GtqoB26SBEdkWfmMI6FubjXlsXyho=
al.essio.dev/pkg/shellescape v1.5.1/go.mod h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890=
cel.dev/expr v0.20.0 h1:OunBvVCfvpWlt4dN7zg3FM6TDkzOePe1+foGJ9AXeeI=
cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw=
cel.dev/expr v0.23.0 h1:wUb94w6OYQS4uXraxo9U+wUAs9jT47Xvl4iPgAwM2ss=
cel.dev/expr v0.23.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
@@ -24,10 +24,10 @@ cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPT
cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
cloud.google.com/go v0.121.0 h1:pgfwva8nGw7vivjZiRfrmglGWiCJBP+0OmDpenG/Fwg=
cloud.google.com/go v0.121.0/go.mod h1:rS7Kytwheu/y9buoDmu5EIpMMCI4Mb8ND4aeN4Vwj7Q=
cloud.google.com/go/auth v0.16.1 h1:XrXauHMd30LhQYVRHLGvJiYeczweKQXZxsTbV9TiguU=
cloud.google.com/go/auth v0.16.1/go.mod h1:1howDHJ5IETh/LwYs3ZxvlkXF48aSqqJUM+5o02dNOI=
cloud.google.com/go v0.121.1 h1:S3kTQSydxmu1JfLRLpKtxRPA7rSrYPRPEUmL/PavVUw=
cloud.google.com/go v0.121.1/go.mod h1:nRFlrHq39MNVWu+zESP2PosMWA0ryJw8KUBZ2iZpxbw=
cloud.google.com/go/auth v0.16.2 h1:QvBAGFPLrDeoiNjyfVunhQ10HKNYuOwZ5noee0M5df4=
cloud.google.com/go/auth v0.16.2/go.mod h1:sRBas2Y1fB1vZTdurouM0AzuYQBMZinrUYL8EufhtEA=
cloud.google.com/go/auth/oauth2adapt v0.2.8 h1:keo8NaayQZ6wimpNSmW5OPc283g65QNIiLpZnkHRbnc=
cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
@@ -36,8 +36,8 @@ cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvf
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I=
cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg=
cloud.google.com/go/compute/metadata v0.7.0 h1:PBWF+iiAerVNe8UCHxdOt6eHLVc3ydFeOCw78U8ytSU=
cloud.google.com/go/compute/metadata v0.7.0/go.mod h1:j5MvL9PprKL39t166CoB1uVHfQMs4tFQZZcKwksXUjo=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
@@ -47,8 +47,8 @@ cloud.google.com/go/logging v1.13.0 h1:7j0HgAp0B94o1YRDqiqm26w4q1rDMH7XNRU34lJXH
cloud.google.com/go/logging v1.13.0/go.mod h1:36CoKh6KA/M0PbhPKMq6/qety2DCAErbhXT62TuXALA=
cloud.google.com/go/longrunning v0.6.7 h1:IGtfDWHhQCgCjwQjV9iiLnUta9LBCo8R9QmAFsS/PrE=
cloud.google.com/go/longrunning v0.6.7/go.mod h1:EAFV3IZAKmM56TyiE6VAP3VoTzhZzySwI/YI1s/nRsY=
cloud.google.com/go/monitoring v1.24.0 h1:csSKiCJ+WVRgNkRzzz3BPoGjFhjPY23ZTcaenToJxMM=
cloud.google.com/go/monitoring v1.24.0/go.mod h1:Bd1PRK5bmQBQNnuGwHBfUamAV1ys9049oEPHnn4pcsc=
cloud.google.com/go/monitoring v1.24.2 h1:5OTsoJ1dXYIiMiuL+sYscLc9BumrL3CarVLL7dd7lHM=
cloud.google.com/go/monitoring v1.24.2/go.mod h1:x7yzPWcgDRnPEv3sI+jJGBkwl5qINf+6qY4eq0I9B4U=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
@@ -59,15 +59,15 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
cloud.google.com/go/storage v1.54.0 h1:Du3XEyliAiftfyW0bwfdppm2MMLdpVAfiIg4T2nAI+0=
cloud.google.com/go/storage v1.54.0/go.mod h1:hIi9Boe8cHxTyaeqh7KMMwKg088VblFK46C2x/BWaZE=
cloud.google.com/go/trace v1.11.3 h1:c+I4YFjxRQjvAhRmSsmjpASUKq88chOX854ied0K/pE=
cloud.google.com/go/trace v1.11.3/go.mod h1:pt7zCYiDSQjC9Y2oqCsh9jF4GStB/hmjrYLsxRR27q8=
cloud.google.com/go/storage v1.55.0 h1:NESjdAToN9u1tmhVqhXCaCwYBuvEhZLLv0gBr+2znf0=
cloud.google.com/go/storage v1.55.0/go.mod h1:ztSmTTwzsdXe5syLVS0YsbFxXuvEmEyZj7v7zChEmuY=
cloud.google.com/go/trace v1.11.6 h1:2O2zjPzqPYAHrn3OKl029qlqG6W8ZdYaOWRyr8NgMT4=
cloud.google.com/go/trace v1.11.6/go.mod h1:GA855OeDEBiBMzcckLPE2kDunIpC72N+Pq8WFieFjnI=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.0 h1:Gt0j3wceWMwPmiazCa8MzMA0MfhmPIz0Qp0FJ6qcM0U=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.0/go.mod h1:Ot/6aikWnKWi4l9QB7qVSwa8iMphQNqkWALMoNT3rzM=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.10.0 h1:j8BorDEigD8UFOSZQiSqAMOOleyQOOQPnUAwV+Ls1gA=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.10.0/go.mod h1:JdM5psgjfBf5fo2uWOZhflPWyDBZ/O/CNAH9CtsuZE4=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.1 h1:Wc1ml6QlJs2BHQ/9Bqu1jiyggbsSjramq2oUmp5WeIo=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.1/go.mod h1:Ot/6aikWnKWi4l9QB7qVSwa8iMphQNqkWALMoNT3rzM=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.10.1 h1:B+blDbyVIG3WaikNxPnhPiJ1MThR03b3vKGtER95TP4=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.10.1/go.mod h1:JdM5psgjfBf5fo2uWOZhflPWyDBZ/O/CNAH9CtsuZE4=
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2 h1:yz1bePFlP5Vws5+8ez6T3HWXPmwOK7Yvq8QxDBD3SKY=
github.com/Azure/azure-sdk-for-go/sdk/azidentity/cache v0.3.2/go.mod h1:Pa9ZNPuoNu/GztvBSKk9J1cDJW6vk/n0zLtV4mgd8N8=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.1 h1:FPKJS1T+clwv+OLGt13a8UjqeRuh0O4SJ3lUriThc+4=
@@ -187,8 +187,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 h1:Om6kYQYDUk5wWbT0t0q6pvyM49i9XZAv9dDrkDA7gjk=
github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f h1:C5bqEmzEPLsHm9Mv73lSE9e9bKV23aB1vxOsmZrkl3k=
github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
@@ -272,8 +272,8 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ=
@@ -403,8 +403,8 @@ github.com/googleapis/enterprise-certificate-proxy v0.3.6 h1:GW/XbdyBFQ8Qe+YAmFU
github.com/googleapis/enterprise-certificate-proxy v0.3.6/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gax-go/v2 v2.14.1 h1:hb0FFeiPaQskmvakKu5EbCbpntQn48jyHuvrkurSS/Q=
github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA=
github.com/googleapis/gax-go/v2 v2.14.2 h1:eBLnkZ9635krYIPD+ag1USrOAI0Nr0QYF3+/3GqO0k0=
github.com/googleapis/gax-go/v2 v2.14.2/go.mod h1:ON64QhlJkhVtSqp4v1uaK92VyZ2gmvDQsweuyLV+8+w=
github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU=
github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA=
github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
@@ -420,8 +420,8 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmg
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/hanwen/go-fuse/v2 v2.7.2 h1:SbJP1sUP+n1UF8NXBA14BuojmTez+mDgOk0bC057HQw=
github.com/hanwen/go-fuse/v2 v2.7.2/go.mod h1:ugNaD/iv5JYyS1Rcvi57Wz7/vrLQJo10mmketmoef48=
github.com/hanwen/go-fuse/v2 v2.8.0 h1:wV8rG7rmCz8XHSOwBZhG5YcVqcYjkzivjmbaMafPlAs=
github.com/hanwen/go-fuse/v2 v2.8.0/go.mod h1:yE6D2PqWwm3CbYRxFXV9xUd8Md5d6NG0WBs5spCswmI=
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/cronexpr v1.1.2 h1:wG/ZYIKT+RT3QkOdgYc+xsKWVRgnxJ1OJtjjy84fJ9A=
@@ -494,8 +494,8 @@ github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQ
github.com/klauspost/reedsolomon v1.12.4 h1:5aDr3ZGoJbgu/8+j45KtUJxzYm8k08JGtB9Wx1VQ4OA=
github.com/klauspost/reedsolomon v1.12.4/go.mod h1:d3CzOMOt0JXGIFZm1StgkyF14EYr3xneR2rNWo7NcMU=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kopia/htmluibuild v0.0.1-0.20250524135225-be3914d821a8 h1:4003yeG0TOfRrWjMqyhDqWFmoMYbsf+evLGiQAtG9E0=
github.com/kopia/htmluibuild v0.0.1-0.20250524135225-be3914d821a8/go.mod h1:h53A5JM3t2qiwxqxusBe+PFgGcgZdS+DWCQvG5PTlto=
github.com/kopia/htmluibuild v0.0.1-0.20250607181534-77e0f3f9f557 h1:je1C/xnmKxnaJsIgj45me5qA51TgtK9uMwTxgDw+9H0=
github.com/kopia/htmluibuild v0.0.1-0.20250607181534-77e0f3f9f557/go.mod h1:h53A5JM3t2qiwxqxusBe+PFgGcgZdS+DWCQvG5PTlto=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -537,8 +537,8 @@ github.com/minio/crc64nvme v1.0.1 h1:DHQPrYPdqK7jQG/Ls5CTBZWeex/2FMS3G5XGkycuFrY
github.com/minio/crc64nvme v1.0.1/go.mod h1:eVfm2fAzLlxMdUGc0EEBGSMmPwmXD5XiNRpnu9J3bvg=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
github.com/minio/minio-go/v7 v7.0.92 h1:jpBFWyRS3p8P/9tsRc+NuvqoFi7qAmTCFPoRFmobbVw=
github.com/minio/minio-go/v7 v7.0.92/go.mod h1:vTIc8DNcnAZIhyFsk8EB90AbPjj3j68aWIEQCiPj7d0=
github.com/minio/minio-go/v7 v7.0.94 h1:1ZoksIKPyaSt64AVOyaQvhDOgVC3MfZsWM6mZXRUGtM=
github.com/minio/minio-go/v7 v7.0.94/go.mod h1:71t2CqDt3ThzESgZUlU1rBN54mksGGlkLcFgguDnnAc=
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
@@ -615,8 +615,8 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/project-velero/kopia v0.0.0-20250617091219-8d93c3407cdc h1:cvEedoYdf9wnUULBh5hDJziWkdxi6wNjYseF5uWC7F0=
github.com/project-velero/kopia v0.0.0-20250617091219-8d93c3407cdc/go.mod h1:Qsr5ow6nPSGC4E52iR145NYiCog/GSmg+pVYaAQS/gM=
github.com/project-velero/kopia v0.0.0-20250722052735-3ea24d208777 h1:T7t+u+mnF33qFTDq7bIMSMB51BEA8zkD7aU6tFQNZ6E=
github.com/project-velero/kopia v0.0.0-20250722052735-3ea24d208777/go.mod h1:qlSnPHrsV8eEeU4l4zqEw8mJ5CUeXr7PDiJNI4r4Bus=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q=
@@ -628,8 +628,8 @@ github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNw
github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.64.0 h1:pdZeA+g617P7oGv1CzdTzyeShxAGrTBsolKNOLQPGO4=
github.com/prometheus/common v0.64.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8=
github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE=
github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
@@ -746,24 +746,24 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
go.opentelemetry.io/contrib/detectors/gcp v1.35.0 h1:bGvFt68+KTiAKFlacHW6AhA56GF2rS0bdD3aJYEnmzA=
go.opentelemetry.io/contrib/detectors/gcp v1.35.0/go.mod h1:qGWP8/+ILwMRIUf9uIVLloR1uo5ZYAslM4O6OqUi1DA=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ=
go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ=
go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y=
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.35.0 h1:PB3Zrjs1sG1GBX51SXyTSoOTqcDglmsk7nT6tkKPb/k=
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.35.0/go.mod h1:U2R3XyVPzn0WX7wOIypPuptulsMcPDPs/oiSVOMVnHY=
go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M=
go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE=
go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY=
go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg=
go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o=
go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w=
go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs=
go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc=
go.opentelemetry.io/contrib/detectors/gcp v1.36.0 h1:F7q2tNlCaHY9nMKHR6XH9/qkp8FktLnIcy6jJNyOCQw=
go.opentelemetry.io/contrib/detectors/gcp v1.36.0/go.mod h1:IbBN8uAIIx734PTonTPxAxnjc2pQTxWNkwfstZ+6H2k=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 h1:q4XOmH/0opmeuJtPsbFNivyl7bCt7yRBbeEm2sC/XtQ=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0/go.mod h1:snMWehoOh2wsEwnvvwtDyFCxVeDAODenXHtn5vzrKjo=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q=
go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I=
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.36.0 h1:rixTyDGXFxRy1xzhKrotaHy3/KXdPhlWARrCgK+eqUY=
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.36.0/go.mod h1:dowW6UsM9MKbJq5JTz2AMVp3/5iW5I/TStsk8S+CfHw=
go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE=
go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E=
go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI=
go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg=
go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis=
go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o=
go.starlark.net v0.0.0-20201006213952-227f4aabceb5/go.mod h1:f0znQkUKRrkk36XxWbGjMqQM8wGv/xHBVE2qc3B5oFU=
go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY=
@@ -792,8 +792,8 @@ golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM=
golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -831,8 +831,8 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg=
golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -878,8 +878,8 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -906,8 +906,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -971,14 +971,14 @@ golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg=
golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -988,14 +988,14 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4=
golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0=
golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE=
golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -1049,8 +1049,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1079,8 +1079,8 @@ google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjR
google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8=
google.golang.org/api v0.233.0 h1:iGZfjXAJiUFSSaekVB7LzXl6tRfEKhUN7FkZN++07tI=
google.golang.org/api v0.233.0/go.mod h1:TCIVLLlcwunlMpZIhIp7Ltk77W+vUSdUKAAIlbxY44c=
google.golang.org/api v0.241.0 h1:QKwqWQlkc6O895LchPEDUSYr22Xp3NCxpQRiWTB6avE=
google.golang.org/api v0.241.0/go.mod h1:cOVEm2TpdAGHL2z+UwyS+kmlGr3bVWQQ6sYEqkKje50=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -1132,12 +1132,12 @@ google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6D
google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb h1:ITgPrl429bc6+2ZraNSzMDk3I95nmQln2fuPstKwFDE=
google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:sAo5UzpjUwgFBCzupwhcLcxHVDK7vG5IqI30YnwX2eE=
google.golang.org/genproto/googleapis/api v0.0.0-20250505200425-f936aa4a68b2 h1:vPV0tzlsK6EzEDHNNH5sa7Hs9bd7iXR7B1tSiPepkV0=
google.golang.org/genproto/googleapis/api v0.0.0-20250505200425-f936aa4a68b2/go.mod h1:pKLAc5OolXC3ViWGI62vvC0n10CpwAtRcTNCFwTKBEw=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250505200425-f936aa4a68b2 h1:IqsN8hx+lWLqlN+Sc3DoMy/watjofWiU8sRFgQ8fhKM=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250505200425-f936aa4a68b2/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 h1:1tXaIXCracvtsRxSBsYDiSBN0cuJvM7QYW+MrpIRY78=
google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2/go.mod h1:49MsLSx0oWMOZqcpB3uL8ZOkAh1+TndpJ8ONoCBWiZk=
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 h1:oWVWY3NzT7KJppx2UKhKmzPq4SRe0LdCijVRwvGeikY=
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822/go.mod h1:h3c4v36UTKzUiuaOKQ6gr3S+0hovBtUrXzTG/i3+XEc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:fc6jSaCT0vBduLYZHYrBBNY4dsWuvgyff9noRNDdBeE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@@ -1159,8 +1159,8 @@ google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA=
google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
+1 -1
View File
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM --platform=$TARGETPLATFORM golang:1.23-bookworm
FROM --platform=$TARGETPLATFORM golang:1.24-bookworm
ARG GOPROXY
+1 -2
View File
@@ -17,7 +17,6 @@ limitations under the License.
package credentials
import (
"context"
"testing"
"github.com/stretchr/testify/require"
@@ -68,7 +67,7 @@ func TestNamespacedFileStore(t *testing.T) {
client := velerotest.NewFakeControllerRuntimeClient(t)
for _, secret := range tc.secrets {
require.NoError(t, client.Create(context.Background(), secret))
require.NoError(t, client.Create(t.Context(), secret))
}
fs := velerotest.NewFakeFileSystem()
@@ -194,13 +194,12 @@ func TestCheckVSCReadiness(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
crClient := velerotest.NewFakeControllerRuntimeClient(t)
if test.createVSC {
require.NoError(t, crClient.Create(ctx, test.vsc))
require.NoError(t, crClient.Create(t.Context(), test.vsc))
}
ready, err := checkVSCReadiness(ctx, test.vsc, crClient)
ready, err := checkVSCReadiness(t.Context(), test.vsc, crClient)
require.Equal(t, test.ready, ready)
if test.expectErr {
require.Error(t, err)
@@ -17,7 +17,6 @@ limitations under the License.
package delete
import (
"context"
"io"
"sort"
"testing"
@@ -221,9 +220,9 @@ func (h *harness) addResource(t *testing.T, resource *test.APIResource) {
unstructuredObj := &unstructured.Unstructured{Object: obj}
if resource.Namespaced {
_, err = h.DynamicClient.Resource(resource.GVR()).Namespace(item.GetNamespace()).Create(context.TODO(), unstructuredObj, metav1.CreateOptions{})
_, err = h.DynamicClient.Resource(resource.GVR()).Namespace(item.GetNamespace()).Create(t.Context(), unstructuredObj, metav1.CreateOptions{})
} else {
_, err = h.DynamicClient.Resource(resource.GVR()).Create(context.TODO(), unstructuredObj, metav1.CreateOptions{})
_, err = h.DynamicClient.Resource(resource.GVR()).Create(t.Context(), unstructuredObj, metav1.CreateOptions{})
}
require.NoError(t, err)
}
+2 -2
View File
@@ -736,7 +736,7 @@ func TestWaitExecHandleHooks(t *testing.T) {
podCommandExecutor.On("ExecutePodCommand", mock.Anything, obj, e.pod.Namespace, e.pod.Name, e.name, e.hook).Return(e.error)
}
ctx := context.Background()
ctx := t.Context()
if test.sharedHooksContextTimeout > 0 {
var ctxCancel context.CancelFunc
ctx, ctxCancel = context.WithTimeout(ctx, test.sharedHooksContextTimeout)
@@ -1268,7 +1268,7 @@ func TestRestoreHookTrackerUpdate(t *testing.T) {
podCommandExecutor.On("ExecutePodCommand", mock.Anything, obj, e.pod.Namespace, e.pod.Name, e.name, e.hook).Return(e.error)
}
ctx := context.Background()
ctx := t.Context()
_ = h.HandleHooks(ctx, velerotest.NewLogger(), test.initialPod, test.byContainer, test.hookTracker, "restore1")
_, actualFailed := test.hookTracker.Stat("restore1")
assert.Equal(t, test.expectedFailed, actualFailed)
+2 -3
View File
@@ -16,7 +16,6 @@ limitations under the License.
package storage
import (
"context"
"testing"
"time"
@@ -165,10 +164,10 @@ func TestListBackupStorageLocations(t *testing.T) {
client := fake.NewClientBuilder().WithScheme(util.VeleroScheme).WithRuntimeObjects(tt.backupLocations).Build()
if tt.expectError {
_, err := ListBackupStorageLocations(context.Background(), client, "ns-1")
_, err := ListBackupStorageLocations(t.Context(), client, "ns-1")
g.Expect(err).To(HaveOccurred())
} else {
_, err := ListBackupStorageLocations(context.Background(), client, "ns-1")
_, err := ListBackupStorageLocations(t.Context(), client, "ns-1")
g.Expect(err).ToNot(HaveOccurred())
}
})
+1 -2
View File
@@ -17,7 +17,6 @@ limitations under the License.
package volume
import (
"context"
"sync"
"testing"
@@ -738,7 +737,7 @@ func TestGenerateVolumeInfoFromPVB(t *testing.T) {
}
}
if tc.pod != nil {
require.NoError(t, volumesInfo.crClient.Create(context.TODO(), tc.pod))
require.NoError(t, volumesInfo.crClient.Create(t.Context(), tc.pod))
}
volumesInfo.logger = logging.DefaultLogger(logrus.DebugLevel, logging.FormatJSON)
@@ -17,7 +17,6 @@ limitations under the License.
package volumehelper
import (
"context"
"testing"
"github.com/sirupsen/logrus"
@@ -311,7 +310,7 @@ func TestVolumeHelperImpl_ShouldPerformSnapshot(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
fakeClient := velerotest.NewFakeControllerRuntimeClient(t, objs...)
if tc.pod != nil {
fakeClient.Create(context.Background(), tc.pod)
fakeClient.Create(t.Context(), tc.pod)
}
var p *resourcepolicies.Policies
@@ -676,7 +675,7 @@ func TestVolumeHelperImpl_ShouldPerformFSBackup(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
fakeClient := velerotest.NewFakeControllerRuntimeClient(t, tc.resources...)
if tc.pod != nil {
fakeClient.Create(context.Background(), tc.pod)
fakeClient.Create(t.Context(), tc.pod)
}
var p *resourcepolicies.Policies
+22 -22
View File
@@ -186,7 +186,7 @@ func TestExecute(t *testing.T) {
if boolptr.IsSetToTrue(tc.backup.Spec.SnapshotMoveData) == true {
go func() {
var vsList snapshotv1api.VolumeSnapshotList
err := wait.PollUntilContextTimeout(context.Background(), 1*time.Second, 10*time.Second, true, func(ctx context.Context) (bool, error) {
err := wait.PollUntilContextTimeout(t.Context(), 1*time.Second, 10*time.Second, true, func(ctx context.Context) (bool, error) {
err = pvcBIA.crClient.List(ctx, &vsList, &crclient.ListOptions{Namespace: tc.pvc.Namespace})
require.NoError(t, err)
@@ -204,12 +204,12 @@ func TestExecute(t *testing.T) {
BoundVolumeSnapshotContentName: &vscName,
ReadyToUse: &readyToUse,
}
err = pvcBIA.crClient.Update(context.Background(), &vsList.Items[0])
err = pvcBIA.crClient.Update(t.Context(), &vsList.Items[0])
require.NoError(t, err)
handleName := "testHandle"
vsc := builder.ForVolumeSnapshotContent("testVSC").Status(&snapshotv1api.VolumeSnapshotContentStatus{SnapshotHandle: &handleName}).Result()
err = pvcBIA.crClient.Create(context.Background(), vsc)
err = pvcBIA.crClient.Create(t.Context(), vsc)
require.NoError(t, err)
}()
}
@@ -223,7 +223,7 @@ func TestExecute(t *testing.T) {
if tc.expectedDataUpload != nil {
dataUploadList := new(velerov2alpha1.DataUploadList)
err := crClient.List(context.Background(), dataUploadList, &crclient.ListOptions{LabelSelector: labels.SelectorFromSet(map[string]string{velerov1api.BackupNameLabel: tc.backup.Name})})
err := crClient.List(t.Context(), dataUploadList, &crclient.ListOptions{LabelSelector: labels.SelectorFromSet(map[string]string{velerov1api.BackupNameLabel: tc.backup.Name})})
require.NoError(t, err)
require.Len(t, dataUploadList.Items, 1)
require.True(t, cmp.Equal(tc.expectedDataUpload, &dataUploadList.Items[0], cmpopts.IgnoreFields(velerov2alpha1.DataUpload{}, "ResourceVersion", "Name", "Spec.CSISnapshot.VolumeSnapshot")))
@@ -306,7 +306,7 @@ func TestProgress(t *testing.T) {
}
if tc.dataUpload != nil {
err := crClient.Create(context.Background(), tc.dataUpload)
err := crClient.Create(t.Context(), tc.dataUpload)
require.NoError(t, err)
}
@@ -375,7 +375,7 @@ func TestCancel(t *testing.T) {
crClient: crClient,
}
err := crClient.Create(context.Background(), &tc.dataUpload)
err := crClient.Create(t.Context(), &tc.dataUpload)
require.NoError(t, err)
err = pvcBIA.Cancel(tc.operationID, tc.backup)
@@ -384,7 +384,7 @@ func TestCancel(t *testing.T) {
}
du := new(velerov2alpha1.DataUpload)
err = crClient.Get(context.Background(), crclient.ObjectKey{Namespace: tc.dataUpload.Namespace, Name: tc.dataUpload.Name}, du)
err = crClient.Get(t.Context(), crclient.ObjectKey{Namespace: tc.dataUpload.Namespace, Name: tc.dataUpload.Name}, du)
require.NoError(t, err)
require.True(t, cmp.Equal(tc.expectedDataUpload, *du, cmpopts.IgnoreFields(velerov2alpha1.DataUpload{}, "ResourceVersion")))
@@ -526,7 +526,7 @@ func TestListGroupedPVCs(t *testing.T) {
crClient: client,
}
result, err := action.listGroupedPVCs(context.TODO(), tt.namespace, tt.labelKey, tt.groupValue)
result, err := action.listGroupedPVCs(t.Context(), tt.namespace, tt.labelKey, tt.groupValue)
if tt.expectError {
require.Error(t, err)
} else {
@@ -774,7 +774,7 @@ func TestDetermineVGSClass(t *testing.T) {
action := &pvcBackupItemAction{crClient: client, log: logger}
result, err := action.determineVGSClass(context.TODO(), testDriver, tt.backup, tt.pvc)
result, err := action.determineVGSClass(t.Context(), testDriver, tt.backup, tt.pvc)
if tt.expectError {
require.Error(t, err)
@@ -814,7 +814,7 @@ func TestCreateVolumeGroupSnapshot(t *testing.T) {
crClient: crClient,
}
vgs, err := action.createVolumeGroupSnapshot(context.TODO(), testBackup, testPVC, testLabelKey, testLabelValue, testVGSClass)
vgs, err := action.createVolumeGroupSnapshot(t.Context(), testBackup, testPVC, testLabelKey, testLabelValue, testVGSClass)
require.NoError(t, err)
require.NotNil(t, vgs)
@@ -830,7 +830,7 @@ func TestCreateVolumeGroupSnapshot(t *testing.T) {
// Check that it exists in fake client
retrieved := &volumegroupsnapshotv1beta1.VolumeGroupSnapshot{}
err = crClient.Get(context.TODO(), crclient.ObjectKey{Name: vgs.Name, Namespace: vgs.Namespace}, retrieved)
err = crClient.Get(t.Context(), crclient.ObjectKey{Name: vgs.Name, Namespace: vgs.Namespace}, retrieved)
require.NoError(t, err)
}
@@ -969,7 +969,7 @@ func TestWaitForVGSAssociatedVS(t *testing.T) {
crClient: client,
}
vsMap, err := action.waitForVGSAssociatedVS(context.TODO(), tt.groupedPVCs, vgs, 2*time.Second)
vsMap, err := action.waitForVGSAssociatedVS(t.Context(), tt.groupedPVCs, vgs, 2*time.Second)
if tt.expectErr {
if err == nil {
@@ -1073,12 +1073,12 @@ func TestUpdateVGSCreatedVS(t *testing.T) {
*tt.vs.Spec.Source.PersistentVolumeClaimName: tt.vs,
}
err := action.updateVGSCreatedVS(context.TODO(), vsMap, vgs, backup)
err := action.updateVGSCreatedVS(t.Context(), vsMap, vgs, backup)
require.NoError(t, err)
// Fetch updated VS
updated := &snapshotv1api.VolumeSnapshot{}
err = client.Get(context.TODO(), crclient.ObjectKey{Name: tt.vs.Name, Namespace: tt.vs.Namespace}, updated)
err = client.Get(t.Context(), crclient.ObjectKey{Name: tt.vs.Name, Namespace: tt.vs.Namespace}, updated)
require.NoError(t, err)
if tt.expectOwnerCleared {
@@ -1149,7 +1149,7 @@ func TestPatchVGSCDeletionPolicy(t *testing.T) {
crClient: client,
}
err := action.patchVGSCDeletionPolicy(context.TODO(), vgs)
err := action.patchVGSCDeletionPolicy(t.Context(), vgs)
if tt.expectErr {
require.Error(t, err)
return
@@ -1157,7 +1157,7 @@ func TestPatchVGSCDeletionPolicy(t *testing.T) {
require.NoError(t, err)
updated := &volumegroupsnapshotv1beta1.VolumeGroupSnapshotContent{}
err = client.Get(context.TODO(), crclient.ObjectKey{Name: "test-vgsc"}, updated)
err = client.Get(t.Context(), crclient.ObjectKey{Name: "test-vgsc"}, updated)
require.NoError(t, err)
require.Equal(t, tt.expectedPolicy, updated.Spec.DeletionPolicy)
})
@@ -1229,19 +1229,19 @@ func TestDeleteVGSAndVGSC(t *testing.T) {
crClient: client,
}
err := action.deleteVGSAndVGSC(context.TODO(), tt.vgs)
err := action.deleteVGSAndVGSC(t.Context(), tt.vgs)
require.NoError(t, err)
// Check VGSC is deleted
if tt.expectVGSCDelete {
got := &volumegroupsnapshotv1beta1.VolumeGroupSnapshotContent{}
err = client.Get(context.TODO(), crclient.ObjectKey{Name: "test-vgsc"}, got)
err = client.Get(t.Context(), crclient.ObjectKey{Name: "test-vgsc"}, got)
assert.True(t, apierrors.IsNotFound(err), "expected VGSC to be deleted")
}
// Check VGS is deleted
gotVGS := &volumegroupsnapshotv1beta1.VolumeGroupSnapshot{}
err = client.Get(context.TODO(), crclient.ObjectKey{Name: "test-vgs", Namespace: "ns"}, gotVGS)
err = client.Get(t.Context(), crclient.ObjectKey{Name: "test-vgs", Namespace: "ns"}, gotVGS)
assert.True(t, apierrors.IsNotFound(err), "expected VGS to be deleted")
})
}
@@ -1321,7 +1321,7 @@ func TestFindExistingVSForBackup(t *testing.T) {
crClient: client,
}
vs, err := action.findExistingVSForBackup(context.TODO(), backupUID, backupName, pvcName, namespace)
vs, err := action.findExistingVSForBackup(t.Context(), backupUID, backupName, pvcName, namespace)
require.NoError(t, err)
if tt.expectNil {
@@ -1377,7 +1377,7 @@ func TestWaitForVGSCBinding(t *testing.T) {
crClient: client,
}
err := action.waitForVGSCBinding(context.TODO(), tt.vgs, 1*time.Second)
err := action.waitForVGSCBinding(t.Context(), tt.vgs, 1*time.Second)
if tt.expectErr {
require.Error(t, err)
@@ -1454,7 +1454,7 @@ func TestGetVGSByLabels(t *testing.T) {
crClient: client,
}
vgs, err := action.getVGSByLabels(context.TODO(), "test-ns", testLabels)
vgs, err := action.getVGSByLabels(t.Context(), "test-ns", testLabels)
if tt.expectError != "" {
if err == nil || !strings.Contains(err.Error(), tt.expectError) {
@@ -17,7 +17,6 @@ limitations under the License.
package csi
import (
"context"
"fmt"
"testing"
@@ -132,7 +131,7 @@ func TestVSExecute(t *testing.T) {
require.NoError(t, err)
if tc.vsc != nil {
require.NoError(t, vsBIA.crClient.Create(context.TODO(), tc.vsc))
require.NoError(t, vsBIA.crClient.Create(t.Context(), tc.vsc))
}
_, additionalItems, _, itemToUpdate, err := vsBIA.Execute(&unstructured.UnstructuredList{Object: item}, tc.backup)
@@ -262,12 +261,12 @@ func TestVSProgress(t *testing.T) {
}
if tc.vs != nil {
err := crClient.Create(context.Background(), tc.vs)
err := crClient.Create(t.Context(), tc.vs)
require.NoError(t, err)
}
if tc.vsc != nil {
require.NoError(t, crClient.Create(context.TODO(), tc.vsc))
require.NoError(t, crClient.Create(t.Context(), tc.vsc))
}
progress, err := vsBIA.Progress(tc.operationID, tc.backup)
@@ -17,7 +17,6 @@ limitations under the License.
package actions
import (
"context"
"encoding/json"
"fmt"
"os"
@@ -48,7 +47,7 @@ func TestRemapCRDVersionAction(t *testing.T) {
// keep the same one for all 3 tests, since there's little value in recreating it
b := builder.ForCustomResourceDefinitionV1Beta1("test.velero.io")
c := b.Result()
_, err := betaClient.Create(context.TODO(), c, metav1.CreateOptions{})
_, err := betaClient.Create(t.Context(), c, metav1.CreateOptions{})
require.NoError(t, err)
a := NewRemapCRDVersionAction(velerotest.NewLogger(), betaClient, fakeDiscoveryHelper())
@@ -189,7 +188,7 @@ func TestRemapCRDVersionActionData(t *testing.T) {
err = json.Unmarshal(f, &crd)
require.NoError(t, err)
_, err = betaClient.Create(context.TODO(), &crd, metav1.CreateOptions{})
_, err = betaClient.Create(t.Context(), &crd, metav1.CreateOptions{})
require.NoError(t, err)
// Run method under test
@@ -213,7 +212,7 @@ func TestRemapCRDVersionActionData(t *testing.T) {
}
// Clean up the item created in the test.
betaClient.Delete(context.TODO(), crd.Name, metav1.DeleteOptions{})
betaClient.Delete(t.Context(), crd.Name, metav1.DeleteOptions{})
})
}
}
+23 -23
View File
@@ -871,7 +871,7 @@ func TestBackupOldResourceFiltering(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -1052,7 +1052,7 @@ func TestCRDInclusion(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -1151,7 +1151,7 @@ func TestBackupResourceCohabitation(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -1250,7 +1250,7 @@ func TestBackupResourceOrdering(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -1361,7 +1361,7 @@ func (a *recordResourcesAction) WithSkippedCSISnapshotFlag(flag bool) *recordRes
// TestBackupItemActionsForSkippedPV runs backups with backup item actions, and
// verifies that the data in SkippedPVTracker is updated as expected.
func TestBackupItemActionsForSkippedPV(t *testing.T) {
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
tests := []struct {
@@ -1669,7 +1669,7 @@ func TestBackupActionsRunForCorrectItems(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -1754,7 +1754,7 @@ func TestBackupWithInvalidActions(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -1908,7 +1908,7 @@ func TestBackupActionModifications(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -2168,7 +2168,7 @@ func TestBackupActionAdditionalItems(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -2429,7 +2429,7 @@ func TestItemBlockActionsRunForCorrectItems(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -2514,7 +2514,7 @@ func TestBackupWithInvalidItemBlockActions(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -2770,7 +2770,7 @@ func TestItemBlockActionRelatedItems(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -2929,7 +2929,7 @@ func (*fakeVolumeSnapshotter) DeleteSnapshot(snapshotID string) error {
// struct in place of real volume snapshotters.
func TestBackupWithSnapshots(t *testing.T) {
// TODO: add more verification for skippedPVTracker
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
tests := []struct {
name string
@@ -3329,7 +3329,7 @@ func TestBackupWithAsyncOperations(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
tests := []struct {
name string
@@ -3484,7 +3484,7 @@ func TestBackupWithInvalidHooks(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -3958,7 +3958,7 @@ func TestBackupWithHooks(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -4182,7 +4182,7 @@ func TestBackupWithPodVolume(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -4199,7 +4199,7 @@ func TestBackupWithPodVolume(t *testing.T) {
)
if tc.pod != nil {
require.NoError(t, h.backupper.kbClient.Create(context.Background(), tc.pod))
require.NoError(t, h.backupper.kbClient.Create(t.Context(), tc.pod))
}
h.backupper.podVolumeBackupperFactory = new(fakePodVolumeBackupperFactory)
@@ -4296,9 +4296,9 @@ func (h *harness) addItems(t *testing.T, resource *test.APIResource) {
unstructuredObj := &unstructured.Unstructured{Object: obj}
if resource.Namespaced {
_, err = h.DynamicClient.Resource(resource.GVR()).Namespace(item.GetNamespace()).Create(context.TODO(), unstructuredObj, metav1.CreateOptions{})
_, err = h.DynamicClient.Resource(resource.GVR()).Namespace(item.GetNamespace()).Create(t.Context(), unstructuredObj, metav1.CreateOptions{})
} else {
_, err = h.DynamicClient.Resource(resource.GVR()).Create(context.TODO(), unstructuredObj, metav1.CreateOptions{})
_, err = h.DynamicClient.Resource(resource.GVR()).Create(t.Context(), unstructuredObj, metav1.CreateOptions{})
}
require.NoError(t, err)
}
@@ -4314,7 +4314,7 @@ func newHarness(t *testing.T, itemBlockPool *ItemBlockWorkerPool) *harness {
require.NoError(t, err)
if itemBlockPool == nil {
itemBlockPool = StartItemBlockWorkerPool(context.Background(), 1, log)
itemBlockPool = StartItemBlockWorkerPool(t.Context(), 1, log)
}
return &harness{
APIServer: apiServer,
@@ -5302,7 +5302,7 @@ func TestBackupNewResourceFiltering(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
@@ -5467,7 +5467,7 @@ func TestBackupNamespaces(t *testing.T) {
},
}
itemBlockPool := StartItemBlockWorkerPool(context.Background(), 1, logrus.StandardLogger())
itemBlockPool := StartItemBlockWorkerPool(t.Context(), 1, logrus.StandardLogger())
defer itemBlockPool.Stop()
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
+1 -2
View File
@@ -16,7 +16,6 @@ limitations under the License.
package client
import (
"context"
"fmt"
"os"
"strings"
@@ -125,7 +124,7 @@ func TestFactory(t *testing.T) {
Version: "verion_test",
}
list, e := dynamicClient.Resource(*resource).Namespace(namespace).List(
context.Background(),
t.Context(),
metav1.ListOptions{
LabelSelector: "none",
},
+2 -3
View File
@@ -17,7 +17,6 @@ limitations under the License.
package backup
import (
"context"
"fmt"
"strconv"
"strings"
@@ -139,7 +138,7 @@ func TestCreateOptions_BuildBackupFromSchedule(t *testing.T) {
expectedBackupSpec := builder.ForBackup("test", cmdtest.VeleroNameSpace).IncludedNamespaces("test").Result().Spec
schedule := builder.ForSchedule(cmdtest.VeleroNameSpace, "test").Template(expectedBackupSpec).ObjectMeta(builder.WithLabels("velero.io/test", "true"), builder.WithAnnotations("velero.io/test", "true")).Result()
o.client.Create(context.TODO(), schedule, &kbclient.CreateOptions{})
o.client.Create(t.Context(), schedule, &kbclient.CreateOptions{})
t.Run("existing schedule", func(t *testing.T) {
backup, err := o.BuildBackup(cmdtest.VeleroNameSpace)
@@ -391,7 +390,7 @@ func TestCreateCommand(t *testing.T) {
kbclient := velerotest.NewFakeControllerRuntimeClient(t).(kbclient.WithWatch)
schedule := builder.ForSchedule(cmdtest.VeleroNameSpace, fromSchedule).Result()
kbclient.Create(context.Background(), schedule, &controllerclient.CreateOptions{})
kbclient.Create(t.Context(), schedule, &controllerclient.CreateOptions{})
f.On("Namespace").Return(cmdtest.VeleroNameSpace)
f.On("KubebuilderWatchClient").Return(kbclient, nil)
+2 -3
View File
@@ -17,7 +17,6 @@ limitations under the License.
package backup
import (
"context"
"fmt"
"os"
"os/exec"
@@ -43,8 +42,8 @@ func TestDeleteCommand(t *testing.T) {
f := &factorymocks.Factory{}
client := velerotest.NewFakeControllerRuntimeClient(t)
client.Create(context.Background(), builder.ForBackup(cmdtest.VeleroNameSpace, backup1).Result(), &controllerclient.CreateOptions{})
client.Create(context.Background(), builder.ForBackup("default", backup2).Result(), &controllerclient.CreateOptions{})
client.Create(t.Context(), builder.ForBackup(cmdtest.VeleroNameSpace, backup1).Result(), &controllerclient.CreateOptions{})
client.Create(t.Context(), builder.ForBackup("default", backup2).Result(), &controllerclient.CreateOptions{})
f.On("KubebuilderClient").Return(client, nil)
f.On("Namespace").Return(cmdtest.VeleroNameSpace)
+1 -2
View File
@@ -17,7 +17,6 @@ limitations under the License.
package backup
import (
"context"
"fmt"
"os"
"os/exec"
@@ -44,7 +43,7 @@ func TestNewDescribeCommand(t *testing.T) {
clientConfig := rest.Config{}
kbClient := test.NewFakeControllerRuntimeClient(t)
kbClient.Create(context.Background(), testBackup, &controllerclient.CreateOptions{})
kbClient.Create(t.Context(), testBackup, &controllerclient.CreateOptions{})
f.On("ClientConfig").Return(&clientConfig, nil)
f.On("Namespace").Return(cmdtest.VeleroNameSpace)
+2 -3
View File
@@ -17,7 +17,6 @@ limitations under the License.
package backup
import (
"context"
"fmt"
"os"
"os/exec"
@@ -41,9 +40,9 @@ func TestNewDownloadCommand(t *testing.T) {
backupName := "backup-1"
kbclient := velerotest.NewFakeControllerRuntimeClient(t)
err := kbclient.Create(context.Background(), builder.ForBackup(cmdtest.VeleroNameSpace, backupName).Result())
err := kbclient.Create(t.Context(), builder.ForBackup(cmdtest.VeleroNameSpace, backupName).Result())
require.NoError(t, err)
err = kbclient.Create(context.Background(), builder.ForBackup(cmdtest.VeleroNameSpace, "bk-to-be-download").Result())
err = kbclient.Create(t.Context(), builder.ForBackup(cmdtest.VeleroNameSpace, "bk-to-be-download").Result())
require.NoError(t, err)
f.On("Namespace").Return(cmdtest.VeleroNameSpace)
+1 -2
View File
@@ -17,7 +17,6 @@ limitations under the License.
package backup
import (
"context"
"fmt"
"os"
"os/exec"
@@ -45,7 +44,7 @@ func TestNewGetCommand(t *testing.T) {
for _, backupName := range args {
backup := builder.ForBackup(cmdtest.VeleroNameSpace, backupName).ObjectMeta(builder.WithLabels("abc", "abc")).Result()
err := client.Create(context.Background(), backup, &kbclient.CreateOptions{})
err := client.Create(t.Context(), backup, &kbclient.CreateOptions{})
require.NoError(t, err)
}
+2 -3
View File
@@ -17,7 +17,6 @@ limitations under the License.
package backup
import (
"context"
"fmt"
"strconv"
"testing"
@@ -62,7 +61,7 @@ func TestNewLogsCommand(t *testing.T) {
kbClient := velerotest.NewFakeControllerRuntimeClient(t)
backup := builder.ForBackup(cmdtest.VeleroNameSpace, backupName).Result()
err := kbClient.Create(context.Background(), backup, &kbclient.CreateOptions{})
err := kbClient.Create(t.Context(), backup, &kbclient.CreateOptions{})
require.NoError(t, err)
f.On("Namespace").Return(cmdtest.VeleroNameSpace)
@@ -117,7 +116,7 @@ func TestNewLogsCommand(t *testing.T) {
kbClient := velerotest.NewFakeControllerRuntimeClient(t)
backup := builder.ForBackup(cmdtest.VeleroNameSpace, backupName).Phase(velerov1api.BackupPhaseCompleted).Result()
err := kbClient.Create(context.Background(), backup, &kbclient.CreateOptions{})
err := kbClient.Create(t.Context(), backup, &kbclient.CreateOptions{})
require.NoError(t, err)
f.On("Namespace").Return(cmdtest.VeleroNameSpace)
+5
View File
@@ -90,6 +90,7 @@ type Options struct {
NodeAgentConfigMap string
ItemBlockWorkerCount int
NodeAgentDisableHostPath bool
kubeletRootDir string
}
// BindFlags adds command line values to the options struct.
@@ -114,6 +115,8 @@ func (o *Options) BindFlags(flags *pflag.FlagSet) {
flags.StringVar(&o.NodeAgentPodMemRequest, "node-agent-pod-mem-request", o.NodeAgentPodMemRequest, `Memory request for node-agent pod. A value of "0" is treated as unbounded. Optional.`)
flags.StringVar(&o.NodeAgentPodCPULimit, "node-agent-pod-cpu-limit", o.NodeAgentPodCPULimit, `CPU limit for node-agent pod. A value of "0" is treated as unbounded. Optional.`)
flags.StringVar(&o.NodeAgentPodMemLimit, "node-agent-pod-mem-limit", o.NodeAgentPodMemLimit, `Memory limit for node-agent pod. A value of "0" is treated as unbounded. Optional.`)
flags.StringVar(&o.kubeletRootDir, "kubelet-root-dir", o.kubeletRootDir, `Kubelet root directory for the node agent. Optional.`)
flags.Var(&o.BackupStorageConfig, "backup-location-config", "Configuration to use for the backup storage location. Format is key1=value1,key2=value2")
flags.Var(&o.VolumeSnapshotConfig, "snapshot-location-config", "Configuration to use for the volume snapshot location. Format is key1=value1,key2=value2")
flags.BoolVar(&o.UseVolumeSnapshots, "use-volume-snapshots", o.UseVolumeSnapshots, "Whether or not to create snapshot location automatically. Set to false if you do not plan to create volume snapshots via a storage provider.")
@@ -220,6 +223,7 @@ func NewInstallOptions() *Options {
DefaultSnapshotMoveData: false,
DisableInformerCache: false,
ScheduleSkipImmediately: false,
kubeletRootDir: install.DefaultKubeletRootDir,
NodeAgentDisableHostPath: false,
}
}
@@ -295,6 +299,7 @@ func (o *Options) AsVeleroOptions() (*install.VeleroOptions, error) {
RepoMaintenanceJobConfigMap: o.RepoMaintenanceJobConfigMap,
NodeAgentConfigMap: o.NodeAgentConfigMap,
ItemBlockWorkerCount: o.ItemBlockWorkerCount,
KubeletRootDir: o.kubeletRootDir,
NodeAgentDisableHostPath: o.NodeAgentDisableHostPath,
}, nil
}
+1 -1
View File
@@ -108,7 +108,7 @@ func Test_validatePodVolumesHostPath(t *testing.T) {
kubeClient := fake.NewSimpleClientset()
for _, pod := range tt.pods {
_, err := kubeClient.CoreV1().Pods(pod.GetNamespace()).Create(context.TODO(), pod, metav1.CreateOptions{})
_, err := kubeClient.CoreV1().Pods(pod.GetNamespace()).Create(t.Context(), pod, metav1.CreateOptions{})
if err != nil {
t.Error(err)
}
+2 -3
View File
@@ -17,7 +17,6 @@ limitations under the License.
package restore
import (
"context"
"testing"
"time"
@@ -157,9 +156,9 @@ func TestCreateCommand(t *testing.T) {
kbclient := velerotest.NewFakeControllerRuntimeClient(t).(kbclient.WithWatch)
schedule := builder.ForSchedule(cmdtest.VeleroNameSpace, fromSchedule).Result()
require.NoError(t, kbclient.Create(context.Background(), schedule, &controllerclient.CreateOptions{}))
require.NoError(t, kbclient.Create(t.Context(), schedule, &controllerclient.CreateOptions{}))
backup := builder.ForBackup(cmdtest.VeleroNameSpace, "test-backup").FromSchedule(schedule).Phase(velerov1api.BackupPhaseCompleted).Result()
require.NoError(t, kbclient.Create(context.Background(), backup, &controllerclient.CreateOptions{}))
require.NoError(t, kbclient.Create(t.Context(), backup, &controllerclient.CreateOptions{}))
f.On("Namespace").Return(cmdtest.VeleroNameSpace)
f.On("KubebuilderWatchClient").Return(kbclient, nil)
+2 -3
View File
@@ -17,7 +17,6 @@ limitations under the License.
package restore
import (
"context"
"fmt"
"os"
"os/exec"
@@ -43,8 +42,8 @@ func TestDeleteCommand(t *testing.T) {
f := &factorymocks.Factory{}
client := velerotest.NewFakeControllerRuntimeClient(t)
client.Create(context.Background(), builder.ForRestore(cmdtest.VeleroNameSpace, restore1).Result(), &controllerclient.CreateOptions{})
client.Create(context.Background(), builder.ForRestore("default", restore2).Result(), &controllerclient.CreateOptions{})
client.Create(t.Context(), builder.ForRestore(cmdtest.VeleroNameSpace, restore1).Result(), &controllerclient.CreateOptions{})
client.Create(t.Context(), builder.ForRestore("default", restore2).Result(), &controllerclient.CreateOptions{})
f.On("KubebuilderClient").Return(client, nil)
f.On("Namespace").Return(cmdtest.VeleroNameSpace)
+1 -2
View File
@@ -17,7 +17,6 @@ limitations under the License.
package restore
import (
"context"
"fmt"
"os"
"os/exec"
@@ -44,7 +43,7 @@ func TestNewDescribeCommand(t *testing.T) {
clientConfig := rest.Config{}
kbClient := test.NewFakeControllerRuntimeClient(t)
kbClient.Create(context.Background(), testRestore, &controllerclient.CreateOptions{})
kbClient.Create(t.Context(), testRestore, &controllerclient.CreateOptions{})
f.On("ClientConfig").Return(&clientConfig, nil)
f.On("Namespace").Return(cmdtest.VeleroNameSpace)
+1 -2
View File
@@ -17,7 +17,6 @@ limitations under the License.
package restore
import (
"context"
"fmt"
"os"
"os/exec"
@@ -44,7 +43,7 @@ func TestNewGetCommand(t *testing.T) {
for _, restoreName := range args {
restore := builder.ForRestore(cmdtest.VeleroNameSpace, restoreName).ObjectMeta(builder.WithLabels("abc", "abc")).Result()
err := client.Create(context.Background(), restore, &kbclient.CreateOptions{})
err := client.Create(t.Context(), restore, &kbclient.CreateOptions{})
require.NoError(t, err)
}
+11 -12
View File
@@ -17,7 +17,6 @@ limitations under the License.
package server
import (
"context"
"errors"
"testing"
@@ -334,14 +333,14 @@ func Test_markInProgressBackupsFailed(t *testing.T) {
},
}).
Build()
markInProgressBackupsFailed(context.Background(), c, "velero", logrus.New())
markInProgressBackupsFailed(t.Context(), c, "velero", logrus.New())
backup01 := &velerov1api.Backup{}
require.NoError(t, c.Get(context.Background(), client.ObjectKey{Namespace: "velero", Name: "backup01"}, backup01))
require.NoError(t, c.Get(t.Context(), client.ObjectKey{Namespace: "velero", Name: "backup01"}, backup01))
assert.Equal(t, velerov1api.BackupPhaseFailed, backup01.Status.Phase)
backup02 := &velerov1api.Backup{}
require.NoError(t, c.Get(context.Background(), client.ObjectKey{Namespace: "velero", Name: "backup02"}, backup02))
require.NoError(t, c.Get(t.Context(), client.ObjectKey{Namespace: "velero", Name: "backup02"}, backup02))
assert.Equal(t, velerov1api.BackupPhaseCompleted, backup02.Status.Phase)
}
@@ -374,14 +373,14 @@ func Test_markInProgressRestoresFailed(t *testing.T) {
},
}).
Build()
markInProgressRestoresFailed(context.Background(), c, "velero", logrus.New())
markInProgressRestoresFailed(t.Context(), c, "velero", logrus.New())
restore01 := &velerov1api.Restore{}
require.NoError(t, c.Get(context.Background(), client.ObjectKey{Namespace: "velero", Name: "restore01"}, restore01))
require.NoError(t, c.Get(t.Context(), client.ObjectKey{Namespace: "velero", Name: "restore01"}, restore01))
assert.Equal(t, velerov1api.RestorePhaseFailed, restore01.Status.Phase)
restore02 := &velerov1api.Restore{}
require.NoError(t, c.Get(context.Background(), client.ObjectKey{Namespace: "velero", Name: "restore02"}, restore02))
require.NoError(t, c.Get(t.Context(), client.ObjectKey{Namespace: "velero", Name: "restore02"}, restore02))
assert.Equal(t, velerov1api.RestorePhaseCompleted, restore02.Status.Phase)
}
@@ -408,22 +407,22 @@ func Test_setDefaultBackupLocation(t *testing.T) {
},
}).
Build()
setDefaultBackupLocation(context.Background(), c, "velero", "default", logrus.New())
setDefaultBackupLocation(t.Context(), c, "velero", "default", logrus.New())
defaultLocation := &velerov1api.BackupStorageLocation{}
require.NoError(t, c.Get(context.Background(), client.ObjectKey{Namespace: "velero", Name: "default"}, defaultLocation))
require.NoError(t, c.Get(t.Context(), client.ObjectKey{Namespace: "velero", Name: "default"}, defaultLocation))
assert.True(t, defaultLocation.Spec.Default)
nonDefaultLocation := &velerov1api.BackupStorageLocation{}
require.NoError(t, c.Get(context.Background(), client.ObjectKey{Namespace: "velero", Name: "non-default"}, nonDefaultLocation))
require.NoError(t, c.Get(t.Context(), client.ObjectKey{Namespace: "velero", Name: "non-default"}, nonDefaultLocation))
assert.False(t, nonDefaultLocation.Spec.Default)
// no default location specified
c = fake.NewClientBuilder().WithScheme(scheme).Build()
err := setDefaultBackupLocation(context.Background(), c, "velero", "", logrus.New())
err := setDefaultBackupLocation(t.Context(), c, "velero", "", logrus.New())
require.NoError(t, err)
// no default location created
err = setDefaultBackupLocation(context.Background(), c, "velero", "default", logrus.New())
err = setDefaultBackupLocation(t.Context(), c, "velero", "default", logrus.New())
assert.NoError(t, err)
}
+19 -20
View File
@@ -18,7 +18,6 @@ package controller
import (
"bytes"
"context"
"fmt"
"io"
"reflect"
@@ -136,11 +135,11 @@ func TestProcessBackupNonProcessedItems(t *testing.T) {
kbClient: velerotest.NewFakeControllerRuntimeClient(t),
formatFlag: formatFlag,
logger: logger,
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
}
defer c.workerPool.Stop()
if test.backup != nil {
require.NoError(t, c.kbClient.Create(context.Background(), test.backup))
require.NoError(t, c.kbClient.Create(t.Context(), test.backup))
}
actualResult, err := c.Reconcile(ctx, ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
assert.Equal(t, ctrl.Result{}, actualResult)
@@ -235,18 +234,18 @@ func TestProcessBackupValidationFailures(t *testing.T) {
clock: &clock.RealClock{},
formatFlag: formatFlag,
metrics: metrics.NewServerMetrics(),
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
}
defer c.workerPool.Stop()
require.NotNil(t, test.backup)
require.NoError(t, c.kbClient.Create(context.Background(), test.backup))
require.NoError(t, c.kbClient.Create(t.Context(), test.backup))
actualResult, err := c.Reconcile(ctx, ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
assert.Equal(t, ctrl.Result{}, actualResult)
require.NoError(t, err)
res := &velerov1api.Backup{}
err = c.kbClient.Get(context.Background(), kbclient.ObjectKey{Namespace: test.backup.Namespace, Name: test.backup.Name}, res)
err = c.kbClient.Get(t.Context(), kbclient.ObjectKey{Namespace: test.backup.Namespace, Name: test.backup.Name}, res)
require.NoError(t, err)
assert.Equal(t, velerov1api.BackupPhaseFailedValidation, res.Status.Phase)
@@ -300,7 +299,7 @@ func TestBackupLocationLabel(t *testing.T) {
defaultBackupLocation: test.backupLocation.Name,
clock: &clock.RealClock{},
formatFlag: formatFlag,
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
}
defer c.workerPool.Stop()
@@ -397,7 +396,7 @@ func Test_prepareBackupRequest_BackupStorageLocation(t *testing.T) {
defaultBackupTTL: defaultBackupTTL.Duration,
clock: testclocks.NewFakeClock(now),
formatFlag: formatFlag,
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
}
defer c.workerPool.Stop()
@@ -473,7 +472,7 @@ func TestDefaultBackupTTL(t *testing.T) {
defaultBackupTTL: defaultBackupTTL.Duration,
clock: testclocks.NewFakeClock(now),
formatFlag: formatFlag,
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
}
defer c.workerPool.Stop()
@@ -534,7 +533,7 @@ func TestPrepareBackupRequest_SetsVGSLabelKey(t *testing.T) {
defaultVGSLabelKey: test.serverFlagKey,
discoveryHelper: discoveryHelper,
clock: testclocks.NewFakeClock(now),
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
}
defer c.workerPool.Stop()
@@ -636,7 +635,7 @@ func TestDefaultVolumesToResticDeprecation(t *testing.T) {
clock: &clock.RealClock{},
formatFlag: formatFlag,
defaultVolumesToFsBackup: test.globalVal,
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
}
defer c.workerPool.Stop()
@@ -1504,7 +1503,7 @@ func TestProcessBackupCompletions(t *testing.T) {
}
if test.volumeSnapshot != nil {
require.NoError(t, fakeGlobalClient.Create(context.TODO(), test.volumeSnapshot))
require.NoError(t, fakeGlobalClient.Create(t.Context(), test.volumeSnapshot))
}
apiServer := velerotest.NewAPIServer(t)
@@ -1539,7 +1538,7 @@ func TestProcessBackupCompletions(t *testing.T) {
backupper: backupper,
formatFlag: formatFlag,
globalCRClient: fakeGlobalClient,
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
}
defer c.workerPool.Stop()
@@ -1566,10 +1565,10 @@ func TestProcessBackupCompletions(t *testing.T) {
// add the test's backup to the informer/lister store
require.NotNil(t, test.backup)
require.NoError(t, c.kbClient.Create(context.Background(), test.backup))
require.NoError(t, c.kbClient.Create(t.Context(), test.backup))
// add the default backup storage location to the clientset and the informer/lister store
require.NoError(t, fakeClient.Create(context.Background(), defaultBackupLocation))
require.NoError(t, fakeClient.Create(t.Context(), defaultBackupLocation))
// Enable CSI feature flag for SnapshotDataMovement test.
if test.enableCSI {
@@ -1586,7 +1585,7 @@ func TestProcessBackupCompletions(t *testing.T) {
}
res := &velerov1api.Backup{}
err = c.kbClient.Get(context.Background(), kbclient.ObjectKey{Namespace: test.backup.Namespace, Name: test.backup.Name}, res)
err = c.kbClient.Get(t.Context(), kbclient.ObjectKey{Namespace: test.backup.Namespace, Name: test.backup.Name}, res)
require.NoError(t, err)
res.ResourceVersion = ""
assert.Equal(t, test.expectedResult, res)
@@ -1747,7 +1746,7 @@ func TestValidateAndGetSnapshotLocations(t *testing.T) {
logger: logger,
defaultSnapshotLocations: test.defaultLocations,
kbClient: velerotest.NewFakeControllerRuntimeClient(t),
workerPool: pkgbackup.StartItemBlockWorkerPool(context.Background(), 1, logger),
workerPool: pkgbackup.StartItemBlockWorkerPool(t.Context(), 1, logger),
}
defer c.workerPool.Stop()
@@ -1755,7 +1754,7 @@ func TestValidateAndGetSnapshotLocations(t *testing.T) {
backup := test.backup.DeepCopy()
backup.Spec.VolumeSnapshotLocations = test.backup.Spec.VolumeSnapshotLocations
for _, location := range test.locations {
require.NoError(t, c.kbClient.Create(context.Background(), location))
require.NoError(t, c.kbClient.Create(t.Context(), location))
}
providerLocations, errs := c.validateAndGetSnapshotLocations(backup)
@@ -1933,7 +1932,7 @@ func TestPatchResourceWorksWithStatus(t *testing.T) {
},
}
// check original exists
if err := fakeClient.Get(context.Background(), kbclient.ObjectKeyFromObject(tt.args.updated), fromCluster); err != nil {
if err := fakeClient.Get(t.Context(), kbclient.ObjectKeyFromObject(tt.args.updated), fromCluster); err != nil {
t.Errorf("PatchResource() error = %v", err)
}
// ignore resourceVersion
@@ -1943,7 +1942,7 @@ func TestPatchResourceWorksWithStatus(t *testing.T) {
t.Errorf("PatchResource() error = %v, wantErr %v", err, tt.wantErr)
}
// check updated exists
if err := fakeClient.Get(context.Background(), kbclient.ObjectKeyFromObject(tt.args.updated), fromCluster); err != nil {
if err := fakeClient.Get(t.Context(), kbclient.ObjectKeyFromObject(tt.args.updated), fromCluster); err != nil {
t.Errorf("PatchResource() error = %v", err)
}
@@ -177,7 +177,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
BackupName: input.Spec.BackupName,
},
}
err := td.fakeClient.Create(context.TODO(), existing)
err := td.fakeClient.Create(t.Context(), existing)
require.NoError(t, err)
existing2 :=
&velerov1api.DeleteBackupRequest{
@@ -192,12 +192,12 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
BackupName: "some-other-backup",
},
}
err = td.fakeClient.Create(context.TODO(), existing2)
err = td.fakeClient.Create(t.Context(), existing2)
require.NoError(t, err)
_, err = td.controller.Reconcile(context.TODO(), td.req)
_, err = td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
// verify "existing" is deleted
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: existing.Namespace,
Name: existing.Name,
}, &velerov1api.DeleteBackupRequest{})
@@ -205,7 +205,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
// verify "existing2" remains
assert.NoError(t, td.fakeClient.Get(context.TODO(), types.NamespacedName{
assert.NoError(t, td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: existing2.Namespace,
Name: existing2.Name,
}, &velerov1api.DeleteBackupRequest{}))
@@ -215,7 +215,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
td := setupBackupDeletionControllerTest(t, dbr)
td.controller.backupTracker.Add(td.req.Namespace, dbr.Spec.BackupName)
_, err := td.controller.Reconcile(context.TODO(), td.req)
_, err := td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
res := &velerov1api.DeleteBackupRequest{}
@@ -229,7 +229,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
t.Run("unable to find backup", func(t *testing.T) {
td := setupBackupDeletionControllerTest(t, defaultTestDbr())
_, err := td.controller.Reconcile(context.TODO(), td.req)
_, err := td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
res := &velerov1api.DeleteBackupRequest{}
@@ -244,7 +244,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
td := setupBackupDeletionControllerTest(t, defaultTestDbr(), backup)
_, err := td.controller.Reconcile(context.TODO(), td.req)
_, err := td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
res := &velerov1api.DeleteBackupRequest{}
@@ -261,7 +261,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
td := setupBackupDeletionControllerTest(t, defaultTestDbr(), location, backup)
_, err := td.controller.Reconcile(context.TODO(), td.req)
_, err := td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
res := &velerov1api.DeleteBackupRequest{}
@@ -278,7 +278,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
td := setupBackupDeletionControllerTest(t, defaultTestDbr(), location, backup)
_, err := td.controller.Reconcile(context.TODO(), td.req)
_, err := td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
res := &velerov1api.DeleteBackupRequest{}
@@ -357,7 +357,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
td.backupStore.On("GetBackupContents", input.Spec.BackupName).Return(io.NopCloser(bytes.NewReader([]byte("hello world"))), nil)
td.backupStore.On("DeleteBackup", input.Spec.BackupName).Return(nil)
_, err := td.controller.Reconcile(context.TODO(), td.req)
_, err := td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
// the dbr should be deleted
@@ -369,26 +369,26 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
}
// backup CR, restore CR restore-1 and restore-2 should be deleted
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: velerov1api.DefaultNamespace,
Name: backup.Name,
}, &velerov1api.Backup{})
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: velerov1api.DefaultNamespace,
Name: "restore-1",
}, &velerov1api.Restore{})
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: velerov1api.DefaultNamespace,
Name: "restore-2",
}, &velerov1api.Restore{})
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
// restore-3 should remain
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: velerov1api.DefaultNamespace,
Name: "restore-3",
}, &velerov1api.Restore{})
@@ -481,7 +481,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
td.volumeSnapshotter.SnapshotsTaken.Insert("snap-1")
_, err := td.controller.Reconcile(context.TODO(), td.req)
_, err := td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
// the dbr should be deleted
@@ -493,26 +493,26 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
}
// backup CR, restore CR restore-1 and restore-2 should be deleted
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: velerov1api.DefaultNamespace,
Name: backup.Name,
}, &velerov1api.Backup{})
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: velerov1api.DefaultNamespace,
Name: "restore-1",
}, &velerov1api.Restore{})
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: velerov1api.DefaultNamespace,
Name: "restore-2",
}, &velerov1api.Restore{})
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
// restore-3 should remain
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: velerov1api.DefaultNamespace,
Name: "restore-3",
}, &velerov1api.Restore{})
@@ -582,7 +582,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
td.backupStore.On("GetBackupVolumeSnapshots", input.Spec.BackupName).Return(snapshots, nil)
td.backupStore.On("DeleteBackup", input.Spec.BackupName).Return(nil)
_, err := td.controller.Reconcile(context.TODO(), td.req)
_, err := td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
td.backupStore.AssertNotCalled(t, "GetBackupContents", mock.Anything)
@@ -597,7 +597,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
}
// backup CR should be deleted
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: velerov1api.DefaultNamespace,
Name: backup.Name,
}, &velerov1api.Backup{})
@@ -674,7 +674,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
td.backupStore.On("GetBackupContents", input.Spec.BackupName).Return(nil, fmt.Errorf("error downloading tarball"))
td.backupStore.On("DeleteBackup", input.Spec.BackupName).Return(nil)
_, err := td.controller.Reconcile(context.TODO(), td.req)
_, err := td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
td.backupStore.AssertCalled(t, "GetBackupContents", input.Spec.BackupName)
@@ -689,14 +689,14 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
}
// backup CR should be deleted
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: velerov1api.DefaultNamespace,
Name: backup.Name,
}, &velerov1api.Backup{})
assert.True(t, apierrors.IsNotFound(err), "Expected not found error, but actual value of error: %v", err)
// leaked CSI snapshot should be deleted
err = td.fakeClient.Get(context.TODO(), types.NamespacedName{
err = td.fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: "user-ns",
Name: "vs-1",
}, &snapshotv1api.VolumeSnapshot{})
@@ -714,7 +714,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
input.Status.Phase = velerov1api.DeleteBackupRequestPhaseProcessed
td := setupBackupDeletionControllerTest(t, input)
td.backupStore.On("DeleteBackup", mock.Anything).Return(nil)
_, err := td.controller.Reconcile(context.TODO(), td.req)
_, err := td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
res := &velerov1api.DeleteBackupRequest{}
@@ -733,7 +733,7 @@ func TestBackupDeletionControllerReconcile(t *testing.T) {
td := setupBackupDeletionControllerTest(t, input)
td.backupStore.On("DeleteBackup", mock.Anything).Return(nil)
_, err := td.controller.Reconcile(context.TODO(), td.req)
_, err := td.controller.Reconcile(t.Context(), td.req)
require.NoError(t, err)
res := &velerov1api.DeleteBackupRequest{}
@@ -899,7 +899,7 @@ func TestGetSnapshotsInBackup(t *testing.T) {
Items: test.podVolumeBackups,
})
res, err := getSnapshotsInBackup(context.TODO(), veleroBackup, clientBuilder.Build())
res, err := getSnapshotsInBackup(t.Context(), veleroBackup, clientBuilder.Build())
require.NoError(t, err)
assert.True(t, reflect.DeepEqual(res, test.expected))
@@ -1066,7 +1066,7 @@ func TestDeleteMovedSnapshots(t *testing.T) {
batchDeleteSnapshotFunc = batchDeleteFail
}
errs := controller.deleteMovedSnapshots(context.Background(), veleroBackup)
errs := controller.deleteMovedSnapshots(t.Context(), veleroBackup)
if test.expected == nil {
assert.Nil(t, errs)
} else {
@@ -18,7 +18,6 @@ package controller
import (
"bytes"
"context"
"io"
"testing"
"time"
@@ -227,12 +226,12 @@ func TestBackupFinalizerReconcile(t *testing.T) {
backupStore.On("PutBackupVolumeInfos", mock.Anything, mock.Anything).Return(nil)
pluginManager.On("GetBackupItemActionsV2").Return(nil, nil)
backupper.On("FinalizeBackup", mock.Anything, mock.Anything, mock.Anything, mock.Anything, framework.BackupItemActionResolverV2{}, mock.Anything, mock.Anything).Return(nil)
_, err := reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
_, err := reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
gotErr := err != nil
assert.Equal(t, test.expectError, gotErr)
backupAfter := velerov1api.Backup{}
err = fakeClient.Get(context.TODO(), types.NamespacedName{
err = fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: test.backup.Namespace,
Name: test.backup.Name,
}, &backupAfter)
@@ -17,7 +17,6 @@ limitations under the License.
package controller
import (
"context"
"testing"
"time"
@@ -296,12 +295,12 @@ func TestBackupOperationsReconcile(t *testing.T) {
}, nil)
pluginManager.On("GetBackupItemActionV2", operation.Spec.BackupItemAction).Return(bia, nil)
}
_, err := reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
_, err := reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
gotErr := err != nil
assert.Equal(t, test.expectError, gotErr)
backupAfter := velerov1api.Backup{}
err = fakeClient.Get(context.TODO(), types.NamespacedName{
err = fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: test.backup.Namespace,
Name: test.backup.Name,
}, &backupAfter)
@@ -86,12 +86,12 @@ func mockBackupRepositoryCR() *velerov1api.BackupRepository {
func TestPatchBackupRepository(t *testing.T) {
rr := mockBackupRepositoryCR()
reconciler := mockBackupRepoReconciler(t, "", nil, nil)
err := reconciler.Client.Create(context.TODO(), rr)
err := reconciler.Client.Create(t.Context(), rr)
require.NoError(t, err)
err = reconciler.patchBackupRepository(context.Background(), rr, repoReady())
err = reconciler.patchBackupRepository(t.Context(), rr, repoReady())
require.NoError(t, err)
assert.Equal(t, velerov1api.BackupRepositoryPhaseReady, rr.Status.Phase)
err = reconciler.patchBackupRepository(context.Background(), rr, repoNotReady("not ready"))
err = reconciler.patchBackupRepository(t.Context(), rr, repoNotReady("not ready"))
require.NoError(t, err)
assert.NotEqual(t, velerov1api.BackupRepositoryPhaseReady, rr.Status.Phase)
}
@@ -102,7 +102,7 @@ func TestCheckNotReadyRepo(t *testing.T) {
rr.Spec.ResticIdentifier = "fake-identifier"
rr.Spec.VolumeNamespace = "volume-ns-1"
reconciler := mockBackupRepoReconciler(t, "PrepareRepo", rr, nil)
err := reconciler.Client.Create(context.TODO(), rr)
err := reconciler.Client.Create(t.Context(), rr)
require.NoError(t, err)
location := velerov1api.BackupStorageLocation{
Spec: velerov1api.BackupStorageLocationSpec{
@@ -114,7 +114,7 @@ func TestCheckNotReadyRepo(t *testing.T) {
},
}
_, err = reconciler.checkNotReadyRepo(context.TODO(), rr, &location, reconciler.logger)
_, err = reconciler.checkNotReadyRepo(t.Context(), rr, &location, reconciler.logger)
require.NoError(t, err)
assert.Equal(t, velerov1api.BackupRepositoryPhaseReady, rr.Status.Phase)
assert.Equal(t, "s3:test.amazonaws.com/bucket/restic/volume-ns-1", rr.Spec.ResticIdentifier)
@@ -371,13 +371,13 @@ func TestRunMaintenanceIfDue(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
reconciler := mockBackupRepoReconciler(t, "", test.repo, nil)
reconciler.clock = &fakeClock{now}
err := reconciler.Client.Create(context.TODO(), test.repo)
err := reconciler.Client.Create(t.Context(), test.repo)
require.NoError(t, err)
funcStartMaintenanceJob = test.startJobFunc
funcWaitMaintenanceJobComplete = test.waitJobFunc
err = reconciler.runMaintenanceIfDue(context.TODO(), test.repo, velerotest.NewLogger())
err = reconciler.runMaintenanceIfDue(t.Context(), test.repo, velerotest.NewLogger())
if test.expectedErr == "" {
require.NoError(t, err)
}
@@ -404,7 +404,7 @@ func TestInitializeRepo(t *testing.T) {
rr := mockBackupRepositoryCR()
rr.Spec.BackupStorageLocation = "default"
reconciler := mockBackupRepoReconciler(t, "PrepareRepo", rr, nil)
err := reconciler.Client.Create(context.TODO(), rr)
err := reconciler.Client.Create(t.Context(), rr)
require.NoError(t, err)
location := velerov1api.BackupStorageLocation{
Spec: velerov1api.BackupStorageLocationSpec{
@@ -416,7 +416,7 @@ func TestInitializeRepo(t *testing.T) {
},
}
err = reconciler.initializeRepo(context.TODO(), rr, &location, reconciler.logger)
err = reconciler.initializeRepo(t.Context(), rr, &location, reconciler.logger)
require.NoError(t, err)
assert.Equal(t, velerov1api.BackupRepositoryPhaseReady, rr.Status.Phase)
}
@@ -473,9 +473,9 @@ func TestBackupRepoReconcile(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
reconciler := mockBackupRepoReconciler(t, "", test.repo, nil)
err := reconciler.Client.Create(context.TODO(), test.repo)
err := reconciler.Client.Create(t.Context(), test.repo)
require.NoError(t, err)
_, err = reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.repo.Namespace, Name: "repo"}})
_, err = reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.repo.Namespace, Name: "repo"}})
if test.expectNil {
assert.NoError(t, err)
} else {
@@ -765,7 +765,7 @@ func TestGetBackupRepositoryConfig(t *testing.T) {
fakeClient := fakeClientBuilder.WithRuntimeObjects(test.kubeClientObj...).Build()
result, err := getBackupRepositoryConfig(context.Background(), fakeClient, test.congiName, velerov1api.DefaultNamespace, test.repoName, test.repoType, velerotest.NewLogger())
result, err := getBackupRepositoryConfig(t.Context(), fakeClient, test.congiName, velerov1api.DefaultNamespace, test.repoName, test.repoType, velerotest.NewLogger())
if test.expectedErr != "" {
assert.EqualError(t, err, test.expectedErr)
@@ -1053,7 +1053,7 @@ func TestRecallMaintenance(t *testing.T) {
lastTm := backupRepo.Status.LastMaintenanceTime
err := r.recallMaintenance(context.TODO(), backupRepo, velerotest.NewLogger())
err := r.recallMaintenance(t.Context(), backupRepo, velerotest.NewLogger())
if test.expectedErr != "" {
assert.EqualError(t, err, test.expectedErr)
} else {
@@ -1467,7 +1467,7 @@ func TestDeleteOldMaintenanceJob(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
crClient := velerotest.NewFakeControllerRuntimeClient(t, test.repo, test.bsl)
for _, job := range test.maintenanceJobs {
require.NoError(t, crClient.Create(context.TODO(), &job))
require.NoError(t, crClient.Create(t.Context(), &job))
}
repoLocker := repository.NewRepoLocker()
@@ -1487,7 +1487,7 @@ func TestDeleteOldMaintenanceJob(t *testing.T) {
nil,
)
_, err := reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.repo.Namespace, Name: "repo"}})
_, err := reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.repo.Namespace, Name: "repo"}})
if test.expectNil {
require.NoError(t, err)
} else {
@@ -1496,7 +1496,7 @@ func TestDeleteOldMaintenanceJob(t *testing.T) {
if len(test.maintenanceJobs) > 0 {
jobList := new(batchv1api.JobList)
require.NoError(t, reconciler.Client.List(context.TODO(), jobList, &client.ListOptions{Namespace: "velero"}))
require.NoError(t, reconciler.Client.List(t.Context(), jobList, &client.ListOptions{Namespace: "velero"}))
assert.Len(t, jobList.Items, 1)
}
})
@@ -17,7 +17,6 @@ limitations under the License.
package controller
import (
"context"
"testing"
"time"
@@ -246,7 +245,7 @@ func TestEnsureSingleDefaultBSL(t *testing.T) {
require.NoError(t, velerov1api.AddToScheme(scheme.Scheme))
t.Run(test.name, func(t *testing.T) {
r := &backupStorageLocationReconciler{
ctx: context.Background(),
ctx: t.Context(),
client: fake.NewClientBuilder().WithScheme(scheme.Scheme).WithRuntimeObjects(&test.locations).Build(),
defaultBackupLocationInfo: test.defaultBackupInfo,
metrics: metrics.NewServerMetrics(),
@@ -291,14 +290,14 @@ func TestBSLReconcile(t *testing.T) {
require.NoError(t, velerov1api.AddToScheme(scheme.Scheme))
t.Run(test.name, func(t *testing.T) {
r := &backupStorageLocationReconciler{
ctx: context.Background(),
ctx: t.Context(),
client: fake.NewClientBuilder().WithScheme(scheme.Scheme).WithRuntimeObjects(&test.locationList).Build(),
newPluginManager: func(logrus.FieldLogger) clientmgmt.Manager { return pluginManager },
metrics: metrics.NewServerMetrics(),
log: velerotest.NewLogger(),
}
result, err := r.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: velerov1api.DefaultNamespace, Name: "location-1"}})
result, err := r.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: velerov1api.DefaultNamespace, Name: "location-1"}})
assert.Equal(t, test.expectedError, err)
assert.Equal(t, ctrl.Result{}, result)
})
+18 -18
View File
@@ -479,12 +479,12 @@ func TestDataDownloadReconcile(t *testing.T) {
require.NoError(t, err)
if !test.notCreateDD {
err = r.client.Create(context.Background(), test.dd)
err = r.client.Create(t.Context(), test.dd)
require.NoError(t, err)
}
if test.needDelete {
err = r.client.Delete(context.Background(), test.dd)
err = r.client.Delete(t.Context(), test.dd)
require.NoError(t, err)
}
@@ -627,7 +627,7 @@ func TestDataDownloadReconcile(t *testing.T) {
func TestOnDataDownloadFailed(t *testing.T) {
for _, getErr := range []bool{true, false} {
ctx := context.TODO()
ctx := t.Context()
needErrs := []bool{getErr, false, false, false}
r, err := initDataDownloadReconciler(t, nil, needErrs...)
require.NoError(t, err)
@@ -653,7 +653,7 @@ func TestOnDataDownloadFailed(t *testing.T) {
func TestOnDataDownloadCancelled(t *testing.T) {
for _, getErr := range []bool{true, false} {
ctx := context.TODO()
ctx := t.Context()
needErrs := []bool{getErr, false, false, false}
r, err := initDataDownloadReconciler(t, nil, needErrs...)
require.NoError(t, err)
@@ -695,7 +695,7 @@ func TestOnDataDownloadCompleted(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
needErrs := []bool{test.isGetErr, false, false, false}
r, err := initDataDownloadReconciler(t, nil, needErrs...)
r.restoreExposer = func() exposer.GenericRestoreExposer {
@@ -760,7 +760,7 @@ func TestOnDataDownloadProgress(t *testing.T) {
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initDataDownloadReconciler(t, nil, test.needErrs...)
require.NoError(t, err)
@@ -772,7 +772,7 @@ func TestOnDataDownloadProgress(t *testing.T) {
namespace := dd.Namespace
duName := dd.Name
// Add the DataDownload object to the fake client
require.NoError(t, r.client.Create(context.Background(), dd))
require.NoError(t, r.client.Create(t.Context(), dd))
// Create a Progress object
progress := &uploader.Progress{
@@ -841,11 +841,11 @@ func TestFindDataDownloadForPod(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
assert.NoError(t, r.client.Create(ctx, test.pod))
assert.NoError(t, r.client.Create(ctx, test.du))
// Call the findSnapshotRestoreForPod function
requests := r.findSnapshotRestoreForPod(context.Background(), test.pod)
requests := r.findSnapshotRestoreForPod(t.Context(), test.pod)
test.checkFunc(test.du, requests)
r.client.Delete(ctx, test.du, &kbclient.DeleteOptions{})
if test.pod != nil {
@@ -881,7 +881,7 @@ func TestAcceptDataDownload(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
r, err := initDataDownloadReconcilerWithError(t, nil, test.needErrs...)
require.NoError(t, err)
@@ -925,7 +925,7 @@ func TestOnDdPrepareTimeout(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
r, err := initDataDownloadReconcilerWithError(t, nil, test.needErrs...)
require.NoError(t, err)
@@ -970,7 +970,7 @@ func TestTryCancelDataDownload(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
r, err := initDataDownloadReconcilerWithError(t, nil, test.needErrs...)
require.NoError(t, err)
@@ -1027,7 +1027,7 @@ func TestUpdateDataDownloadWithRetry(t *testing.T) {
for _, tc := range testCases {
t.Run(tc.Name, func(t *testing.T) {
ctx, cancelFunc := context.WithTimeout(context.TODO(), time.Second*5)
ctx, cancelFunc := context.WithTimeout(t.Context(), time.Second*5)
defer cancelFunc()
r, err := initDataDownloadReconciler(t, nil, tc.needErrs...)
require.NoError(t, err)
@@ -1145,7 +1145,7 @@ func TestAttemptDataDownloadResume(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initDataDownloadReconciler(t, nil, test.needErrs...)
r.nodeName = "node-1"
require.NoError(t, err)
@@ -1172,21 +1172,21 @@ func TestAttemptDataDownloadResume(t *testing.T) {
// Verify DataDownload marked as Canceled
for _, duName := range test.cancelledDataDownloads {
dataDownload := &velerov2alpha1api.DataDownload{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataDownload)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataDownload)
require.NoError(t, err)
assert.True(t, dataDownload.Spec.Cancel)
}
// Verify DataDownload marked as Accepted
for _, duName := range test.acceptedDataDownloads {
dataUpload := &velerov2alpha1api.DataDownload{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
require.NoError(t, err)
assert.Equal(t, velerov2alpha1api.DataDownloadPhaseAccepted, dataUpload.Status.Phase)
}
// Verify DataDownload marked as Prepared
for _, duName := range test.prepareddDataDownloads {
dataUpload := &velerov2alpha1api.DataDownload{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
require.NoError(t, err)
assert.Equal(t, velerov2alpha1api.DataDownloadPhasePrepared, dataUpload.Status.Phase)
}
@@ -1263,7 +1263,7 @@ func TestResumeCancellableRestore(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initDataDownloadReconciler(t, nil, false)
r.nodeName = "node-1"
require.NoError(t, err)
+19 -19
View File
@@ -616,12 +616,12 @@ func TestReconcile(t *testing.T) {
require.NoError(t, err)
if !test.notCreateDU {
err = r.client.Create(context.Background(), test.du)
err = r.client.Create(t.Context(), test.du)
require.NoError(t, err)
}
if test.needDelete {
err = r.client.Delete(context.Background(), test.du)
err = r.client.Delete(t.Context(), test.du)
require.NoError(t, err)
}
@@ -737,7 +737,7 @@ func TestReconcile(t *testing.T) {
}
func TestOnDataUploadCancelled(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initDataUploaderReconciler()
require.NoError(t, err)
// Create a DataUpload object
@@ -785,7 +785,7 @@ func TestOnDataUploadProgress(t *testing.T) {
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initDataUploaderReconciler(test.needErrs...)
require.NoError(t, err)
@@ -797,7 +797,7 @@ func TestOnDataUploadProgress(t *testing.T) {
namespace := du.Namespace
duName := du.Name
// Add the DataUpload object to the fake client
require.NoError(t, r.client.Create(context.Background(), du))
require.NoError(t, r.client.Create(t.Context(), du))
// Create a Progress object
progress := &uploader.Progress{
@@ -820,7 +820,7 @@ func TestOnDataUploadProgress(t *testing.T) {
}
func TestOnDataUploadFailed(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initDataUploaderReconciler()
require.NoError(t, err)
@@ -840,7 +840,7 @@ func TestOnDataUploadFailed(t *testing.T) {
}
func TestOnDataUploadCompleted(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initDataUploaderReconciler()
require.NoError(t, err)
// Create a DataUpload object
@@ -903,11 +903,11 @@ func TestFindDataUploadForPod(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
assert.NoError(t, r.client.Create(ctx, test.pod))
assert.NoError(t, r.client.Create(ctx, test.du))
// Call the findDataUploadForPod function
requests := r.findDataUploadForPod(context.Background(), test.pod)
requests := r.findDataUploadForPod(t.Context(), test.pod)
test.checkFunc(test.du, requests)
r.client.Delete(ctx, test.du, &kbclient.DeleteOptions{})
if test.pod != nil {
@@ -957,7 +957,7 @@ func TestAcceptDataUpload(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
r, err := initDataUploaderReconcilerWithError(test.needErrs...)
require.NoError(t, err)
@@ -1001,7 +1001,7 @@ func TestOnDuPrepareTimeout(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
r, err := initDataUploaderReconcilerWithError(test.needErrs...)
require.NoError(t, err)
@@ -1046,7 +1046,7 @@ func TestTryCancelDataUpload(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
r, err := initDataUploaderReconcilerWithError(test.needErrs...)
require.NoError(t, err)
@@ -1103,7 +1103,7 @@ func TestUpdateDataUploadWithRetry(t *testing.T) {
for _, tc := range testCases {
t.Run(tc.Name, func(t *testing.T) {
ctx, cancelFunc := context.WithTimeout(context.TODO(), time.Second*5)
ctx, cancelFunc := context.WithTimeout(t.Context(), time.Second*5)
defer cancelFunc()
r, err := initDataUploaderReconciler(tc.needErrs...)
require.NoError(t, err)
@@ -1212,7 +1212,7 @@ func TestAttemptDataUploadResume(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initDataUploaderReconciler(test.needErrs...)
r.nodeName = "node-1"
require.NoError(t, err)
@@ -1236,28 +1236,28 @@ func TestAttemptDataUploadResume(t *testing.T) {
// Verify DataUploads marked as Canceled
for _, duName := range test.cancelledDataUploads {
dataUpload := &velerov2alpha1api.DataUpload{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
require.NoError(t, err)
assert.True(t, dataUpload.Spec.Cancel)
}
// Verify DataUploads marked as Accepted
for _, duName := range test.acceptedDataUploads {
dataUpload := &velerov2alpha1api.DataUpload{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
require.NoError(t, err)
assert.Equal(t, velerov2alpha1api.DataUploadPhaseAccepted, dataUpload.Status.Phase)
}
// Verify DataUploads marked as Prepared
for _, duName := range test.prepareddDataUploads {
dataUpload := &velerov2alpha1api.DataUpload{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
require.NoError(t, err)
assert.Equal(t, velerov2alpha1api.DataUploadPhasePrepared, dataUpload.Status.Phase)
}
// Verify DataUploads marked as InProgress
for _, duName := range test.inProgressDataUploads {
dataUpload := &velerov2alpha1api.DataUpload{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: duName}, dataUpload)
require.NoError(t, err)
assert.Equal(t, velerov2alpha1api.DataUploadPhaseInProgress, dataUpload.Status.Phase)
}
@@ -1339,7 +1339,7 @@ func TestResumeCancellableBackup(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initDataUploaderReconciler()
r.nodeName = "node-1"
require.NoError(t, err)
+1 -2
View File
@@ -17,7 +17,6 @@ limitations under the License.
package controller
import (
"context"
"testing"
"time"
@@ -145,7 +144,7 @@ func TestGCReconcile(t *testing.T) {
fakeClient := velerotest.NewFakeControllerRuntimeClient(t, initObjs...)
reconciler := mockGCReconciler(fakeClient, fakeClock, defaultGCFrequency)
_, err := reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
_, err := reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.backup.Namespace, Name: test.backup.Name}})
gotErr := err != nil
assert.Equal(t, test.expectError, gotErr)
})
@@ -465,12 +465,12 @@ func TestPVBReconcile(t *testing.T) {
require.NoError(t, err)
if !test.notCreatePvb {
err = r.client.Create(context.Background(), test.pvb)
err = r.client.Create(t.Context(), test.pvb)
require.NoError(t, err)
}
if test.needDelete {
err = r.client.Delete(context.Background(), test.pvb)
err = r.client.Delete(t.Context(), test.pvb)
require.NoError(t, err)
}
@@ -579,7 +579,7 @@ func TestPVBReconcile(t *testing.T) {
}
func TestOnPVBCancelled(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initPVBReconciler()
require.NoError(t, err)
pvb := pvbBuilder().Result()
@@ -626,7 +626,7 @@ func TestOnPVBProgress(t *testing.T) {
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initPVBReconciler(test.needErrs...)
require.NoError(t, err)
@@ -638,7 +638,7 @@ func TestOnPVBProgress(t *testing.T) {
namespace := pvb.Namespace
pvbName := pvb.Name
require.NoError(t, r.client.Create(context.Background(), pvb))
require.NoError(t, r.client.Create(t.Context(), pvb))
// Create a Progress object
progress := &uploader.Progress{
@@ -658,7 +658,7 @@ func TestOnPVBProgress(t *testing.T) {
}
func TestOnPvbFailed(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initPVBReconciler()
require.NoError(t, err)
@@ -677,7 +677,7 @@ func TestOnPvbFailed(t *testing.T) {
}
func TestOnPvbCompleted(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initPVBReconciler()
require.NoError(t, err)
@@ -741,11 +741,11 @@ func TestFindPvbForPod(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
assert.NoError(t, r.client.Create(ctx, test.pod))
assert.NoError(t, r.client.Create(ctx, test.pvb))
requests := r.findPVBForPod(context.Background(), test.pod)
requests := r.findPVBForPod(t.Context(), test.pod)
test.checkFunc(test.pvb, requests)
r.client.Delete(ctx, test.pvb, &client.DeleteOptions{})
if test.pod != nil {
@@ -774,7 +774,7 @@ func TestAcceptPvb(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
r, err := initPVBReconcilerWithError(test.needErrs...)
require.NoError(t, err)
@@ -817,7 +817,7 @@ func TestOnPvbPrepareTimeout(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
r, err := initPVBReconcilerWithError(test.needErrs...)
require.NoError(t, err)
@@ -862,7 +862,7 @@ func TestTryCancelPvb(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
r, err := initPVBReconcilerWithError(test.needErrs...)
require.NoError(t, err)
@@ -919,7 +919,7 @@ func TestUpdatePvbWithRetry(t *testing.T) {
for _, tc := range testCases {
t.Run(tc.Name, func(t *testing.T) {
ctx, cancelFunc := context.WithTimeout(context.TODO(), time.Second*5)
ctx, cancelFunc := context.WithTimeout(t.Context(), time.Second*5)
defer cancelFunc()
r, err := initPVBReconciler(tc.needErrs...)
require.NoError(t, err)
@@ -1028,7 +1028,7 @@ func TestAttemptPVBResume(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initPVBReconciler(test.needErrs...)
r.nodeName = "node-1"
require.NoError(t, err)
@@ -1051,28 +1051,28 @@ func TestAttemptPVBResume(t *testing.T) {
for _, pvbName := range test.cancelledPvbs {
pvb := &velerov1api.PodVolumeBackup{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
require.NoError(t, err)
assert.True(t, pvb.Spec.Cancel)
}
for _, pvbName := range test.acceptedPvbs {
pvb := &velerov1api.PodVolumeBackup{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
require.NoError(t, err)
assert.Equal(t, velerov1api.PodVolumeBackupPhaseAccepted, pvb.Status.Phase)
}
for _, pvbName := range test.preparedPvbs {
pvb := &velerov1api.PodVolumeBackup{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
require.NoError(t, err)
assert.Equal(t, velerov1api.PodVolumeBackupPhasePrepared, pvb.Status.Phase)
}
for _, pvbName := range test.inProgressPvbs {
pvb := &velerov1api.PodVolumeBackup{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvbName}, pvb)
require.NoError(t, err)
assert.Equal(t, velerov1api.PodVolumeBackupPhaseInProgress, pvb.Status.Phase)
}
@@ -1149,7 +1149,7 @@ func TestResumeCancellablePodVolumeBackup(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initPVBReconciler()
r.nodeName = "node-1"
require.NoError(t, err)
@@ -17,7 +17,6 @@ limitations under the License.
package controller
import (
"context"
"testing"
"github.com/sirupsen/logrus"
@@ -43,7 +42,7 @@ func TestFindVolumeRestoresForPodLegacy(t *testing.T) {
Client: clientBuilder.Build(),
logger: logrus.New(),
}
requests := reconciler.findVolumeRestoresForPod(context.Background(), pod)
requests := reconciler.findVolumeRestoresForPod(t.Context(), pod)
assert.Empty(t, requests)
// contain one matching PVR
@@ -89,6 +88,6 @@ func TestFindVolumeRestoresForPodLegacy(t *testing.T) {
},
},
}).Build()
requests = reconciler.findVolumeRestoresForPod(context.Background(), pod)
requests = reconciler.findVolumeRestoresForPod(t.Context(), pod)
assert.Len(t, requests, 1)
}
@@ -204,7 +204,7 @@ func TestShouldProcess(t *testing.T) {
for _, ts := range tests {
t.Run(ts.name, func(t *testing.T) {
ctx := context.Background()
ctx := t.Context()
var objs []runtime.Object
if ts.obj != nil {
@@ -513,7 +513,7 @@ func TestFindPVRForTargetPod(t *testing.T) {
client: clientBuilder.Build(),
logger: logrus.New(),
}
requests := reconciler.findPVRForTargetPod(context.Background(), pod)
requests := reconciler.findPVRForTargetPod(t.Context(), pod)
assert.Empty(t, requests)
// contain one matching PVR
@@ -537,7 +537,7 @@ func TestFindPVRForTargetPod(t *testing.T) {
},
},
}).Build()
requests = reconciler.findPVRForTargetPod(context.Background(), pod)
requests = reconciler.findPVRForTargetPod(t.Context(), pod)
assert.Len(t, requests, 1)
}
@@ -932,12 +932,12 @@ func TestPodVolumeRestoreReconcile(t *testing.T) {
require.NoError(t, err)
if !test.notCreatePVR {
err = r.client.Create(context.Background(), test.pvr)
err = r.client.Create(t.Context(), test.pvr)
require.NoError(t, err)
}
if test.needDelete {
err = r.client.Delete(context.Background(), test.pvr)
err = r.client.Delete(t.Context(), test.pvr)
require.NoError(t, err)
}
@@ -1084,7 +1084,7 @@ func TestPodVolumeRestoreReconcile(t *testing.T) {
func TestOnPodVolumeRestoreFailed(t *testing.T) {
for _, getErr := range []bool{true, false} {
ctx := context.TODO()
ctx := t.Context()
needErrs := []bool{getErr, false, false, false}
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{}, needErrs...)
require.NoError(t, err)
@@ -1110,7 +1110,7 @@ func TestOnPodVolumeRestoreFailed(t *testing.T) {
func TestOnPodVolumeRestoreCancelled(t *testing.T) {
for _, getErr := range []bool{true, false} {
ctx := context.TODO()
ctx := t.Context()
needErrs := []bool{getErr, false, false, false}
r, err := initPodVolumeRestoreReconciler(nil, nil, needErrs...)
require.NoError(t, err)
@@ -1152,7 +1152,7 @@ func TestOnPodVolumeRestoreCompleted(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
needErrs := []bool{test.isGetErr, false, false, false}
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{}, needErrs...)
r.exposer = func() exposer.PodVolumeExposer {
@@ -1212,7 +1212,7 @@ func TestOnPodVolumeRestoreProgress(t *testing.T) {
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{}, test.needErrs...)
require.NoError(t, err)
@@ -1224,7 +1224,7 @@ func TestOnPodVolumeRestoreProgress(t *testing.T) {
namespace := pvr.Namespace
pvrName := pvr.Name
require.NoError(t, r.client.Create(context.Background(), pvr))
require.NoError(t, r.client.Create(t.Context(), pvr))
// Create a Progress object
progress := &uploader.Progress{
@@ -1290,11 +1290,11 @@ func TestFindPVBForRestorePod(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
assert.NoError(t, r.client.Create(ctx, test.pod))
assert.NoError(t, r.client.Create(ctx, test.pvr))
// Call the findSnapshotRestoreForPod function
requests := r.findPVRForRestorePod(context.Background(), test.pod)
requests := r.findPVRForRestorePod(t.Context(), test.pod)
test.checkFunc(test.pvr, requests)
r.client.Delete(ctx, test.pvr, &kbclient.DeleteOptions{})
if test.pod != nil {
@@ -1330,7 +1330,7 @@ func TestOnPVRPrepareTimeout(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
r, err := initPodVolumeRestoreReconcilerWithError(nil, []client.Object{}, test.needErrs...)
require.NoError(t, err)
@@ -1375,7 +1375,7 @@ func TestTryCancelPVR(t *testing.T) {
},
}
for _, test := range tests {
ctx := context.Background()
ctx := t.Context()
r, err := initPodVolumeRestoreReconcilerWithError(nil, []client.Object{}, test.needErrs...)
require.NoError(t, err)
@@ -1432,7 +1432,7 @@ func TestUpdatePVRWithRetry(t *testing.T) {
for _, tc := range testCases {
t.Run(tc.Name, func(t *testing.T) {
ctx, cancelFunc := context.WithTimeout(context.TODO(), time.Second*5)
ctx, cancelFunc := context.WithTimeout(t.Context(), time.Second*5)
defer cancelFunc()
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{}, tc.needErrs...)
require.NoError(t, err)
@@ -1512,7 +1512,7 @@ func TestAttemptPVRResume(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{}, test.needErrs...)
r.nodeName = "node-1"
require.NoError(t, err)
@@ -1538,21 +1538,21 @@ func TestAttemptPVRResume(t *testing.T) {
for _, pvrName := range test.cancelledPvrs {
pvr := &velerov1api.PodVolumeRestore{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
require.NoError(t, err)
assert.True(t, pvr.Spec.Cancel)
}
for _, pvrName := range test.acceptedPvrs {
pvr := &velerov1api.PodVolumeRestore{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
require.NoError(t, err)
assert.Equal(t, velerov1api.PodVolumeRestorePhaseAccepted, pvr.Status.Phase)
}
for _, pvrName := range test.preparedPvrs {
pvr := &velerov1api.PodVolumeRestore{}
err := r.client.Get(context.Background(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
err := r.client.Get(t.Context(), types.NamespacedName{Namespace: "velero", Name: pvrName}, pvr)
require.NoError(t, err)
assert.Equal(t, velerov1api.PodVolumeRestorePhasePrepared, pvr.Status.Phase)
}
@@ -1629,7 +1629,7 @@ func TestResumeCancellablePodVolumeRestore(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
r, err := initPodVolumeRestoreReconciler(nil, []client.Object{})
r.nodeName = "node-1"
require.NoError(t, err)
+22 -23
View File
@@ -18,7 +18,6 @@ package controller
import (
"bytes"
"context"
"io"
"testing"
"time"
@@ -103,7 +102,7 @@ func TestFetchBackupInfo(t *testing.T) {
defer backupStore.AssertExpectations(t)
r := NewRestoreReconciler(
context.Background(),
t.Context(),
velerov1api.DefaultNamespace,
restorer,
fakeClient,
@@ -121,11 +120,11 @@ func TestFetchBackupInfo(t *testing.T) {
if test.backupStoreError == nil {
for _, itm := range test.informerLocations {
require.NoError(t, r.kbClient.Create(context.Background(), itm))
require.NoError(t, r.kbClient.Create(t.Context(), itm))
}
for _, itm := range test.informerBackups {
require.NoError(t, r.kbClient.Create(context.Background(), itm))
require.NoError(t, r.kbClient.Create(t.Context(), itm))
}
}
@@ -180,11 +179,11 @@ func TestProcessQueueItemSkips(t *testing.T) {
)
if test.restore != nil {
require.NoError(t, fakeClient.Create(context.Background(), test.restore))
require.NoError(t, fakeClient.Create(t.Context(), test.restore))
}
r := NewRestoreReconciler(
context.Background(),
t.Context(),
velerov1api.DefaultNamespace,
restorer,
fakeClient,
@@ -200,7 +199,7 @@ func TestProcessQueueItemSkips(t *testing.T) {
10*time.Minute,
)
_, err := r.Reconcile(context.Background(), ctrl.Request{NamespacedName: types.NamespacedName{
_, err := r.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{
Namespace: test.namespace,
Name: test.restoreName,
}})
@@ -503,7 +502,7 @@ func TestRestoreReconcile(t *testing.T) {
}()
r := NewRestoreReconciler(
context.Background(),
t.Context(),
velerov1api.DefaultNamespace,
restorer,
fakeClient,
@@ -521,15 +520,15 @@ func TestRestoreReconcile(t *testing.T) {
r.clock = clocktesting.NewFakeClock(now)
if test.location != nil {
require.NoError(t, r.kbClient.Create(context.Background(), test.location))
require.NoError(t, r.kbClient.Create(t.Context(), test.location))
}
if test.backup != nil {
require.NoError(t, r.kbClient.Create(context.Background(), test.backup))
require.NoError(t, r.kbClient.Create(t.Context(), test.backup))
}
if test.restore != nil {
isDeletionTimestampSet := test.restore.DeletionTimestamp != nil
require.NoError(t, r.kbClient.Create(context.Background(), test.restore))
require.NoError(t, r.kbClient.Create(t.Context(), test.restore))
// because of the changes introduced by https://github.com/kubernetes-sigs/controller-runtime/commit/7a66d580c0c53504f5b509b45e9300cc18a1cc30
// the fake client ignores the DeletionTimestamp when calling the Create(),
// so call Delete() here
@@ -596,7 +595,7 @@ func TestRestoreReconcile(t *testing.T) {
}
//err = r.processQueueItem(key)
_, err = r.Reconcile(context.Background(), ctrl.Request{NamespacedName: types.NamespacedName{
_, err = r.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{
Namespace: test.restore.Namespace,
Name: test.restore.Name,
}})
@@ -687,7 +686,7 @@ func TestValidateAndCompleteWhenScheduleNameSpecified(t *testing.T) {
)
r := NewRestoreReconciler(
context.Background(),
t.Context(),
velerov1api.DefaultNamespace,
nil,
fakeClient,
@@ -714,7 +713,7 @@ func TestValidateAndCompleteWhenScheduleNameSpecified(t *testing.T) {
}
// no backups created from the schedule: fail validation
require.NoError(t, r.kbClient.Create(context.Background(), defaultBackup().
require.NoError(t, r.kbClient.Create(t.Context(), defaultBackup().
ObjectMeta(builder.WithLabels(velerov1api.ScheduleNameLabel, "non-matching-schedule")).
Phase(velerov1api.BackupPhaseCompleted).
Result()))
@@ -725,7 +724,7 @@ func TestValidateAndCompleteWhenScheduleNameSpecified(t *testing.T) {
// no completed backups created from the schedule: fail validation
require.NoError(t, r.kbClient.Create(
context.Background(),
t.Context(),
defaultBackup().
ObjectMeta(
builder.WithName("backup-2"),
@@ -742,7 +741,7 @@ func TestValidateAndCompleteWhenScheduleNameSpecified(t *testing.T) {
// multiple completed backups created from the schedule: use most recent
now := time.Now()
require.NoError(t, r.kbClient.Create(context.Background(),
require.NoError(t, r.kbClient.Create(t.Context(),
defaultBackup().
ObjectMeta(
builder.WithName("foo"),
@@ -755,7 +754,7 @@ func TestValidateAndCompleteWhenScheduleNameSpecified(t *testing.T) {
))
location := builder.ForBackupStorageLocation("velero", "default").Provider("myCloud").Bucket("bucket").Phase(velerov1api.BackupStorageLocationPhaseAvailable).Result()
require.NoError(t, r.kbClient.Create(context.Background(), location))
require.NoError(t, r.kbClient.Create(t.Context(), location))
restore = &velerov1api.Restore{
ObjectMeta: metav1.ObjectMeta{
@@ -783,7 +782,7 @@ func TestValidateAndCompleteWithResourceModifierSpecified(t *testing.T) {
)
r := NewRestoreReconciler(
context.Background(),
t.Context(),
velerov1api.DefaultNamespace,
nil,
fakeClient,
@@ -814,10 +813,10 @@ func TestValidateAndCompleteWithResourceModifierSpecified(t *testing.T) {
}
location := builder.ForBackupStorageLocation("velero", "default").Provider("myCloud").Bucket("bucket").Phase(velerov1api.BackupStorageLocationPhaseAvailable).Result()
require.NoError(t, r.kbClient.Create(context.Background(), location))
require.NoError(t, r.kbClient.Create(t.Context(), location))
require.NoError(t, r.kbClient.Create(
context.Background(),
t.Context(),
defaultBackup().
ObjectMeta(
builder.WithName("backup-1"),
@@ -852,7 +851,7 @@ func TestValidateAndCompleteWithResourceModifierSpecified(t *testing.T) {
"sub.yml": "version: v1\nresourceModifierRules:\n- conditions:\n groupResource: persistentvolumeclaims\n resourceNameRegex: \".*\"\n namespaces:\n - bar\n - foo\n patches:\n - operation: replace\n path: \"/spec/storageClassName\"\n value: \"premium\"\n - operation: remove\n path: \"/metadata/labels/test\"\n\n\n",
},
}
require.NoError(t, r.kbClient.Create(context.Background(), cm1))
require.NoError(t, r.kbClient.Create(t.Context(), cm1))
r.validateAndComplete(restore1)
assert.Nil(t, restore1.Status.ValidationErrors)
@@ -881,7 +880,7 @@ func TestValidateAndCompleteWithResourceModifierSpecified(t *testing.T) {
"sub.yml": "version1: v1\nresourceModifierRules:\n- conditions:\n groupResource: persistentvolumeclaims\n resourceNameRegex: \".*\"\n namespaces:\n - bar\n - foo\n patches:\n - operation: replace\n path: \"/spec/storageClassName\"\n value: \"premium\"\n - operation: remove\n path: \"/metadata/labels/test\"\n\n\n",
},
}
require.NoError(t, r.kbClient.Create(context.Background(), invalidVersionCm))
require.NoError(t, r.kbClient.Create(t.Context(), invalidVersionCm))
r.validateAndComplete(restore2)
assert.Contains(t, restore2.Status.ValidationErrors[0], "Error in parsing resource modifiers provided in configmap")
@@ -909,7 +908,7 @@ func TestValidateAndCompleteWithResourceModifierSpecified(t *testing.T) {
"sub.yml": "version: v1\nresourceModifierRules:\n- conditions:\n groupResource: persistentvolumeclaims\n resourceNameRegex: \".*\"\n namespaces:\n - bar\n - foo\n patches:\n - operation: invalid\n path: \"/spec/storageClassName\"\n value: \"premium\"\n - operation: remove\n path: \"/metadata/labels/test\"\n\n\n",
},
}
require.NoError(t, r.kbClient.Create(context.Background(), invalidOperatorCm))
require.NoError(t, r.kbClient.Create(t.Context(), invalidOperatorCm))
r.validateAndComplete(restore3)
assert.Contains(t, restore3.Status.ValidationErrors[0], "Validation error in resource modifiers provided in configmap")
@@ -17,7 +17,6 @@ limitations under the License.
package controller
import (
"context"
"fmt"
"syscall"
"testing"
@@ -146,21 +145,21 @@ func TestRestoreFinalizerReconcile(t *testing.T) {
r.clock = testclocks.NewFakeClock(now)
if test.restore != nil && test.restore.Namespace == velerov1api.DefaultNamespace {
require.NoError(t, r.Client.Create(context.Background(), test.restore))
require.NoError(t, r.Client.Create(t.Context(), test.restore))
backupStore.On("GetRestoredResourceList", test.restore.Name).Return(map[string][]string{}, nil)
backupStore.On("GetRestoreItemOperations", test.restore.Name).Return([]*itemoperation.RestoreOperation{}, nil)
}
if test.backup != nil {
require.NoError(t, r.Client.Create(context.Background(), test.backup))
require.NoError(t, r.Client.Create(t.Context(), test.backup))
backupStore.On("GetBackupVolumeInfos", test.backup.Name).Return(nil, nil)
pluginManager.On("GetRestoreItemActionsV2").Return(nil, nil)
pluginManager.On("CleanupClients")
}
if test.location != nil {
require.NoError(t, r.Client.Create(context.Background(), test.location))
require.NoError(t, r.Client.Create(t.Context(), test.location))
}
_, err = r.Reconcile(context.Background(), ctrl.Request{NamespacedName: types.NamespacedName{
_, err = r.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{
Namespace: test.restore.Namespace,
Name: test.restore.Name,
}})
@@ -172,7 +171,7 @@ func TestRestoreFinalizerReconcile(t *testing.T) {
if test.statusCompare {
restoreAfter := velerov1api.Restore{}
err = fakeClient.Get(context.TODO(), types.NamespacedName{
err = fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: test.restore.Namespace,
Name: test.restore.Name,
}, &restoreAfter)
@@ -443,10 +442,10 @@ func TestPatchDynamicPVWithVolumeInfo(t *testing.T) {
}
for _, pv := range tc.restoredPV {
require.NoError(t, ctx.crClient.Create(context.Background(), pv))
require.NoError(t, ctx.crClient.Create(t.Context(), pv))
}
for _, pvc := range tc.restoredPVC {
require.NoError(t, ctx.crClient.Create(context.Background(), pvc))
require.NoError(t, ctx.crClient.Create(t.Context(), pvc))
}
errs := ctx.patchDynamicPVWithVolumeInfo()
@@ -456,7 +455,7 @@ func TestPatchDynamicPVWithVolumeInfo(t *testing.T) {
for pvName, expectedPVInfo := range tc.expectedPatch {
pv := &corev1api.PersistentVolume{}
err := ctx.crClient.Get(context.Background(), crclient.ObjectKey{Name: pvName}, pv)
err := ctx.crClient.Get(t.Context(), crclient.ObjectKey{Name: pvName}, pv)
require.NoError(t, err)
assert.Equal(t, expectedPVInfo.ReclaimPolicy, string(pv.Spec.PersistentVolumeReclaimPolicy))
@@ -541,7 +540,7 @@ func TestWaitRestoreExecHook(t *testing.T) {
restore: tc.restore,
multiHookTracker: tc.hookTracker,
}
require.NoError(t, ctx.crClient.Create(context.Background(), tc.restore))
require.NoError(t, ctx.crClient.Create(t.Context(), tc.restore))
if tc.waitSec > 0 {
go func() {
@@ -554,7 +553,7 @@ func TestWaitRestoreExecHook(t *testing.T) {
assert.Len(t, errs.Namespaces, tc.expectedHookErrs)
updated := &velerov1api.Restore{}
err := ctx.crClient.Get(context.Background(), crclient.ObjectKey{Namespace: velerov1api.DefaultNamespace, Name: tc.restore.Name}, updated)
err := ctx.crClient.Get(t.Context(), crclient.ObjectKey{Namespace: velerov1api.DefaultNamespace, Name: tc.restore.Name}, updated)
require.NoError(t, err)
assert.Equal(t, tc.expectedHooksAttempted, updated.Status.HookStatus.HooksAttempted)
assert.Equal(t, tc.expectedHooksFailed, updated.Status.HookStatus.HooksFailed)
@@ -17,7 +17,6 @@ limitations under the License.
package controller
import (
"context"
"testing"
"time"
@@ -303,12 +302,12 @@ func TestRestoreOperationsReconcile(t *testing.T) {
restorePluginManager.On("GetRestoreItemActionV2", operation.Spec.RestoreItemAction).Return(ria, nil)
}
_, err := reconciler.Reconcile(context.TODO(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.restore.Namespace, Name: test.restore.Name}})
_, err := reconciler.Reconcile(t.Context(), ctrl.Request{NamespacedName: types.NamespacedName{Namespace: test.restore.Namespace, Name: test.restore.Name}})
gotErr := err != nil
assert.Equal(t, test.expectError, gotErr)
restoreAfter := velerov1api.Restore{}
err = fakeClient.Get(context.TODO(), types.NamespacedName{
err = fakeClient.Get(t.Context(), types.NamespacedName{
Namespace: test.restore.Namespace,
Name: test.restore.Name,
}, &restoreAfter)
+11 -11
View File
@@ -112,7 +112,7 @@ func TestOnDataUploadFailed(t *testing.T) {
expectedEventReason := datapath.EventReasonFailed
expectedEventMsg := "Data path for data upload fake-data-upload failed, error fake-error"
go bs.OnDataUploadFailed(context.TODO(), velerov1api.DefaultNamespace, dataUploadName, errors.New("fake-error"))
go bs.OnDataUploadFailed(t.Context(), velerov1api.DefaultNamespace, dataUploadName, errors.New("fake-error"))
result := <-bs.resultSignal
require.EqualError(t, result.err, expectedErr)
@@ -136,7 +136,7 @@ func TestOnDataUploadCancelled(t *testing.T) {
expectedEventReason := datapath.EventReasonCancelled
expectedEventMsg := "Data path for data upload fake-data-upload canceled"
go bs.OnDataUploadCancelled(context.TODO(), velerov1api.DefaultNamespace, dataUploadName)
go bs.OnDataUploadCancelled(t.Context(), velerov1api.DefaultNamespace, dataUploadName)
result := <-bs.resultSignal
require.EqualError(t, result.err, expectedErr)
@@ -184,7 +184,7 @@ func TestOnDataUploadCompleted(t *testing.T) {
funcMarshal = bt.Marshal
go bs.OnDataUploadCompleted(context.TODO(), velerov1api.DefaultNamespace, dataUploadName, datapath.Result{})
go bs.OnDataUploadCompleted(t.Context(), velerov1api.DefaultNamespace, dataUploadName, datapath.Result{})
result := <-bs.resultSignal
if test.marshalErr != nil {
@@ -237,7 +237,7 @@ func TestOnDataUploadProgress(t *testing.T) {
funcMarshal = bt.Marshal
bs.OnDataUploadProgress(context.TODO(), velerov1api.DefaultNamespace, dataUploadName, &uploader.Progress{})
bs.OnDataUploadProgress(t.Context(), velerov1api.DefaultNamespace, dataUploadName, &uploader.Progress{})
if test.marshalErr != nil {
assert.False(t, bt.withEvent)
@@ -295,7 +295,7 @@ func TestRunCancelableDataPath(t *testing.T) {
dataUploadName := "fake-data-upload"
du := builder.ForDataUpload(velerov1api.DefaultNamespace, dataUploadName).Phase(velerov2alpha1api.DataUploadPhaseNew).Result()
duInProgress := builder.ForDataUpload(velerov1api.DefaultNamespace, dataUploadName).Phase(velerov2alpha1api.DataUploadPhaseInProgress).Result()
ctxTimeout, cancel := context.WithTimeout(context.Background(), time.Second)
ctxTimeout, cancel := context.WithTimeout(t.Context(), time.Second)
tests := []struct {
name string
@@ -322,21 +322,21 @@ func TestRunCancelableDataPath(t *testing.T) {
},
{
name: "create data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{duInProgress},
dataPathMgr: datapath.NewManager(0),
expectedErr: "error to create data path: Concurrent number exceeds",
},
{
name: "init data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{duInProgress},
initErr: errors.New("fake-init-error"),
expectedErr: "error to initialize data path: fake-init-error",
},
{
name: "start data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{duInProgress},
startErr: errors.New("fake-start-error"),
expectedErr: "error starting data path backup: fake-start-error",
@@ -351,7 +351,7 @@ func TestRunCancelableDataPath(t *testing.T) {
},
{
name: "data path returns error",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{duInProgress},
dataPathStarted: true,
result: &dataPathResult{
@@ -362,7 +362,7 @@ func TestRunCancelableDataPath(t *testing.T) {
},
{
name: "succeed",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{duInProgress},
dataPathStarted: true,
result: &dataPathResult{
@@ -387,7 +387,7 @@ func TestRunCancelableDataPath(t *testing.T) {
bs := &BackupMicroService{
namespace: velerov1api.DefaultNamespace,
dataUploadName: dataUploadName,
ctx: context.Background(),
ctx: t.Context(),
client: fakeClient,
dataPathMgr: datapath.NewManager(1),
eventRecorder: bt,
+11 -11
View File
@@ -58,7 +58,7 @@ func TestOnDataDownloadFailed(t *testing.T) {
expectedEventReason := datapath.EventReasonFailed
expectedEventMsg := "Data path for data download fake-data-download failed, error fake-error"
go bs.OnDataDownloadFailed(context.TODO(), velerov1api.DefaultNamespace, dataDownloadName, errors.New("fake-error"))
go bs.OnDataDownloadFailed(t.Context(), velerov1api.DefaultNamespace, dataDownloadName, errors.New("fake-error"))
result := <-bs.resultSignal
require.EqualError(t, result.err, expectedErr)
@@ -82,7 +82,7 @@ func TestOnDataDownloadCancelled(t *testing.T) {
expectedEventReason := datapath.EventReasonCancelled
expectedEventMsg := "Data path for data download fake-data-download canceled"
go bs.OnDataDownloadCancelled(context.TODO(), velerov1api.DefaultNamespace, dataDownloadName)
go bs.OnDataDownloadCancelled(t.Context(), velerov1api.DefaultNamespace, dataDownloadName)
result := <-bs.resultSignal
require.EqualError(t, result.err, expectedErr)
@@ -130,7 +130,7 @@ func TestOnDataDownloadCompleted(t *testing.T) {
funcMarshal = bt.Marshal
go bs.OnDataDownloadCompleted(context.TODO(), velerov1api.DefaultNamespace, dataDownloadName, datapath.Result{})
go bs.OnDataDownloadCompleted(t.Context(), velerov1api.DefaultNamespace, dataDownloadName, datapath.Result{})
result := <-bs.resultSignal
if test.marshalErr != nil {
@@ -181,7 +181,7 @@ func TestOnDataDownloadProgress(t *testing.T) {
funcMarshal = bt.Marshal
bs.OnDataDownloadProgress(context.TODO(), velerov1api.DefaultNamespace, dataDownloadName, &uploader.Progress{})
bs.OnDataDownloadProgress(t.Context(), velerov1api.DefaultNamespace, dataDownloadName, &uploader.Progress{})
if test.marshalErr != nil {
assert.False(t, bt.withEvent)
@@ -239,7 +239,7 @@ func TestRunCancelableRestore(t *testing.T) {
dataDownloadName := "fake-data-download"
dd := builder.ForDataDownload(velerov1api.DefaultNamespace, dataDownloadName).Phase(velerov2alpha1api.DataDownloadPhaseNew).Result()
ddInProgress := builder.ForDataDownload(velerov1api.DefaultNamespace, dataDownloadName).Phase(velerov2alpha1api.DataDownloadPhaseInProgress).Result()
ctxTimeout, cancel := context.WithTimeout(context.Background(), time.Second)
ctxTimeout, cancel := context.WithTimeout(t.Context(), time.Second)
tests := []struct {
name string
@@ -266,21 +266,21 @@ func TestRunCancelableRestore(t *testing.T) {
},
{
name: "create data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{ddInProgress},
dataPathMgr: datapath.NewManager(0),
expectedErr: "error to create data path: Concurrent number exceeds",
},
{
name: "init data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{ddInProgress},
initErr: errors.New("fake-init-error"),
expectedErr: "error to initialize data path: fake-init-error",
},
{
name: "start data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{ddInProgress},
startErr: errors.New("fake-start-error"),
expectedErr: "error starting data path restore: fake-start-error",
@@ -295,7 +295,7 @@ func TestRunCancelableRestore(t *testing.T) {
},
{
name: "data path returns error",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{ddInProgress},
dataPathStarted: true,
result: &dataPathResult{
@@ -306,7 +306,7 @@ func TestRunCancelableRestore(t *testing.T) {
},
{
name: "succeed",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{ddInProgress},
dataPathStarted: true,
result: &dataPathResult{
@@ -331,7 +331,7 @@ func TestRunCancelableRestore(t *testing.T) {
rs := &RestoreMicroService{
namespace: velerov1api.DefaultNamespace,
dataDownloadName: dataDownloadName,
ctx: context.Background(),
ctx: t.Context(),
client: fakeClient,
dataPathMgr: datapath.NewManager(1),
eventRecorder: bt,
+7 -8
View File
@@ -17,7 +17,6 @@ limitations under the License.
package datapath
import (
"context"
"testing"
"github.com/stretchr/testify/assert"
@@ -27,13 +26,13 @@ import (
func TestCreateFileSystemBR(t *testing.T) {
m := NewManager(2)
async_job_1, err := m.CreateFileSystemBR("job-1", "test", context.TODO(), nil, "velero", Callbacks{}, nil)
async_job_1, err := m.CreateFileSystemBR("job-1", "test", t.Context(), nil, "velero", Callbacks{}, nil)
require.NoError(t, err)
_, err = m.CreateFileSystemBR("job-2", "test", context.TODO(), nil, "velero", Callbacks{}, nil)
_, err = m.CreateFileSystemBR("job-2", "test", t.Context(), nil, "velero", Callbacks{}, nil)
require.NoError(t, err)
_, err = m.CreateFileSystemBR("job-3", "test", context.TODO(), nil, "velero", Callbacks{}, nil)
_, err = m.CreateFileSystemBR("job-3", "test", t.Context(), nil, "velero", Callbacks{}, nil)
assert.Equal(t, ConcurrentLimitExceed, err)
ret := m.GetAsyncBR("job-0")
@@ -55,16 +54,16 @@ func TestCreateFileSystemBR(t *testing.T) {
func TestCreateMicroServiceBRWatcher(t *testing.T) {
m := NewManager(2)
async_job_1, err := m.CreateMicroServiceBRWatcher(context.TODO(), nil, nil, nil, "test", "job-1", "velero", "pod-1", "container", "du-1", Callbacks{}, false, nil)
async_job_1, err := m.CreateMicroServiceBRWatcher(t.Context(), nil, nil, nil, "test", "job-1", "velero", "pod-1", "container", "du-1", Callbacks{}, false, nil)
require.NoError(t, err)
_, err = m.CreateMicroServiceBRWatcher(context.TODO(), nil, nil, nil, "test", "job-2", "velero", "pod-2", "container", "du-2", Callbacks{}, false, nil)
_, err = m.CreateMicroServiceBRWatcher(t.Context(), nil, nil, nil, "test", "job-2", "velero", "pod-2", "container", "du-2", Callbacks{}, false, nil)
require.NoError(t, err)
_, err = m.CreateMicroServiceBRWatcher(context.TODO(), nil, nil, nil, "test", "job-3", "velero", "pod-3", "container", "du-3", Callbacks{}, false, nil)
_, err = m.CreateMicroServiceBRWatcher(t.Context(), nil, nil, nil, "test", "job-3", "velero", "pod-3", "container", "du-3", Callbacks{}, false, nil)
assert.Equal(t, ConcurrentLimitExceed, err)
async_job_4, err := m.CreateMicroServiceBRWatcher(context.TODO(), nil, nil, nil, "test", "job-4", "velero", "pod-4", "container", "du-4", Callbacks{}, true, nil)
async_job_4, err := m.CreateMicroServiceBRWatcher(t.Context(), nil, nil, nil, "test", "job-4", "velero", "pod-4", "container", "du-4", Callbacks{}, true, nil)
require.NoError(t, err)
ret := m.GetAsyncBR("job-0")
+3 -3
View File
@@ -101,7 +101,7 @@ func TestReEnsureThisPod(t *testing.T) {
log: velerotest.NewLogger(),
}
err := ms.reEnsureThisPod(context.Background())
err := ms.reEnsureThisPod(t.Context())
if test.expectErr != "" {
assert.EqualError(t, err, test.expectErr)
} else {
@@ -374,7 +374,7 @@ func TestStartWatch(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
ctx, cancel := context.WithCancel(t.Context())
eventWaitTimeout = time.Second * 5
sw := startWatchFake{
@@ -615,7 +615,7 @@ func TestRedirectDataMoverLogs(t *testing.T) {
fakeKubeClient := kubeclientfake.NewSimpleClientset()
err = redirectDataMoverLogs(context.Background(), fakeKubeClient, "", test.thisPod, "", test.logger)
err = redirectDataMoverLogs(t.Context(), fakeKubeClient, "", test.thisPod, "", test.logger)
if test.expectErr != "" {
assert.EqualError(t, err, test.expectErr)
} else {
+3 -3
View File
@@ -83,14 +83,14 @@ func TestSortResources(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
t.Logf("before")
t.Log("before")
for _, r := range test.resources {
t.Logf(r.GroupVersion)
t.Log(r.GroupVersion)
}
sortResources(test.resources)
t.Logf("after")
for _, r := range test.resources {
t.Logf(r.GroupVersion)
t.Log(r.GroupVersion)
}
assert.Equal(t, test.expected, test.resources)
})
+9 -10
View File
@@ -17,7 +17,6 @@ limitations under the License.
package exposer
import (
"context"
"fmt"
"testing"
"time"
@@ -630,20 +629,20 @@ func TestExpose(t *testing.T) {
}
}
err := exposer.Expose(context.Background(), ownerObject, &test.exposeParam)
err := exposer.Expose(t.Context(), ownerObject, &test.exposeParam)
if err == nil {
require.NoError(t, err)
backupPod, err := exposer.kubeClient.CoreV1().Pods(ownerObject.Namespace).Get(context.Background(), ownerObject.Name, metav1.GetOptions{})
backupPod, err := exposer.kubeClient.CoreV1().Pods(ownerObject.Namespace).Get(t.Context(), ownerObject.Name, metav1.GetOptions{})
require.NoError(t, err)
backupPVC, err := exposer.kubeClient.CoreV1().PersistentVolumeClaims(ownerObject.Namespace).Get(context.Background(), ownerObject.Name, metav1.GetOptions{})
backupPVC, err := exposer.kubeClient.CoreV1().PersistentVolumeClaims(ownerObject.Namespace).Get(t.Context(), ownerObject.Name, metav1.GetOptions{})
require.NoError(t, err)
expectedVS, err := exposer.csiSnapshotClient.VolumeSnapshots(ownerObject.Namespace).Get(context.Background(), ownerObject.Name, metav1.GetOptions{})
expectedVS, err := exposer.csiSnapshotClient.VolumeSnapshots(ownerObject.Namespace).Get(t.Context(), ownerObject.Name, metav1.GetOptions{})
require.NoError(t, err)
expectedVSC, err := exposer.csiSnapshotClient.VolumeSnapshotContents().Get(context.Background(), ownerObject.Name, metav1.GetOptions{})
expectedVSC, err := exposer.csiSnapshotClient.VolumeSnapshotContents().Get(t.Context(), ownerObject.Name, metav1.GetOptions{})
require.NoError(t, err)
assert.Equal(t, expectedVS.Annotations, vsObject.Annotations)
@@ -844,7 +843,7 @@ func TestGetExpose(t *testing.T) {
test.exposeWaitParam.NodeClient = fakeClient
result, err := exposer.GetExposed(context.Background(), ownerObject, test.Timeout, &test.exposeWaitParam)
result, err := exposer.GetExposed(t.Context(), ownerObject, test.Timeout, &test.exposeWaitParam)
if test.err == "" {
require.NoError(t, err)
@@ -942,7 +941,7 @@ func TestPeekExpose(t *testing.T) {
}
}
err := exposer.PeekExposed(context.Background(), ownerObject)
err := exposer.PeekExposed(t.Context(), ownerObject)
if test.err == "" {
assert.NoError(t, err)
} else {
@@ -1087,7 +1086,7 @@ func Test_csiSnapshotExposer_createBackupPVC(t *testing.T) {
APIVersion: tt.ownerBackup.APIVersion,
}
}
got, err := e.createBackupPVC(context.Background(), ownerObject, tt.backupVS, tt.storageClass, tt.accessMode, tt.resource, tt.readOnly)
got, err := e.createBackupPVC(t.Context(), ownerObject, tt.backupVS, tt.storageClass, tt.accessMode, tt.resource, tt.readOnly)
if !tt.wantErr(t, err, fmt.Sprintf("createBackupPVC(%v, %v, %v, %v, %v, %v)", ownerObject, tt.backupVS, tt.storageClass, tt.accessMode, tt.resource, tt.readOnly)) {
return
}
@@ -1481,7 +1480,7 @@ end diagnose CSI exposer`,
}
}
diag := e.DiagnoseExpose(context.Background(), ownerObject)
diag := e.DiagnoseExpose(t.Context(), ownerObject)
assert.Equal(t, tt.expected, diag)
})
}
+5 -6
View File
@@ -17,7 +17,6 @@ limitations under the License.
package exposer
import (
"context"
"testing"
"time"
@@ -195,7 +194,7 @@ func TestRestoreExpose(t *testing.T) {
}
err := exposer.Expose(
context.Background(),
t.Context(),
ownerObject,
GenericRestoreExposeParam{
TargetPVCName: test.targetPVCName,
@@ -440,7 +439,7 @@ func TestRebindVolume(t *testing.T) {
hookCount = 0
err := exposer.RebindVolume(context.Background(), ownerObject, test.targetPVCName, test.targetNamespace, time.Millisecond)
err := exposer.RebindVolume(t.Context(), ownerObject, test.targetPVCName, test.targetNamespace, time.Millisecond)
assert.EqualError(t, err, test.err)
})
}
@@ -523,7 +522,7 @@ func TestRestorePeekExpose(t *testing.T) {
}
}
err := exposer.PeekExposed(context.Background(), ownerObject)
err := exposer.PeekExposed(t.Context(), ownerObject)
if test.err == "" {
assert.NoError(t, err)
} else {
@@ -782,7 +781,7 @@ end diagnose restore exposer`,
}
}
diag := e.DiagnoseExpose(context.Background(), ownerObject)
diag := e.DiagnoseExpose(t.Context(), ownerObject)
assert.Equal(t, test.expected, diag)
})
}
@@ -901,7 +900,7 @@ func TestCreateRestorePod(t *testing.T) {
}
pod, err := exposer.createRestorePod(
context.Background(),
t.Context(),
corev1api.ObjectReference{
Namespace: velerov1.DefaultNamespace,
Name: "data-download",
+2 -2
View File
@@ -99,7 +99,7 @@ func TestGetPodVolumeHostPath(t *testing.T) {
singlePathMatch = test.pathMatchFunc
}
_, err := GetPodVolumeHostPath(context.Background(), test.pod, test.pvc, nil, nil, velerotest.NewLogger())
_, err := GetPodVolumeHostPath(t.Context(), test.pod, test.pvc, nil, nil, velerotest.NewLogger())
if test.err != "" || err != nil {
assert.EqualError(t, err, test.err)
}
@@ -150,7 +150,7 @@ func TestExtractPodVolumeHostPath(t *testing.T) {
getHostPodPath = test.getHostPodPathFunc
}
path, err := ExtractPodVolumeHostPath(context.Background(), test.path, nil, "", test.osType)
path, err := ExtractPodVolumeHostPath(t.Context(), test.path, nil, "", test.osType)
if test.expectedErr != "" {
assert.EqualError(t, err, test.expectedErr)
+1 -2
View File
@@ -17,7 +17,6 @@ limitations under the License.
package exposer
import (
"context"
"reflect"
"testing"
@@ -325,7 +324,7 @@ func TestGetInheritedPodInfo(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
fakeKubeClient := fake.NewSimpleClientset(test.kubeClientObj...)
info, err := getInheritedPodInfo(context.Background(), fakeKubeClient, test.namespace, kube.NodeOSLinux)
info, err := getInheritedPodInfo(t.Context(), fakeKubeClient, test.namespace, kube.NodeOSLinux)
if test.expectErr == "" {
require.NoError(t, err)
+5 -5
View File
@@ -220,11 +220,11 @@ func TestPodVolumeExpose(t *testing.T) {
extractPodVolumeHostPath = test.funcExtractPodVolumeHostPath
}
err := exposer.Expose(context.Background(), ownerObject, test.exposeParam)
err := exposer.Expose(t.Context(), ownerObject, test.exposeParam)
if err == nil {
require.NoError(t, err)
_, err = exposer.kubeClient.CoreV1().Pods(ownerObject.Namespace).Get(context.Background(), ownerObject.Name, metav1.GetOptions{})
_, err = exposer.kubeClient.CoreV1().Pods(ownerObject.Namespace).Get(t.Context(), ownerObject.Name, metav1.GetOptions{})
assert.NoError(t, err)
} else {
assert.EqualError(t, err, test.err)
@@ -318,7 +318,7 @@ func TestGetPodVolumeExpose(t *testing.T) {
}
}
result, err := exposer.GetExposed(context.Background(), ownerObject, fakeClient, test.nodeName, test.Timeout)
result, err := exposer.GetExposed(t.Context(), ownerObject, fakeClient, test.nodeName, test.Timeout)
if test.err == "" {
require.NoError(t, err)
@@ -416,7 +416,7 @@ func TestPodVolumePeekExpose(t *testing.T) {
}
}
err := exposer.PeekExposed(context.Background(), ownerObject)
err := exposer.PeekExposed(t.Context(), ownerObject)
if test.err == "" {
assert.NoError(t, err)
} else {
@@ -585,7 +585,7 @@ end diagnose pod volume exposer`,
}
}
diag := e.DiagnoseExpose(context.Background(), ownerObject)
diag := e.DiagnoseExpose(t.Context(), ownerObject)
assert.Equal(t, tt.expected, diag)
})
}
+1 -2
View File
@@ -1,7 +1,6 @@
package exposer
import (
"context"
"testing"
"github.com/stretchr/testify/assert"
@@ -151,7 +150,7 @@ func TestIsConstrained(t *testing.T) {
test.counter.client = fake.NewClientBuilder().WithScheme(scheme).WithObjects(test.kubeClientObj...).Build()
result := test.counter.IsConstrained(context.TODO(), velerotest.NewLogger())
result := test.counter.IsConstrained(t.Context(), velerotest.NewLogger())
assert.Equal(t, test.expected, result)
+5 -3
View File
@@ -18,6 +18,7 @@ package install
import (
"fmt"
"path/filepath"
"strings"
appsv1api "k8s.io/api/apps/v1"
@@ -63,7 +64,8 @@ func DaemonSet(namespace string, opts ...podTemplateOption) *appsv1api.DaemonSet
if c.forWindows {
dsName = "node-agent-windows"
}
hostPodsVolumePath := filepath.Join(c.kubeletRootDir, "pods")
hostPluginsVolumePath := filepath.Join(c.kubeletRootDir, "plugins")
volumes := []corev1api.Volume{}
volumeMounts := []corev1api.VolumeMount{}
if !c.nodeAgentDisableHostPath {
@@ -72,7 +74,7 @@ func DaemonSet(namespace string, opts ...podTemplateOption) *appsv1api.DaemonSet
Name: "host-pods",
VolumeSource: corev1api.VolumeSource{
HostPath: &corev1api.HostPathVolumeSource{
Path: "/var/lib/kubelet/pods",
Path: hostPodsVolumePath,
},
},
},
@@ -80,7 +82,7 @@ func DaemonSet(namespace string, opts ...podTemplateOption) *appsv1api.DaemonSet
Name: "host-plugins",
VolumeSource: corev1api.VolumeSource{
HostPath: &corev1api.HostPathVolumeSource{
Path: "/var/lib/kubelet/plugins",
Path: hostPluginsVolumePath,
},
},
},
+4
View File
@@ -63,6 +63,10 @@ func TestDaemonSet(t *testing.T) {
ds = DaemonSet("velero", WithServiceAccountName("test-sa"))
assert.Equal(t, "test-sa", ds.Spec.Template.Spec.ServiceAccountName)
ds = DaemonSet("velero", WithKubeletRootDir("/data/test/kubelet"))
assert.Equal(t, "/data/test/kubelet/pods", ds.Spec.Template.Spec.Volumes[0].HostPath.Path)
assert.Equal(t, "/data/test/kubelet/plugins", ds.Spec.Template.Spec.Volumes[1].HostPath.Path)
ds = DaemonSet("velero", WithNodeAgentDisableHostPath(true))
assert.Len(t, ds.Spec.Template.Spec.Volumes, 1)
assert.Len(t, ds.Spec.Template.Spec.Containers[0].VolumeMounts, 1)
+7
View File
@@ -60,6 +60,7 @@ type podTemplateConfig struct {
nodeAgentConfigMap string
itemBlockWorkerCount int
forWindows bool
kubeletRootDir string
nodeAgentDisableHostPath bool
}
@@ -228,6 +229,12 @@ func WithForWindows() podTemplateOption {
}
}
func WithKubeletRootDir(kubeletRootDir string) podTemplateOption {
return func(c *podTemplateConfig) {
c.kubeletRootDir = kubeletRootDir
}
}
func WithNodeAgentDisableHostPath(disable bool) podTemplateOption {
return func(c *podTemplateConfig) {
c.nodeAgentDisableHostPath = disable
+7
View File
@@ -54,6 +54,8 @@ var (
DefaultNodeAgentPodMemLimit = "0"
DefaultVeleroNamespace = "velero"
DefaultKubeletRootDir = "/var/lib/kubelet"
)
func Labels() map[string]string {
@@ -269,6 +271,7 @@ type VeleroOptions struct {
RepoMaintenanceJobConfigMap string
NodeAgentConfigMap string
ItemBlockWorkerCount int
KubeletRootDir string
NodeAgentDisableHostPath bool
}
@@ -417,6 +420,10 @@ func AllResources(o *VeleroOptions) *unstructured.UnstructuredList {
dsOpts = append(dsOpts, WithNodeAgentConfigMap(o.NodeAgentConfigMap))
}
if len(o.KubeletRootDir) > 0 {
dsOpts = append(dsOpts, WithKubeletRootDir(o.KubeletRootDir))
}
if o.UseNodeAgent {
ds := DaemonSet(o.Namespace, dsOpts...)
if err := appendUnstructured(resources, ds); err != nil {
+5 -6
View File
@@ -17,7 +17,6 @@ limitations under the License.
package actions
import (
"context"
"fmt"
"testing"
@@ -162,15 +161,15 @@ func TestBackupPVAction(t *testing.T) {
a := i.(*PVCAction)
if tc.pvc != nil {
require.NoError(t, crClient.Create(context.Background(), tc.pvc))
require.NoError(t, crClient.Create(t.Context(), tc.pvc))
}
for _, pod := range tc.pods {
require.NoError(t, crClient.Create(context.Background(), pod))
require.NoError(t, crClient.Create(t.Context(), pod))
}
if tc.name == "Test with PVC grouping via VGS label" {
groupedPVC := builder.ForPersistentVolumeClaim("velero", "groupedPVC").ObjectMeta(builder.WithLabels("velero.io/group", "db")).VolumeName("groupedPV").Phase(corev1api.ClaimBound).Result()
require.NoError(t, crClient.Create(context.Background(), groupedPVC))
require.NoError(t, crClient.Create(t.Context(), groupedPVC))
backup.Spec.VolumeGroupSnapshotLabelKey = "velero.io/group"
}
@@ -252,7 +251,7 @@ func Test_getGroupedPVCs(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
crClient := velerotest.NewFakeControllerRuntimeClient(t)
for _, pvc := range tc.existingPVCs {
require.NoError(t, crClient.Create(context.Background(), pvc))
require.NoError(t, crClient.Create(t.Context(), pvc))
}
logger := logrus.New()
@@ -263,7 +262,7 @@ func Test_getGroupedPVCs(t *testing.T) {
backup := builder.ForBackup("ns", "bkp").VolumeGroupSnapshotLabelKey(tc.labelKey).Result()
related, err := a.getGroupedPVCs(context.Background(), tc.targetPVC, backup)
related, err := a.getGroupedPVCs(t.Context(), tc.targetPVC, backup)
if tc.expectError {
require.Error(t, err)
} else {
+8 -9
View File
@@ -17,7 +17,6 @@ limitations under the License.
package nodeagent
import (
"context"
"testing"
"github.com/pkg/errors"
@@ -95,7 +94,7 @@ func TestIsRunning(t *testing.T) {
fakeKubeClient.Fake.PrependReactor(reactor.verb, reactor.resource, reactor.reactorFunc)
}
err := isRunning(context.TODO(), fakeKubeClient, test.namespace, daemonSet)
err := isRunning(t.Context(), fakeKubeClient, test.namespace, daemonSet)
if test.expectErr == "" {
assert.NoError(t, err)
} else {
@@ -175,7 +174,7 @@ func TestIsRunningInNode(t *testing.T) {
fakeClient := fakeClientBuilder.WithRuntimeObjects(test.kubeClientObj...).Build()
err := IsRunningInNode(context.TODO(), "", test.nodeName, fakeClient)
err := IsRunningInNode(t.Context(), "", test.nodeName, fakeClient)
if test.expectErr == "" {
assert.NoError(t, err)
} else {
@@ -231,7 +230,7 @@ func TestGetPodSpec(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
fakeKubeClient := fake.NewSimpleClientset(test.kubeClientObj...)
spec, err := GetPodSpec(context.TODO(), fakeKubeClient, test.namespace, kube.NodeOSLinux)
spec, err := GetPodSpec(t.Context(), fakeKubeClient, test.namespace, kube.NodeOSLinux)
if test.expectErr == "" {
require.NoError(t, err)
assert.Equal(t, *spec, test.expectSpec)
@@ -316,7 +315,7 @@ func TestGetConfigs(t *testing.T) {
fakeKubeClient.Fake.PrependReactor(reactor.verb, reactor.resource, reactor.reactorFunc)
}
result, err := GetConfigs(context.TODO(), test.namespace, fakeKubeClient, "node-agent-config")
result, err := GetConfigs(t.Context(), test.namespace, fakeKubeClient, "node-agent-config")
if test.expectErr == "" {
require.NoError(t, err)
@@ -452,7 +451,7 @@ func TestGetLabelValue(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
fakeKubeClient := fake.NewSimpleClientset(test.kubeClientObj...)
value, err := GetLabelValue(context.TODO(), fakeKubeClient, test.namespace, "fake-label", kube.NodeOSLinux)
value, err := GetLabelValue(t.Context(), fakeKubeClient, test.namespace, "fake-label", kube.NodeOSLinux)
if test.expectErr == "" {
require.NoError(t, err)
assert.Equal(t, test.expectedValue, value)
@@ -581,7 +580,7 @@ func TestGetAnnotationValue(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
fakeKubeClient := fake.NewSimpleClientset(test.kubeClientObj...)
value, err := GetAnnotationValue(context.TODO(), fakeKubeClient, test.namespace, "fake-annotation", kube.NodeOSLinux)
value, err := GetAnnotationValue(t.Context(), fakeKubeClient, test.namespace, "fake-annotation", kube.NodeOSLinux)
if test.expectErr == "" {
require.NoError(t, err)
assert.Equal(t, test.expectedValue, value)
@@ -691,7 +690,7 @@ func TestGetToleration(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
fakeKubeClient := fake.NewSimpleClientset(test.kubeClientObj...)
value, err := GetToleration(context.TODO(), fakeKubeClient, test.namespace, "fake-toleration", kube.NodeOSLinux)
value, err := GetToleration(t.Context(), fakeKubeClient, test.namespace, "fake-toleration", kube.NodeOSLinux)
if test.expectErr == "" {
require.NoError(t, err)
assert.Equal(t, test.expectedValue, *value)
@@ -851,7 +850,7 @@ func TestGetHostPodPath(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
fakeKubeClient := fake.NewSimpleClientset(test.kubeClientObj...)
path, err := GetHostPodPath(context.TODO(), fakeKubeClient, test.namespace, test.osType)
path, err := GetHostPodPath(t.Context(), fakeKubeClient, test.namespace, test.osType)
if test.expectErr == "" {
require.NoError(t, err)
@@ -23,7 +23,6 @@ import (
"github.com/pkg/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/net/context"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
@@ -167,7 +166,7 @@ func TestBackupItemActionGRPCServerExecute(t *testing.T) {
Backup: test.backup,
}
resp, err := s.Execute(context.Background(), req)
resp, err := s.Execute(t.Context(), req)
// Verify error
assert.Equal(t, test.expectError, err != nil)
@@ -23,7 +23,6 @@ import (
"github.com/pkg/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/net/context"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
@@ -170,7 +169,7 @@ func TestBackupItemActionGRPCServerExecute(t *testing.T) {
Backup: test.backup,
}
resp, err := s.Execute(context.Background(), req)
resp, err := s.Execute(t.Context(), req)
// Verify error
assert.Equal(t, test.expectError, err != nil)
@@ -23,7 +23,6 @@ import (
"github.com/pkg/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/net/context"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime/schema"
@@ -143,7 +142,7 @@ func TestItemBlockActionGRPCServerGetRelatedItems(t *testing.T) {
Backup: test.backup,
}
resp, err := s.GetRelatedItems(context.Background(), req)
resp, err := s.GetRelatedItems(t.Context(), req)
// Verify error
assert.Equal(t, test.expectError, err != nil)
+11 -11
View File
@@ -111,7 +111,7 @@ func TestOnDataPathFailed(t *testing.T) {
expectedEventReason := datapath.EventReasonFailed
expectedEventMsg := "Data path for PVB fake-pvb failed, error fake-error"
go bs.OnDataPathFailed(context.TODO(), velerov1api.DefaultNamespace, pvbName, errors.New("fake-error"))
go bs.OnDataPathFailed(t.Context(), velerov1api.DefaultNamespace, pvbName, errors.New("fake-error"))
result := <-bs.resultSignal
require.EqualError(t, result.err, expectedErr)
@@ -135,7 +135,7 @@ func TestOnDataPathCancelled(t *testing.T) {
expectedEventReason := datapath.EventReasonCancelled
expectedEventMsg := "Data path for PVB fake-pvb canceled"
go bs.OnDataPathCancelled(context.TODO(), velerov1api.DefaultNamespace, pvbName)
go bs.OnDataPathCancelled(t.Context(), velerov1api.DefaultNamespace, pvbName)
result := <-bs.resultSignal
require.EqualError(t, result.err, expectedErr)
@@ -183,7 +183,7 @@ func TestOnDataPathCompleted(t *testing.T) {
funcMarshal = bt.Marshal
go bs.OnDataPathCompleted(context.TODO(), velerov1api.DefaultNamespace, pvbName, datapath.Result{})
go bs.OnDataPathCompleted(t.Context(), velerov1api.DefaultNamespace, pvbName, datapath.Result{})
result := <-bs.resultSignal
if test.marshalErr != nil {
@@ -236,7 +236,7 @@ func TestOnDataPathProgress(t *testing.T) {
funcMarshal = bt.Marshal
bs.OnDataPathProgress(context.TODO(), velerov1api.DefaultNamespace, pvbName, &uploader.Progress{})
bs.OnDataPathProgress(t.Context(), velerov1api.DefaultNamespace, pvbName, &uploader.Progress{})
if test.marshalErr != nil {
assert.False(t, bt.withEvent)
@@ -294,7 +294,7 @@ func TestRunCancelableDataPath(t *testing.T) {
pvbName := "fake-pvb"
pvb := builder.ForPodVolumeBackup(velerov1api.DefaultNamespace, pvbName).Phase(velerov1api.PodVolumeBackupPhaseNew).Result()
pvbInProgress := builder.ForPodVolumeBackup(velerov1api.DefaultNamespace, pvbName).Phase(velerov1api.PodVolumeBackupPhaseInProgress).Result()
ctxTimeout, cancel := context.WithTimeout(context.Background(), time.Second)
ctxTimeout, cancel := context.WithTimeout(t.Context(), time.Second)
tests := []struct {
name string
@@ -321,21 +321,21 @@ func TestRunCancelableDataPath(t *testing.T) {
},
{
name: "create data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{pvbInProgress},
dataPathMgr: datapath.NewManager(0),
expectedErr: "error to create data path: Concurrent number exceeds",
},
{
name: "init data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{pvbInProgress},
initErr: errors.New("fake-init-error"),
expectedErr: "error to initialize data path: fake-init-error",
},
{
name: "start data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{pvbInProgress},
startErr: errors.New("fake-start-error"),
expectedErr: "error starting data path backup: fake-start-error",
@@ -350,7 +350,7 @@ func TestRunCancelableDataPath(t *testing.T) {
},
{
name: "data path returns error",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{pvbInProgress},
dataPathStarted: true,
result: &dataPathResult{
@@ -361,7 +361,7 @@ func TestRunCancelableDataPath(t *testing.T) {
},
{
name: "succeed",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{pvbInProgress},
dataPathStarted: true,
result: &dataPathResult{
@@ -386,7 +386,7 @@ func TestRunCancelableDataPath(t *testing.T) {
bs := &BackupMicroService{
namespace: velerov1api.DefaultNamespace,
pvbName: pvbName,
ctx: context.Background(),
ctx: t.Context(),
client: fakeClient,
dataPathMgr: datapath.NewManager(1),
eventRecorder: bt,
+8 -8
View File
@@ -190,7 +190,7 @@ func Test_backupper_BackupPodVolumes_log_test(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
b := &backupper{
ctx: context.Background(),
ctx: t.Context(),
}
logOutput := bytes.Buffer{}
var log = logrus.New()
@@ -546,7 +546,7 @@ func TestBackupPodVolumes(t *testing.T) {
// TODO add more verification around PVCBackupSummary returned by "BackupPodVolumes"
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.Background()
ctx := t.Context()
fakeClientBuilder := ctrlfake.NewClientBuilder()
if test.runtimeScheme != nil {
@@ -705,7 +705,7 @@ func (l *logHook) Fire(entry *logrus.Entry) error {
}
func TestWaitAllPodVolumesProcessed(t *testing.T) {
timeoutCtx, cancelFunc := context.WithCancel(context.Background())
timeoutCtx, cancelFunc := context.WithCancel(t.Context())
cancelFunc()
log := logrus.New()
pvb := builder.ForPodVolumeBackup(velerov1api.DefaultNamespace, "pvb").
@@ -730,7 +730,7 @@ func TestWaitAllPodVolumesProcessed(t *testing.T) {
},
{
name: "failed pvbs",
ctx: context.Background(),
ctx: t.Context(),
pvb: pvb,
statusToBeUpdated: &velerov1api.PodVolumeBackupStatus{
Phase: velerov1api.PodVolumeBackupPhaseFailed,
@@ -741,7 +741,7 @@ func TestWaitAllPodVolumesProcessed(t *testing.T) {
},
{
name: "completed pvbs",
ctx: context.Background(),
ctx: t.Context(),
pvb: pvb,
statusToBeUpdated: &velerov1api.PodVolumeBackupStatus{
Phase: velerov1api.PodVolumeBackupPhaseCompleted,
@@ -768,7 +768,7 @@ func TestWaitAllPodVolumesProcessed(t *testing.T) {
informer := cache.NewSharedIndexInformer(&lw, &velerov1api.PodVolumeBackup{}, 0, cache.Indexers{})
ctx := context.Background()
ctx := t.Context()
go informer.Run(ctx.Done())
require.True(t, cache.WaitForCacheSync(ctx.Done(), informer.HasSynced))
@@ -784,11 +784,11 @@ func TestWaitAllPodVolumesProcessed(t *testing.T) {
if c.statusToBeUpdated != nil {
pvb := &velerov1api.PodVolumeBackup{}
err := client.Get(context.Background(), ctrlclient.ObjectKey{Namespace: c.pvb.Namespace, Name: c.pvb.Name}, pvb)
err := client.Get(t.Context(), ctrlclient.ObjectKey{Namespace: c.pvb.Namespace, Name: c.pvb.Name}, pvb)
require.NoError(t, err)
pvb.Status = *c.statusToBeUpdated
err = client.Update(context.Background(), pvb)
err = client.Update(t.Context(), pvb)
require.NoError(t, err)
}
+1 -1
View File
@@ -247,7 +247,7 @@ func (r *RestoreMicroService) recordPvrFailed(msg string, err error) {
evtMsg := fmt.Sprintf("%s, error %v", msg, err)
r.eventRecorder.Event(r.pvr, false, datapath.EventReasonFailed, evtMsg)
r.resultSignal <- dataPathResult{
err: errors.Wrapf(err, msg),
err: errors.Wrap(err, msg),
}
}
+11 -11
View File
@@ -119,7 +119,7 @@ func TestOnPvrFailed(t *testing.T) {
expectedEventReason := datapath.EventReasonFailed
expectedEventMsg := "Data path for PVR fake-pvr failed, error fake-error"
go rs.OnPvrFailed(context.TODO(), velerov1api.DefaultNamespace, pvrName, errors.New("fake-error"))
go rs.OnPvrFailed(t.Context(), velerov1api.DefaultNamespace, pvrName, errors.New("fake-error"))
result := <-rs.resultSignal
require.EqualError(t, result.err, expectedErr)
@@ -143,7 +143,7 @@ func TestPvrCancelled(t *testing.T) {
expectedEventReason := datapath.EventReasonCancelled
expectedEventMsg := "Data path for PVR fake-pvr canceled"
go rs.OnPvrCancelled(context.TODO(), velerov1api.DefaultNamespace, pvrName)
go rs.OnPvrCancelled(t.Context(), velerov1api.DefaultNamespace, pvrName)
result := <-rs.resultSignal
require.EqualError(t, result.err, expectedErr)
@@ -205,7 +205,7 @@ func TestOnPvrCompleted(t *testing.T) {
funcMarshal = rt.Marshal
funcWriteCompletionMark = rt.WriteCompletionMark
go rs.OnPvrCompleted(context.TODO(), velerov1api.DefaultNamespace, pvrName, datapath.Result{})
go rs.OnPvrCompleted(t.Context(), velerov1api.DefaultNamespace, pvrName, datapath.Result{})
result := <-rs.resultSignal
if test.marshalErr != nil {
@@ -262,7 +262,7 @@ func TestOnPvrProgress(t *testing.T) {
funcMarshal = rt.Marshal
rs.OnPvrProgress(context.TODO(), velerov1api.DefaultNamespace, pvrName, &uploader.Progress{})
rs.OnPvrProgress(t.Context(), velerov1api.DefaultNamespace, pvrName, &uploader.Progress{})
if test.marshalErr != nil {
assert.False(t, rt.withEvent)
@@ -320,7 +320,7 @@ func TestRunCancelableDataPathRestore(t *testing.T) {
pvrName := "fake-pvr"
pvr := builder.ForPodVolumeRestore(velerov1api.DefaultNamespace, pvrName).Phase(velerov1api.PodVolumeRestorePhaseNew).Result()
pvrInProgress := builder.ForPodVolumeRestore(velerov1api.DefaultNamespace, pvrName).Phase(velerov1api.PodVolumeRestorePhaseInProgress).Result()
ctxTimeout, cancel := context.WithTimeout(context.Background(), time.Second)
ctxTimeout, cancel := context.WithTimeout(t.Context(), time.Second)
tests := []struct {
name string
@@ -347,21 +347,21 @@ func TestRunCancelableDataPathRestore(t *testing.T) {
},
{
name: "create data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{pvrInProgress},
dataPathMgr: datapath.NewManager(0),
expectedErr: "error to create data path: Concurrent number exceeds",
},
{
name: "init data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{pvrInProgress},
initErr: errors.New("fake-init-error"),
expectedErr: "error to initialize data path: fake-init-error",
},
{
name: "start data path fail",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{pvrInProgress},
startErr: errors.New("fake-start-error"),
expectedErr: "error starting data path restore: fake-start-error",
@@ -376,7 +376,7 @@ func TestRunCancelableDataPathRestore(t *testing.T) {
},
{
name: "data path returns error",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{pvrInProgress},
dataPathStarted: true,
result: &dataPathResult{
@@ -387,7 +387,7 @@ func TestRunCancelableDataPathRestore(t *testing.T) {
},
{
name: "succeed",
ctx: context.Background(),
ctx: t.Context(),
kubeClientObj: []runtime.Object{pvrInProgress},
dataPathStarted: true,
result: &dataPathResult{
@@ -412,7 +412,7 @@ func TestRunCancelableDataPathRestore(t *testing.T) {
rs := &RestoreMicroService{
namespace: velerov1api.DefaultNamespace,
pvrName: pvrName,
ctx: context.Background(),
ctx: t.Context(),
client: fakeClient,
dataPathMgr: datapath.NewManager(1),
eventRecorder: rt,
+2 -2
View File
@@ -164,7 +164,7 @@ func TestRestorePodVolumes(t *testing.T) {
velerov1api.AddToScheme(scheme)
corev1api.AddToScheme(scheme)
ctxWithCancel, cancel := context.WithCancel(context.Background())
ctxWithCancel, cancel := context.WithCancel(t.Context())
defer cancel()
failedPVR := createPVRObj(true, 1)
@@ -364,7 +364,7 @@ func TestRestorePodVolumes(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
ctx := context.Background()
ctx := t.Context()
if test.ctx != nil {
ctx = test.ctx
}
+1 -2
View File
@@ -17,7 +17,6 @@ limitations under the License.
package repository
import (
"context"
"fmt"
"github.com/stretchr/testify/assert"
@@ -150,7 +149,7 @@ func TestGetBackupRepository(t *testing.T) {
})
fakeClient := clientBuilder.Build()
backupRepo, err := GetBackupRepository(context.Background(), fakeClient, velerov1api.DefaultNamespace, tc.backupRepositoryKey, tc.ensureReady)
backupRepo, err := GetBackupRepository(t.Context(), fakeClient, velerov1api.DefaultNamespace, tc.backupRepositoryKey, tc.ensureReady)
if backupRepo != nil && tc.expected != nil {
backupRepo.ResourceVersion = tc.expected.ResourceVersion
+2 -3
View File
@@ -17,7 +17,6 @@ limitations under the License.
package repository
import (
"context"
"testing"
"time"
@@ -127,7 +126,7 @@ func TestEnsureRepo(t *testing.T) {
ensurer := NewEnsurer(fakeClient, velerotest.NewLogger(), time.Millisecond)
repo, err := ensurer.EnsureRepo(context.Background(), velerov1.DefaultNamespace, test.namespace, test.bsl, test.repositoryType)
repo, err := ensurer.EnsureRepo(t.Context(), velerov1.DefaultNamespace, test.namespace, test.bsl, test.repositoryType)
if err != nil {
require.EqualError(t, err, test.err)
} else {
@@ -247,7 +246,7 @@ func TestCreateBackupRepositoryAndWait(t *testing.T) {
ensurer := NewEnsurer(fakeClient, velerotest.NewLogger(), time.Millisecond)
repo, err := ensurer.createBackupRepositoryAndWait(context.Background(), velerov1.DefaultNamespace, BackupRepositoryKey{
repo, err := ensurer.createBackupRepositoryAndWait(t.Context(), velerov1.DefaultNamespace, BackupRepositoryKey{
VolumeNamespace: test.namespace,
BackupLocation: test.bsl,
RepositoryType: test.repositoryType,
+11 -11
View File
@@ -122,7 +122,7 @@ func TestDeleteOldJobs(t *testing.T) {
// Get the remaining jobs
jobList := &batchv1api.JobList{}
err = cli.List(context.TODO(), jobList, client.MatchingLabels(map[string]string{RepositoryNameLabel: repo}))
err = cli.List(t.Context(), jobList, client.MatchingLabels(map[string]string{RepositoryNameLabel: repo}))
require.NoError(t, err)
// We expect the number of jobs to be equal to 'keep'
@@ -246,13 +246,13 @@ func TestWaitForJobComplete(t *testing.T) {
original := job.DeepCopy()
job.Status.Succeeded = 1
err := fakeClient.Status().Patch(context.Background(), job, client.MergeFrom(original))
err := fakeClient.Status().Patch(t.Context(), job, client.MergeFrom(original))
require.NoError(t, err)
}()
}
// Call the function
_, err := waitForJobComplete(context.Background(), fakeClient, job.Namespace, job.Name, logger)
_, err := waitForJobComplete(t.Context(), fakeClient, job.Namespace, job.Name, logger)
// Check if the error matches the expectation
if tc.expectError {
@@ -387,7 +387,7 @@ func TestGetResultFromJob(t *testing.T) {
}
func TestGetJobConfig(t *testing.T) {
ctx := context.Background()
ctx := t.Context()
logger := logrus.New()
veleroNamespace := "velero"
repoMaintenanceJobConfig := "repo-maintenance-job-config"
@@ -562,7 +562,7 @@ func TestGetJobConfig(t *testing.T) {
}
func TestWaitAllJobsComplete(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), time.Second*2)
ctx, cancel := context.WithTimeout(t.Context(), time.Second*2)
veleroNamespace := "velero"
repo := &velerov1api.BackupRepository{
@@ -719,7 +719,7 @@ func TestWaitAllJobsComplete(t *testing.T) {
},
{
name: "get result error on succeeded job",
ctx: context.TODO(),
ctx: t.Context(),
runtimeScheme: scheme,
kubeClientObj: []runtime.Object{
jobSucceeded1,
@@ -734,7 +734,7 @@ func TestWaitAllJobsComplete(t *testing.T) {
},
{
name: "get result error on failed job",
ctx: context.TODO(),
ctx: t.Context(),
runtimeScheme: scheme,
kubeClientObj: []runtime.Object{
jobFailed1,
@@ -749,7 +749,7 @@ func TestWaitAllJobsComplete(t *testing.T) {
},
{
name: "less than limit",
ctx: context.TODO(),
ctx: t.Context(),
runtimeScheme: scheme,
kubeClientObj: []runtime.Object{
jobFailed1,
@@ -772,7 +772,7 @@ func TestWaitAllJobsComplete(t *testing.T) {
},
{
name: "equal to limit",
ctx: context.TODO(),
ctx: t.Context(),
runtimeScheme: scheme,
kubeClientObj: []runtime.Object{
jobSucceeded2,
@@ -802,7 +802,7 @@ func TestWaitAllJobsComplete(t *testing.T) {
},
{
name: "more than limit",
ctx: context.TODO(),
ctx: t.Context(),
runtimeScheme: scheme,
kubeClientObj: []runtime.Object{
jobSucceeded3,
@@ -1076,7 +1076,7 @@ func TestBuildJob(t *testing.T) {
cli := fake.NewClientBuilder().WithScheme(scheme).WithRuntimeObjects(objs...).Build()
// Call the function to test
job, err := buildJob(cli, context.TODO(), param.BackupRepo, param.BackupLocation.Name, tc.m, *tc.m.PodResources, tc.logLevel, tc.logFormat)
job, err := buildJob(cli, t.Context(), param.BackupRepo, param.BackupLocation.Name, tc.m, *tc.m.PodResources, tc.logLevel, tc.logFormat)
// Check the error
if tc.expectedError {
+7 -7
View File
@@ -775,7 +775,7 @@ func TestPrepareRepo(t *testing.T) {
bsl.Spec.AccessMode = velerov1api.BackupStorageLocationAccessModeReadWrite
}
err := urp.PrepareRepo(context.Background(), RepoParam{
err := urp.PrepareRepo(t.Context(), RepoParam{
BackupLocation: &bsl,
BackupRepo: &velerov1api.BackupRepository{},
})
@@ -924,7 +924,7 @@ func TestForget(t *testing.T) {
backupRepo.On("Close", mock.Anything).Return(nil)
}
err := urp.Forget(context.Background(), "", RepoParam{
err := urp.Forget(t.Context(), "", RepoParam{
BackupLocation: &velerov1api.BackupStorageLocation{},
BackupRepo: &velerov1api.BackupRepository{},
})
@@ -1075,7 +1075,7 @@ func TestBatchForget(t *testing.T) {
backupRepo.On("Close", mock.Anything).Return(nil)
}
errs := urp.BatchForget(context.Background(), tc.snapshots, RepoParam{
errs := urp.BatchForget(t.Context(), tc.snapshots, RepoParam{
BackupLocation: &velerov1api.BackupStorageLocation{},
BackupRepo: &velerov1api.BackupRepository{},
})
@@ -1186,7 +1186,7 @@ func TestInitRepo(t *testing.T) {
bsl.Spec.AccessMode = velerov1api.BackupStorageLocationAccessModeReadWrite
}
err := urp.InitRepo(context.Background(), RepoParam{
err := urp.InitRepo(t.Context(), RepoParam{
BackupLocation: &bsl,
BackupRepo: &velerov1api.BackupRepository{},
})
@@ -1274,7 +1274,7 @@ func TestConnectToRepo(t *testing.T) {
tc.repoService.On("Init", mock.Anything, mock.Anything, mock.Anything).Return(tc.retFuncInit)
}
err := urp.ConnectToRepo(context.Background(), RepoParam{
err := urp.ConnectToRepo(t.Context(), RepoParam{
BackupLocation: &velerov1api.BackupStorageLocation{},
BackupRepo: &velerov1api.BackupRepository{},
})
@@ -1418,7 +1418,7 @@ func TestBoostRepoConnect(t *testing.T) {
backupRepo.On("Close", mock.Anything).Return(nil)
}
err := urp.BoostRepoConnect(context.Background(), RepoParam{
err := urp.BoostRepoConnect(t.Context(), RepoParam{
BackupLocation: &velerov1api.BackupStorageLocation{},
BackupRepo: &velerov1api.BackupRepository{},
})
@@ -1506,7 +1506,7 @@ func TestPruneRepo(t *testing.T) {
tc.repoService.On("Maintain", mock.Anything, mock.Anything).Return(tc.retFuncMaintain)
}
err := urp.PruneRepo(context.Background(), RepoParam{
err := urp.PruneRepo(t.Context(), RepoParam{
BackupLocation: &velerov1api.BackupStorageLocation{},
BackupRepo: &velerov1api.BackupRepository{},
})
@@ -17,7 +17,6 @@ limitations under the License.
package backend
import (
"context"
"testing"
velerotest "github.com/vmware-tanzu/velero/pkg/test"
@@ -43,7 +42,7 @@ func TestAzureSetup(t *testing.T) {
UploadBytesPerSecond: 200,
}
err := backend.Setup(context.Background(), flags, logger)
err := backend.Setup(t.Context(), flags, logger)
require.NoError(t, err)
assert.Equal(t, flags, backend.option.Config)
assert.Equal(t, limits, backend.option.Limits)
@@ -17,7 +17,6 @@ limitations under the License.
package backend
import (
"context"
"testing"
"time"
@@ -103,7 +102,7 @@ func TestSetupNewRepositoryOptions(t *testing.T) {
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
ret := SetupNewRepositoryOptions(context.Background(), tc.flags)
ret := SetupNewRepositoryOptions(t.Context(), tc.flags)
assert.Equal(t, tc.expected, ret)
})
}
@@ -193,7 +192,7 @@ func TestSetupConnectOptions(t *testing.T) {
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
ret := SetupConnectOptions(context.Background(), tc.repoOptions)
ret := SetupConnectOptions(t.Context(), tc.repoOptions)
assert.Equal(t, tc.expected, ret)
})
}
@@ -17,7 +17,6 @@ limitations under the License.
package backend
import (
"context"
"testing"
velerotest "github.com/vmware-tanzu/velero/pkg/test"
@@ -71,7 +70,7 @@ func TestFSSetup(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
fsFlags := FsBackend{}
err := fsFlags.Setup(context.Background(), tc.flags, logger)
err := fsFlags.Setup(t.Context(), tc.flags, logger)
if tc.expectedErr == "" {
require.NoError(t, err)
@@ -17,7 +17,6 @@ limitations under the License.
package backend
import (
"context"
"testing"
velerotest "github.com/vmware-tanzu/velero/pkg/test"
@@ -93,7 +92,7 @@ func TestGcsSetup(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
gcsFlags := GCSBackend{}
err := gcsFlags.Setup(context.Background(), tc.flags, logger)
err := gcsFlags.Setup(t.Context(), tc.flags, logger)
if tc.expectedErr == "" {
require.NoError(t, err)
@@ -1,4 +1,4 @@
// Code generated by mockery v2.22.1. DO NOT EDIT.
// Code generated by mockery v2.53.2. DO NOT EDIT.
package mocks
@@ -36,6 +36,10 @@ type DirectRepository struct {
func (_m *DirectRepository) AlsoLogToContentLog(ctx context.Context) context.Context {
ret := _m.Called(ctx)
if len(ret) == 0 {
panic("no return value specified for AlsoLogToContentLog")
}
var r0 context.Context
if rf, ok := ret.Get(0).(func(context.Context) context.Context); ok {
r0 = rf(ctx)
@@ -48,10 +52,14 @@ func (_m *DirectRepository) AlsoLogToContentLog(ctx context.Context) context.Con
return r0
}
// BlobReader provides a mock function with given fields:
// BlobReader provides a mock function with no fields
func (_m *DirectRepository) BlobReader() blob.Reader {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for BlobReader")
}
var r0 blob.Reader
if rf, ok := ret.Get(0).(func() blob.Reader); ok {
r0 = rf()
@@ -64,10 +72,14 @@ func (_m *DirectRepository) BlobReader() blob.Reader {
return r0
}
// BlobVolume provides a mock function with given fields:
// BlobVolume provides a mock function with no fields
func (_m *DirectRepository) BlobVolume() blob.Volume {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for BlobVolume")
}
var r0 blob.Volume
if rf, ok := ret.Get(0).(func() blob.Volume); ok {
r0 = rf()
@@ -80,10 +92,14 @@ func (_m *DirectRepository) BlobVolume() blob.Volume {
return r0
}
// ClientOptions provides a mock function with given fields:
// ClientOptions provides a mock function with no fields
func (_m *DirectRepository) ClientOptions() repo.ClientOptions {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for ClientOptions")
}
var r0 repo.ClientOptions
if rf, ok := ret.Get(0).(func() repo.ClientOptions); ok {
r0 = rf()
@@ -98,6 +114,10 @@ func (_m *DirectRepository) ClientOptions() repo.ClientOptions {
func (_m *DirectRepository) Close(ctx context.Context) error {
ret := _m.Called(ctx)
if len(ret) == 0 {
panic("no return value specified for Close")
}
var r0 error
if rf, ok := ret.Get(0).(func(context.Context) error); ok {
r0 = rf(ctx)
@@ -108,10 +128,14 @@ func (_m *DirectRepository) Close(ctx context.Context) error {
return r0
}
// ConfigFilename provides a mock function with given fields:
// ConfigFilename provides a mock function with no fields
func (_m *DirectRepository) ConfigFilename() string {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for ConfigFilename")
}
var r0 string
if rf, ok := ret.Get(0).(func() string); ok {
r0 = rf()
@@ -126,6 +150,10 @@ func (_m *DirectRepository) ConfigFilename() string {
func (_m *DirectRepository) ContentInfo(ctx context.Context, contentID index.ID) (index.Info, error) {
ret := _m.Called(ctx, contentID)
if len(ret) == 0 {
panic("no return value specified for ContentInfo")
}
var r0 index.Info
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, index.ID) (index.Info, error)); ok {
@@ -134,9 +162,7 @@ func (_m *DirectRepository) ContentInfo(ctx context.Context, contentID index.ID)
if rf, ok := ret.Get(0).(func(context.Context, index.ID) index.Info); ok {
r0 = rf(ctx, contentID)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(index.Info)
}
r0 = ret.Get(0).(index.Info)
}
if rf, ok := ret.Get(1).(func(context.Context, index.ID) error); ok {
@@ -148,10 +174,14 @@ func (_m *DirectRepository) ContentInfo(ctx context.Context, contentID index.ID)
return r0, r1
}
// ContentReader provides a mock function with given fields:
// ContentReader provides a mock function with no fields
func (_m *DirectRepository) ContentReader() content.Reader {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for ContentReader")
}
var r0 content.Reader
if rf, ok := ret.Get(0).(func() content.Reader); ok {
r0 = rf()
@@ -165,10 +195,18 @@ func (_m *DirectRepository) ContentReader() content.Reader {
}
// DeriveKey provides a mock function with given fields: purpose, keyLength
func (_m *DirectRepository) DeriveKey(purpose []byte, keyLength int) []byte {
func (_m *DirectRepository) DeriveKey(purpose []byte, keyLength int) ([]byte, error) {
ret := _m.Called(purpose, keyLength)
if len(ret) == 0 {
panic("no return value specified for DeriveKey")
}
var r0 []byte
var r1 error
if rf, ok := ret.Get(0).(func([]byte, int) ([]byte, error)); ok {
return rf(purpose, keyLength)
}
if rf, ok := ret.Get(0).(func([]byte, int) []byte); ok {
r0 = rf(purpose, keyLength)
} else {
@@ -177,10 +215,16 @@ func (_m *DirectRepository) DeriveKey(purpose []byte, keyLength int) []byte {
}
}
return r0
if rf, ok := ret.Get(1).(func([]byte, int) error); ok {
r1 = rf(purpose, keyLength)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// DisableIndexRefresh provides a mock function with given fields:
// DisableIndexRefresh provides a mock function with no fields
func (_m *DirectRepository) DisableIndexRefresh() {
_m.Called()
}
@@ -189,6 +233,10 @@ func (_m *DirectRepository) DisableIndexRefresh() {
func (_m *DirectRepository) FindManifests(ctx context.Context, labels map[string]string) ([]*manifest.EntryMetadata, error) {
ret := _m.Called(ctx, labels)
if len(ret) == 0 {
panic("no return value specified for FindManifests")
}
var r0 []*manifest.EntryMetadata
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, map[string]string) ([]*manifest.EntryMetadata, error)); ok {
@@ -211,10 +259,14 @@ func (_m *DirectRepository) FindManifests(ctx context.Context, labels map[string
return r0, r1
}
// FormatManager provides a mock function with given fields:
// FormatManager provides a mock function with no fields
func (_m *DirectRepository) FormatManager() *format.Manager {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for FormatManager")
}
var r0 *format.Manager
if rf, ok := ret.Get(0).(func() *format.Manager); ok {
r0 = rf()
@@ -231,6 +283,10 @@ func (_m *DirectRepository) FormatManager() *format.Manager {
func (_m *DirectRepository) GetManifest(ctx context.Context, id manifest.ID, data interface{}) (*manifest.EntryMetadata, error) {
ret := _m.Called(ctx, id, data)
if len(ret) == 0 {
panic("no return value specified for GetManifest")
}
var r0 *manifest.EntryMetadata
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, manifest.ID, interface{}) (*manifest.EntryMetadata, error)); ok {
@@ -257,6 +313,10 @@ func (_m *DirectRepository) GetManifest(ctx context.Context, id manifest.ID, dat
func (_m *DirectRepository) IndexBlobs(ctx context.Context, includeInactive bool) ([]indexblob.Metadata, error) {
ret := _m.Called(ctx, includeInactive)
if len(ret) == 0 {
panic("no return value specified for IndexBlobs")
}
var r0 []indexblob.Metadata
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, bool) ([]indexblob.Metadata, error)); ok {
@@ -283,6 +343,10 @@ func (_m *DirectRepository) IndexBlobs(ctx context.Context, includeInactive bool
func (_m *DirectRepository) NewDirectWriter(ctx context.Context, opt repo.WriteSessionOptions) (context.Context, repo.DirectRepositoryWriter, error) {
ret := _m.Called(ctx, opt)
if len(ret) == 0 {
panic("no return value specified for NewDirectWriter")
}
var r0 context.Context
var r1 repo.DirectRepositoryWriter
var r2 error
@@ -318,6 +382,10 @@ func (_m *DirectRepository) NewDirectWriter(ctx context.Context, opt repo.WriteS
func (_m *DirectRepository) NewWriter(ctx context.Context, opt repo.WriteSessionOptions) (context.Context, repo.RepositoryWriter, error) {
ret := _m.Called(ctx, opt)
if len(ret) == 0 {
panic("no return value specified for NewWriter")
}
var r0 context.Context
var r1 repo.RepositoryWriter
var r2 error
@@ -349,10 +417,14 @@ func (_m *DirectRepository) NewWriter(ctx context.Context, opt repo.WriteSession
return r0, r1, r2
}
// ObjectFormat provides a mock function with given fields:
// ObjectFormat provides a mock function with no fields
func (_m *DirectRepository) ObjectFormat() format.ObjectFormat {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for ObjectFormat")
}
var r0 format.ObjectFormat
if rf, ok := ret.Get(0).(func() format.ObjectFormat); ok {
r0 = rf()
@@ -367,6 +439,10 @@ func (_m *DirectRepository) ObjectFormat() format.ObjectFormat {
func (_m *DirectRepository) OpenObject(ctx context.Context, id object.ID) (object.Reader, error) {
ret := _m.Called(ctx, id)
if len(ret) == 0 {
panic("no return value specified for OpenObject")
}
var r0 object.Reader
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, object.ID) (object.Reader, error)); ok {
@@ -393,6 +469,10 @@ func (_m *DirectRepository) OpenObject(ctx context.Context, id object.ID) (objec
func (_m *DirectRepository) PrefetchContents(ctx context.Context, contentIDs []index.ID, hint string) []index.ID {
ret := _m.Called(ctx, contentIDs, hint)
if len(ret) == 0 {
panic("no return value specified for PrefetchContents")
}
var r0 []index.ID
if rf, ok := ret.Get(0).(func(context.Context, []index.ID, string) []index.ID); ok {
r0 = rf(ctx, contentIDs, hint)
@@ -409,6 +489,10 @@ func (_m *DirectRepository) PrefetchContents(ctx context.Context, contentIDs []i
func (_m *DirectRepository) PrefetchObjects(ctx context.Context, objectIDs []object.ID, hint string) ([]index.ID, error) {
ret := _m.Called(ctx, objectIDs, hint)
if len(ret) == 0 {
panic("no return value specified for PrefetchObjects")
}
var r0 []index.ID
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, []object.ID, string) ([]index.ID, error)); ok {
@@ -435,6 +519,10 @@ func (_m *DirectRepository) PrefetchObjects(ctx context.Context, objectIDs []obj
func (_m *DirectRepository) Refresh(ctx context.Context) error {
ret := _m.Called(ctx)
if len(ret) == 0 {
panic("no return value specified for Refresh")
}
var r0 error
if rf, ok := ret.Get(0).(func(context.Context) error); ok {
r0 = rf(ctx)
@@ -445,10 +533,14 @@ func (_m *DirectRepository) Refresh(ctx context.Context) error {
return r0
}
// Throttler provides a mock function with given fields:
// Throttler provides a mock function with no fields
func (_m *DirectRepository) Throttler() throttling.SettableThrottler {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for Throttler")
}
var r0 throttling.SettableThrottler
if rf, ok := ret.Get(0).(func() throttling.SettableThrottler); ok {
r0 = rf()
@@ -461,10 +553,14 @@ func (_m *DirectRepository) Throttler() throttling.SettableThrottler {
return r0
}
// Time provides a mock function with given fields:
// Time provides a mock function with no fields
func (_m *DirectRepository) Time() time.Time {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for Time")
}
var r0 time.Time
if rf, ok := ret.Get(0).(func() time.Time); ok {
r0 = rf()
@@ -479,6 +575,10 @@ func (_m *DirectRepository) Time() time.Time {
func (_m *DirectRepository) Token(password string) (string, error) {
ret := _m.Called(password)
if len(ret) == 0 {
panic("no return value specified for Token")
}
var r0 string
var r1 error
if rf, ok := ret.Get(0).(func(string) (string, error)); ok {
@@ -499,10 +599,14 @@ func (_m *DirectRepository) Token(password string) (string, error) {
return r0, r1
}
// UniqueID provides a mock function with given fields:
// UniqueID provides a mock function with no fields
func (_m *DirectRepository) UniqueID() []byte {
ret := _m.Called()
if len(ret) == 0 {
panic("no return value specified for UniqueID")
}
var r0 []byte
if rf, ok := ret.Get(0).(func() []byte); ok {
r0 = rf()
@@ -524,6 +628,10 @@ func (_m *DirectRepository) UpdateDescription(d string) {
func (_m *DirectRepository) VerifyObject(ctx context.Context, id object.ID) ([]index.ID, error) {
ret := _m.Called(ctx, id)
if len(ret) == 0 {
panic("no return value specified for VerifyObject")
}
var r0 []index.ID
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, object.ID) ([]index.ID, error)); ok {
@@ -546,13 +654,12 @@ func (_m *DirectRepository) VerifyObject(ctx context.Context, id object.ID) ([]i
return r0, r1
}
type mockConstructorTestingTNewDirectRepository interface {
// NewDirectRepository creates a new instance of DirectRepository. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func NewDirectRepository(t interface {
mock.TestingT
Cleanup(func())
}
// NewDirectRepository creates a new instance of DirectRepository. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
func NewDirectRepository(t mockConstructorTestingTNewDirectRepository) *DirectRepository {
}) *DirectRepository {
mock := &DirectRepository{}
mock.Mock.Test(t)
@@ -1,4 +1,4 @@
// Code generated by mockery v2.39.1. DO NOT EDIT.
// Code generated by mockery v2.53.2. DO NOT EDIT.
package mocks
@@ -52,7 +52,7 @@ func (_m *DirectRepositoryWriter) AlsoLogToContentLog(ctx context.Context) conte
return r0
}
// BlobReader provides a mock function with given fields:
// BlobReader provides a mock function with no fields
func (_m *DirectRepositoryWriter) BlobReader() blob.Reader {
ret := _m.Called()
@@ -72,7 +72,7 @@ func (_m *DirectRepositoryWriter) BlobReader() blob.Reader {
return r0
}
// BlobStorage provides a mock function with given fields:
// BlobStorage provides a mock function with no fields
func (_m *DirectRepositoryWriter) BlobStorage() blob.Storage {
ret := _m.Called()
@@ -92,7 +92,7 @@ func (_m *DirectRepositoryWriter) BlobStorage() blob.Storage {
return r0
}
// BlobVolume provides a mock function with given fields:
// BlobVolume provides a mock function with no fields
func (_m *DirectRepositoryWriter) BlobVolume() blob.Volume {
ret := _m.Called()
@@ -112,7 +112,7 @@ func (_m *DirectRepositoryWriter) BlobVolume() blob.Volume {
return r0
}
// ClientOptions provides a mock function with given fields:
// ClientOptions provides a mock function with no fields
func (_m *DirectRepositoryWriter) ClientOptions() repo.ClientOptions {
ret := _m.Called()
@@ -176,7 +176,7 @@ func (_m *DirectRepositoryWriter) ConcatenateObjects(ctx context.Context, object
return r0, r1
}
// ConfigFilename provides a mock function with given fields:
// ConfigFilename provides a mock function with no fields
func (_m *DirectRepositoryWriter) ConfigFilename() string {
ret := _m.Called()
@@ -222,7 +222,7 @@ func (_m *DirectRepositoryWriter) ContentInfo(ctx context.Context, contentID ind
return r0, r1
}
// ContentManager provides a mock function with given fields:
// ContentManager provides a mock function with no fields
func (_m *DirectRepositoryWriter) ContentManager() *content.WriteManager {
ret := _m.Called()
@@ -242,7 +242,7 @@ func (_m *DirectRepositoryWriter) ContentManager() *content.WriteManager {
return r0
}
// ContentReader provides a mock function with given fields:
// ContentReader provides a mock function with no fields
func (_m *DirectRepositoryWriter) ContentReader() content.Reader {
ret := _m.Called()
@@ -281,7 +281,7 @@ func (_m *DirectRepositoryWriter) DeleteManifest(ctx context.Context, id manifes
}
// DeriveKey provides a mock function with given fields: purpose, keyLength
func (_m *DirectRepositoryWriter) DeriveKey(purpose []byte, keyLength int) []byte {
func (_m *DirectRepositoryWriter) DeriveKey(purpose []byte, keyLength int) ([]byte, error) {
ret := _m.Called(purpose, keyLength)
if len(ret) == 0 {
@@ -289,6 +289,10 @@ func (_m *DirectRepositoryWriter) DeriveKey(purpose []byte, keyLength int) []byt
}
var r0 []byte
var r1 error
if rf, ok := ret.Get(0).(func([]byte, int) ([]byte, error)); ok {
return rf(purpose, keyLength)
}
if rf, ok := ret.Get(0).(func([]byte, int) []byte); ok {
r0 = rf(purpose, keyLength)
} else {
@@ -297,10 +301,16 @@ func (_m *DirectRepositoryWriter) DeriveKey(purpose []byte, keyLength int) []byt
}
}
return r0
if rf, ok := ret.Get(1).(func([]byte, int) error); ok {
r1 = rf(purpose, keyLength)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// DisableIndexRefresh provides a mock function with given fields:
// DisableIndexRefresh provides a mock function with no fields
func (_m *DirectRepositoryWriter) DisableIndexRefresh() {
_m.Called()
}
@@ -353,7 +363,7 @@ func (_m *DirectRepositoryWriter) Flush(ctx context.Context) error {
return r0
}
// FormatManager provides a mock function with given fields:
// FormatManager provides a mock function with no fields
func (_m *DirectRepositoryWriter) FormatManager() *format.Manager {
ret := _m.Called()
@@ -531,7 +541,7 @@ func (_m *DirectRepositoryWriter) NewWriter(ctx context.Context, opt repo.WriteS
return r0, r1, r2
}
// ObjectFormat provides a mock function with given fields:
// ObjectFormat provides a mock function with no fields
func (_m *DirectRepositoryWriter) ObjectFormat() format.ObjectFormat {
ret := _m.Called()
@@ -708,7 +718,7 @@ func (_m *DirectRepositoryWriter) ReplaceManifests(ctx context.Context, labels m
return r0, r1
}
// Throttler provides a mock function with given fields:
// Throttler provides a mock function with no fields
func (_m *DirectRepositoryWriter) Throttler() throttling.SettableThrottler {
ret := _m.Called()
@@ -728,7 +738,7 @@ func (_m *DirectRepositoryWriter) Throttler() throttling.SettableThrottler {
return r0
}
// Time provides a mock function with given fields:
// Time provides a mock function with no fields
func (_m *DirectRepositoryWriter) Time() time.Time {
ret := _m.Called()
@@ -774,7 +784,7 @@ func (_m *DirectRepositoryWriter) Token(password string) (string, error) {
return r0, r1
}
// UniqueID provides a mock function with given fields:
// UniqueID provides a mock function with no fields
func (_m *DirectRepositoryWriter) UniqueID() []byte {
ret := _m.Called()
@@ -17,7 +17,6 @@ limitations under the License.
package backend
import (
"context"
"testing"
velerotest "github.com/vmware-tanzu/velero/pkg/test"
@@ -122,7 +121,7 @@ func TestS3Setup(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
s3Flags := S3Backend{}
err := s3Flags.Setup(context.Background(), tc.flags, logger)
err := s3Flags.Setup(t.Context(), tc.flags, logger)
if tc.expectedErr == "" {
assert.NoError(t, err)
@@ -17,7 +17,6 @@ limitations under the License.
package backend
import (
"context"
"testing"
"github.com/kopia/kopia/repo/logging"
@@ -79,7 +78,7 @@ func TestOptionalHaveBool(t *testing.T) {
tc.logger.On("Check", mock.Anything, mock.Anything).Run(tc.retFuncCheck).Return(&zapcore.CheckedEntry{})
}
ctx := logging.WithLogger(context.Background(), func(module string) logging.Logger {
ctx := logging.WithLogger(t.Context(), func(module string) logging.Logger {
return zap.New(tc.logger).Sugar()
})
@@ -144,7 +143,7 @@ func TestOptionalHaveIntWithDefault(t *testing.T) {
tc.logger.On("Check", mock.Anything, mock.Anything).Run(tc.retFuncCheck).Return(&zapcore.CheckedEntry{})
}
ctx := logging.WithLogger(context.Background(), func(module string) logging.Logger {
ctx := logging.WithLogger(t.Context(), func(module string) logging.Logger {
return zap.New(tc.logger).Sugar()
})
@@ -132,7 +132,7 @@ func TestOpen(t *testing.T) {
tc.returnRepo.On("Close", mock.Anything).Return(nil)
}
repo, err := service.Open(context.Background(), tc.repoOptions)
repo, err := service.Open(t.Context(), tc.repoOptions)
if repo != nil {
require.Equal(t, tc.expected.description, repo.(*kopiaRepository).description)
@@ -226,7 +226,7 @@ func TestMaintain(t *testing.T) {
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
logger := velerotest.NewLogger()
ctx := context.Background()
ctx := t.Context()
service := kopiaRepoService{
logger: logger,
@@ -392,7 +392,7 @@ func TestWriteInitParameters(t *testing.T) {
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
logger := velerotest.NewLogger()
ctx := context.Background()
ctx := t.Context()
if tc.repoOpen != nil {
kopiaRepoOpen = tc.repoOpen
@@ -414,7 +414,7 @@ func TestWriteInitParameters(t *testing.T) {
tc.returnRepoWriter.On("ReplaceManifests", mock.Anything, mock.Anything, mock.Anything).Return(manifest.ID(""), tc.replaceManifestError)
}
if tc.expectedReplaceManifestsParams != nil {
tc.returnRepoWriter.On("ReplaceManifests", mock.AnythingOfType("context.backgroundCtx"), mock.AnythingOfType("map[string]string"), mock.AnythingOfType("*maintenance.Params")).Return(manifest.ID(""), nil)
tc.returnRepoWriter.On("ReplaceManifests", mock.Anything, mock.AnythingOfType("map[string]string"), mock.AnythingOfType("*maintenance.Params")).Return(manifest.ID(""), nil)
tc.returnRepoWriter.On("Flush", mock.Anything).Return(nil)
}
}
@@ -521,7 +521,7 @@ func TestOpenObject(t *testing.T) {
kr.rawRepo = tc.rawRepo
}
_, err := kr.OpenObject(context.Background(), udmrepo.ID(tc.objectID))
_, err := kr.OpenObject(t.Context(), udmrepo.ID(tc.objectID))
if tc.expectedErr == "" {
assert.NoError(t, err)
@@ -563,7 +563,7 @@ func TestGetManifest(t *testing.T) {
kr.rawRepo = tc.rawRepo
}
err := kr.GetManifest(context.Background(), udmrepo.ID(""), &udmrepo.RepoManifest{})
err := kr.GetManifest(t.Context(), udmrepo.ID(""), &udmrepo.RepoManifest{})
if tc.expectedErr == "" {
assert.NoError(t, err)
@@ -602,7 +602,7 @@ func TestFindManifests(t *testing.T) {
kr.rawRepo = tc.rawRepo
}
_, err := kr.FindManifests(context.Background(), udmrepo.ManifestFilter{})
_, err := kr.FindManifests(t.Context(), udmrepo.ManifestFilter{})
if tc.expectedErr == "" {
assert.NoError(t, err)
@@ -661,7 +661,7 @@ func TestClose(t *testing.T) {
kr.rawWriter = tc.rawWriter
}
err := kr.Close(context.Background())
err := kr.Close(t.Context())
if tc.expectedErr == "" {
assert.NoError(t, err)
@@ -700,7 +700,7 @@ func TestPutManifest(t *testing.T) {
kr.rawWriter = tc.rawWriter
}
_, err := kr.PutManifest(context.Background(), udmrepo.RepoManifest{
_, err := kr.PutManifest(t.Context(), udmrepo.RepoManifest{
Metadata: &udmrepo.ManifestEntryMetadata{},
})
@@ -741,7 +741,7 @@ func TestDeleteManifest(t *testing.T) {
kr.rawWriter = tc.rawWriter
}
err := kr.DeleteManifest(context.Background(), udmrepo.ID(""))
err := kr.DeleteManifest(t.Context(), udmrepo.ID(""))
if tc.expectedErr == "" {
assert.NoError(t, err)
@@ -780,7 +780,7 @@ func TestFlush(t *testing.T) {
kr.rawWriter = tc.rawWriter
}
err := kr.Flush(context.Background())
err := kr.Flush(t.Context())
if tc.expectedErr == "" {
assert.NoError(t, err)
@@ -852,7 +852,7 @@ func TestConcatenateObjects(t *testing.T) {
kr.rawWriter = tc.rawWriter
}
_, err := kr.ConcatenateObjects(context.Background(), tc.objectIDs)
_, err := kr.ConcatenateObjects(t.Context(), tc.objectIDs)
if tc.expectedErr == "" {
assert.NoError(t, err)
@@ -895,7 +895,7 @@ func TestNewObjectWriter(t *testing.T) {
kr.rawWriter = tc.rawWriter
}
ret := kr.NewObjectWriter(context.Background(), udmrepo.ObjectWriteOptions{})
ret := kr.NewObjectWriter(t.Context(), udmrepo.ObjectWriteOptions{})
assert.Equal(t, tc.expectedRet, ret)
})
@@ -17,7 +17,6 @@ limitations under the License.
package kopialib
import (
"context"
"testing"
velerotest "github.com/vmware-tanzu/velero/pkg/test"
@@ -144,7 +143,7 @@ func TestCreateBackupRepo(t *testing.T) {
tc.returnStore.On("GetBlob", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(tc.getBlobErr)
}
err := CreateBackupRepo(context.Background(), tc.repoOptions, logger)
err := CreateBackupRepo(t.Context(), tc.repoOptions, logger)
if tc.expectedErr == "" {
assert.NoError(t, err)
@@ -229,7 +228,7 @@ func TestConnectBackupRepo(t *testing.T) {
tc.returnStore.On("GetBlob", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(tc.getBlobErr)
}
err := ConnectBackupRepo(context.Background(), tc.repoOptions, logger)
err := ConnectBackupRepo(t.Context(), tc.repoOptions, logger)
if tc.expectedErr == "" {
assert.NoError(t, err)
@@ -17,7 +17,6 @@ limitations under the License.
package actions
import (
"context"
"testing"
"github.com/sirupsen/logrus"
@@ -148,7 +147,7 @@ func TestChangeImageRepositoryActionExecute(t *testing.T) {
// set up test data
if tc.configMap != nil {
_, err := clientset.CoreV1().ConfigMaps(tc.configMap.Namespace).Create(context.TODO(), tc.configMap, metav1.CreateOptions{})
_, err := clientset.CoreV1().ConfigMaps(tc.configMap.Namespace).Create(t.Context(), tc.configMap, metav1.CreateOptions{})
require.NoError(t, err)
}
@@ -17,7 +17,6 @@ limitations under the License.
package actions
import (
"context"
"testing"
"github.com/pkg/errors"
@@ -226,18 +225,18 @@ func TestChangeStorageClassActionExecute(t *testing.T) {
// set up test data
if tc.configMap != nil {
_, err := clientset.CoreV1().ConfigMaps(tc.configMap.Namespace).Create(context.TODO(), tc.configMap, metav1.CreateOptions{})
_, err := clientset.CoreV1().ConfigMaps(tc.configMap.Namespace).Create(t.Context(), tc.configMap, metav1.CreateOptions{})
require.NoError(t, err)
}
if tc.storageClass != nil {
_, err := clientset.StorageV1().StorageClasses().Create(context.TODO(), tc.storageClass, metav1.CreateOptions{})
_, err := clientset.StorageV1().StorageClasses().Create(t.Context(), tc.storageClass, metav1.CreateOptions{})
require.NoError(t, err)
}
if tc.storageClassSlice != nil {
for _, storageClass := range tc.storageClassSlice {
_, err := clientset.StorageV1().StorageClasses().Create(context.TODO(), storageClass, metav1.CreateOptions{})
_, err := clientset.StorageV1().StorageClasses().Create(t.Context(), storageClass, metav1.CreateOptions{})
require.NoError(t, err)
}
}
+4 -5
View File
@@ -17,7 +17,6 @@ limitations under the License.
package csi
import (
"context"
"fmt"
"testing"
"time"
@@ -348,7 +347,7 @@ func TestProgress(t *testing.T) {
crClient: velerotest.NewFakeControllerRuntimeClient(t),
}
if tc.dataDownload != nil {
err := pvcRIA.crClient.Create(context.Background(), tc.dataDownload)
err := pvcRIA.crClient.Create(t.Context(), tc.dataDownload)
require.NoError(t, err)
}
@@ -440,7 +439,7 @@ func TestCancel(t *testing.T) {
crClient: velerotest.NewFakeControllerRuntimeClient(t),
}
if tc.dataDownload != nil {
err := pvcRIA.crClient.Create(context.Background(), tc.dataDownload)
err := pvcRIA.crClient.Create(t.Context(), tc.dataDownload)
require.NoError(t, err)
}
@@ -452,7 +451,7 @@ func TestCancel(t *testing.T) {
require.NoError(t, err)
resultDataDownload := new(velerov2alpha1.DataDownload)
err = pvcRIA.crClient.Get(context.Background(), crclient.ObjectKey{Namespace: tc.dataDownload.Namespace, Name: tc.dataDownload.Name}, resultDataDownload)
err = pvcRIA.crClient.Get(t.Context(), crclient.ObjectKey{Namespace: tc.dataDownload.Namespace, Name: tc.dataDownload.Name}, resultDataDownload)
require.NoError(t, err)
require.True(t, cmp.Equal(tc.expectedDataDownload, *resultDataDownload, cmpopts.IgnoreFields(velerov2alpha1.DataDownload{}, "ResourceVersion", "Name")))
@@ -622,7 +621,7 @@ func TestExecute(t *testing.T) {
}
if tc.expectedDataDownload != nil {
dataDownloadList := new(velerov2alpha1.DataDownloadList)
err := pvcRIA.crClient.List(context.Background(), dataDownloadList, &crclient.ListOptions{
err := pvcRIA.crClient.List(t.Context(), dataDownloadList, &crclient.ListOptions{
LabelSelector: labels.SelectorFromSet(tc.expectedDataDownload.Labels),
})
require.NoError(t, err)
@@ -17,7 +17,6 @@ limitations under the License.
package csi
import (
"context"
"fmt"
"testing"
@@ -155,7 +154,7 @@ func TestVSExecute(t *testing.T) {
if newNS, ok := test.restore.Spec.NamespaceMapping[test.vs.Namespace]; ok {
test.vs.SetNamespace(newNS)
}
require.NoError(t, p.crClient.Create(context.TODO(), test.vs))
require.NoError(t, p.crClient.Create(t.Context(), test.vs))
}
}
@@ -17,7 +17,6 @@ limitations under the License.
package csi
import (
"context"
"fmt"
"testing"
@@ -121,7 +120,7 @@ func TestVSCExecute(t *testing.T) {
test.item = &unstructured.Unstructured{Object: vsMap}
if test.createVSC {
require.NoError(t, action.client.Create(context.TODO(), test.vsc))
require.NoError(t, action.client.Create(t.Context(), test.vsc))
}
}
@@ -17,7 +17,6 @@ limitations under the License.
package actions
import (
"context"
"testing"
"github.com/stretchr/testify/require"
@@ -111,7 +110,7 @@ func TestDataUploadRetrieveActionExectue(t *testing.T) {
if tc.expectedDataUploadResult != nil {
var cmList corev1api.ConfigMapList
err := fakeClient.List(context.Background(), &cmList, &client.ListOptions{
err := fakeClient.List(t.Context(), &cmList, &client.ListOptions{
LabelSelector: labels.SelectorFromSet(map[string]string{
velerov1.RestoreUIDLabel: "testingUID",
velerov1.PVCNamespaceNameLabel: label.GetValidName(tc.dataUpload.Spec.SourceNamespace + "." + tc.dataUpload.Spec.SourcePVC),
@@ -33,8 +33,6 @@ import (
"k8s.io/client-go/kubernetes/fake"
crfake "sigs.k8s.io/controller-runtime/pkg/client/fake"
"context"
velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1"
"github.com/vmware-tanzu/velero/pkg/builder"
"github.com/vmware-tanzu/velero/pkg/buildinfo"
@@ -690,7 +688,7 @@ func TestPodVolumeRestoreActionExecuteWithFileSystemShouldAddWaitInitContainer(t
// Create the PodVolumeBackups in the fake client
for _, pvb := range tc.podVolumeBackups {
require.NoError(t, crClient.Create(context.Background(), pvb))
require.NoError(t, crClient.Create(t.Context(), pvb))
}
// Create a fake clientset
+3 -4
View File
@@ -18,7 +18,6 @@ package actions
import (
"bytes"
"context"
"fmt"
"testing"
@@ -130,16 +129,16 @@ func TestPVCActionExecute(t *testing.T) {
// set up test data
if tc.configMap != nil {
_, err := clientset.CoreV1().ConfigMaps(tc.configMap.Namespace).Create(context.TODO(), tc.configMap, metav1.CreateOptions{})
_, err := clientset.CoreV1().ConfigMaps(tc.configMap.Namespace).Create(t.Context(), tc.configMap, metav1.CreateOptions{})
require.NoError(t, err)
}
if tc.node != nil {
_, err := clientset.CoreV1().Nodes().Create(context.TODO(), tc.node, metav1.CreateOptions{})
_, err := clientset.CoreV1().Nodes().Create(t.Context(), tc.node, metav1.CreateOptions{})
require.NoError(t, err)
}
if tc.newNode != nil {
_, err := clientset.CoreV1().Nodes().Create(context.TODO(), tc.newNode, metav1.CreateOptions{})
_, err := clientset.CoreV1().Nodes().Create(t.Context(), tc.newNode, metav1.CreateOptions{})
require.NoError(t, err)
}
unstructuredMap, err := runtime.DefaultUnstructuredConverter.ToUnstructured(tc.pvc)
+2 -3
View File
@@ -17,7 +17,6 @@ limitations under the License.
package restore
import (
"context"
"testing"
"github.com/sirupsen/logrus"
@@ -128,7 +127,7 @@ func TestExecutePVAction_NoSnapshotRestores(t *testing.T) {
}
for _, loc := range tc.locations {
require.NoError(t, r.kbclient.Create(context.TODO(), loc))
require.NoError(t, r.kbclient.Create(t.Context(), loc))
}
res, err := r.executePVAction(tc.obj)
@@ -192,7 +191,7 @@ func TestExecutePVAction_SnapshotRestores(t *testing.T) {
)
for _, loc := range tc.locations {
require.NoError(t, fakeClient.Create(context.Background(), loc))
require.NoError(t, fakeClient.Create(t.Context(), loc))
}
r := &pvRestorer{
+1 -1
View File
@@ -1659,7 +1659,7 @@ func (ctx *restoreContext) restoreItem(obj *unstructured.Unstructured, groupReso
if shouldRestoreStatus && statusFieldErr != nil {
err := fmt.Errorf("could not get status to be restored %s: %v", kube.NamespaceAndName(obj), statusFieldErr)
restoreLogger.Errorf(err.Error())
restoreLogger.Error(err.Error())
errs.Add(namespace, err)
return warnings, errs, itemExists
}
+8 -8
View File
@@ -2308,7 +2308,7 @@ func TestShouldRestore(t *testing.T) {
}
for _, ns := range tc.namespaces {
_, err := ctx.namespaceClient.Create(context.TODO(), ns, metav1.CreateOptions{})
_, err := ctx.namespaceClient.Create(t.Context(), ns, metav1.CreateOptions{})
require.NoError(t, err)
}
@@ -2345,7 +2345,7 @@ func assertRestoredItems(t *testing.T, h *harness, want []*test.APIResource) {
client = resourceClient
}
res, err := client.Get(context.TODO(), item.GetName(), metav1.GetOptions{})
res, err := client.Get(t.Context(), item.GetName(), metav1.GetOptions{})
if !assert.NoError(t, err) { //nolint:testifylint // require is inappropriate
continue
}
@@ -3206,11 +3206,11 @@ func TestRestorePersistentVolumes(t *testing.T) {
// set up the VolumeSnapshotLocation client and add test data to it
for _, vsl := range tc.volumeSnapshotLocations {
require.NoError(t, h.restorer.kbClient.Create(context.Background(), vsl))
require.NoError(t, h.restorer.kbClient.Create(t.Context(), vsl))
}
if tc.dataUploadResult != nil {
require.NoError(t, h.restorer.kbClient.Create(context.TODO(), tc.dataUploadResult))
require.NoError(t, h.restorer.kbClient.Create(t.Context(), tc.dataUploadResult))
}
for _, r := range tc.apiResources {
@@ -3652,7 +3652,7 @@ func assertAPIContents(t *testing.T, h *harness, want map[*test.APIResource][]st
t.Helper()
for r, want := range want {
res, err := h.DynamicClient.Resource(r.GVR()).List(context.TODO(), metav1.ListOptions{})
res, err := h.DynamicClient.Resource(r.GVR()).List(t.Context(), metav1.ListOptions{})
require.NoError(t, err)
if err != nil {
continue
@@ -3743,9 +3743,9 @@ func (h *harness) AddItems(t *testing.T, resource *test.APIResource) {
unstructured.RemoveNestedField(unstructuredObj.Object, "status")
if resource.Namespaced {
_, err = h.DynamicClient.Resource(resource.GVR()).Namespace(item.GetNamespace()).Create(context.TODO(), unstructuredObj, metav1.CreateOptions{})
_, err = h.DynamicClient.Resource(resource.GVR()).Namespace(item.GetNamespace()).Create(t.Context(), unstructuredObj, metav1.CreateOptions{})
} else {
_, err = h.DynamicClient.Resource(resource.GVR()).Create(context.TODO(), unstructuredObj, metav1.CreateOptions{})
_, err = h.DynamicClient.Resource(resource.GVR()).Create(t.Context(), unstructuredObj, metav1.CreateOptions{})
}
require.NoError(t, err)
}
@@ -4134,7 +4134,7 @@ func TestHasSnapshotDataUpload(t *testing.T) {
}
if tc.duResult != nil {
require.NoError(t, ctx.kbClient.Create(context.TODO(), tc.duResult))
require.NoError(t, ctx.kbClient.Create(t.Context(), tc.duResult))
}
t.Run(tc.name, func(t *testing.T) {
+5 -5
View File
@@ -35,7 +35,7 @@ import (
)
func TestShimRepo(t *testing.T) {
ctx := context.Background()
ctx := t.Context()
backupRepo := &mocks.BackupRepo{}
backupRepo.On("Time").Return(time.Time{})
shim := NewShimRepo(backupRepo)
@@ -107,7 +107,7 @@ func TestOpenObject(t *testing.T) {
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
ctx := context.Background()
ctx := t.Context()
reader, err := NewShimRepo(tc.backupRepo).OpenObject(ctx, object.ID{})
if tc.isOpenObjectError {
require.ErrorContains(t, err, "failed to open object")
@@ -149,7 +149,7 @@ func TestFindManifests(t *testing.T) {
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
ctx := context.Background()
ctx := t.Context()
_, err := NewShimRepo(tc.backupRepo).FindManifests(ctx, map[string]string{})
if tc.isGetManifestError {
require.ErrorContains(t, err, "failed")
@@ -274,7 +274,7 @@ func TestReplaceManifests(t *testing.T) {
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
ctx := context.Background()
ctx := t.Context()
id, err := NewShimRepo(tc.backupRepo).ReplaceManifests(ctx, map[string]string{}, nil)
if tc.expectedError != "" {
@@ -337,7 +337,7 @@ func TestConcatenateObjects(t *testing.T) {
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {
ctx := context.Background()
ctx := t.Context()
_, err := NewShimRepo(tc.backupRepo).ConcatenateObjects(ctx, tc.objectIDs, repo.ConcatenateOptions{})
if tc.expectedError != "" {
+5 -5
View File
@@ -80,7 +80,7 @@ func MockFuncs(s *snapshotMockes, args []mockArgs) {
}
func TestSnapshotSource(t *testing.T) {
ctx := context.TODO()
ctx := t.Context()
sourceInfo := snapshot.SourceInfo{
UserName: "testUserName",
Host: "testHost",
@@ -557,7 +557,7 @@ func TestFindPreviousSnapshotManifest(t *testing.T) {
t.Run(tc.name, func(t *testing.T) {
var repo repo.Repository
listSnapshotsFunc = tc.listSnapshotsFunc
snapshots, err := findPreviousSnapshotManifest(context.Background(), repo, sourceInfo, snapshotTags, &noLaterThan, logrus.New())
snapshots, err := findPreviousSnapshotManifest(t.Context(), repo, sourceInfo, snapshotTags, &noLaterThan, logrus.New())
// Check if the returned error matches the expected error
if tc.expectedError != nil {
@@ -648,9 +648,9 @@ func TestBackup(t *testing.T) {
var snapshotInfo *uploader.SnapshotInfo
var err error
if tc.isEmptyUploader {
snapshotInfo, isSnapshotEmpty, err = Backup(context.Background(), nil, s.repoWriterMock, tc.sourcePath, "", tc.forceFull, tc.parentSnapshot, tc.volMode, map[string]string{}, tc.tags, &logrus.Logger{})
snapshotInfo, isSnapshotEmpty, err = Backup(t.Context(), nil, s.repoWriterMock, tc.sourcePath, "", tc.forceFull, tc.parentSnapshot, tc.volMode, map[string]string{}, tc.tags, &logrus.Logger{})
} else {
snapshotInfo, isSnapshotEmpty, err = Backup(context.Background(), s.uploderMock, s.repoWriterMock, tc.sourcePath, "", tc.forceFull, tc.parentSnapshot, tc.volMode, map[string]string{}, tc.tags, &logrus.Logger{})
snapshotInfo, isSnapshotEmpty, err = Backup(t.Context(), s.uploderMock, s.repoWriterMock, tc.sourcePath, "", tc.forceFull, tc.parentSnapshot, tc.volMode, map[string]string{}, tc.tags, &logrus.Logger{})
}
// Check if the returned error matches the expected error
if tc.expectedError != nil {
@@ -789,7 +789,7 @@ func TestRestore(t *testing.T) {
repoWriterMock.On("OpenObject", mock.Anything, mock.Anything).Return(em, nil)
progress := new(Progress)
bytesRestored, fileCount, err := Restore(context.Background(), repoWriterMock, progress, tc.snapshotID, tc.dest, tc.volMode, map[string]string{}, logrus.New(), nil)
bytesRestored, fileCount, err := Restore(t.Context(), repoWriterMock, progress, tc.snapshotID, tc.dest, tc.volMode, map[string]string{}, logrus.New(), nil)
// Check if the returned error matches the expected error
if tc.expectedError != nil {

Some files were not shown because too many files have changed in this diff Show More