Merge branch 'main' into backup-pod-spread-evenly

pull/6926/head
Lyndon-Li 2023-10-10 09:45:52 +08:00
commit 0a6c89abc6
23 changed files with 24 additions and 268 deletions

View File

@ -540,8 +540,8 @@ func (b *backupReconciler) validateAndGetSnapshotLocations(backup *velerov1api.B
if len(errors) > 0 { if len(errors) > 0 {
return nil, errors return nil, errors
} }
vsls := &velerov1api.VolumeSnapshotLocationList{} volumeSnapshotLocations := &velerov1api.VolumeSnapshotLocationList{}
err := b.kbClient.List(context.Background(), vsls, &kbclient.ListOptions{Namespace: backup.Namespace, LabelSelector: labels.Everything()}) err := b.kbClient.List(context.Background(), volumeSnapshotLocations, &kbclient.ListOptions{Namespace: backup.Namespace, LabelSelector: labels.Everything()})
if err != nil { if err != nil {
errors = append(errors, fmt.Sprintf("error listing volume snapshot locations: %v", err)) errors = append(errors, fmt.Sprintf("error listing volume snapshot locations: %v", err))
return nil, errors return nil, errors
@ -549,8 +549,8 @@ func (b *backupReconciler) validateAndGetSnapshotLocations(backup *velerov1api.B
// build a map of provider->list of all locations for the provider // build a map of provider->list of all locations for the provider
allProviderLocations := make(map[string][]*velerov1api.VolumeSnapshotLocation) allProviderLocations := make(map[string][]*velerov1api.VolumeSnapshotLocation)
for i := range vsls.Items { for i := range volumeSnapshotLocations.Items {
loc := vsls.Items[i] loc := volumeSnapshotLocations.Items[i]
allProviderLocations[loc.Spec.Provider] = append(allProviderLocations[loc.Spec.Provider], &loc) allProviderLocations[loc.Spec.Provider] = append(allProviderLocations[loc.Spec.Provider], &loc)
} }

View File

@ -8,6 +8,24 @@ toc: "true"
When opening a pull request, please fill out the checklist supplied the template. This will help others properly categorize and review your pull request. When opening a pull request, please fill out the checklist supplied the template. This will help others properly categorize and review your pull request.
### PR title
Make sure that the pull request title summarizes the change made (and not just "fixes issue #xxxx"):
Example PR titles:
- "Check for nil when validating foo"
- "Issue #1234: Check for nil when validating foo"
### Cherry-pick PRs
When a PR to main needs to be cherry-picked to a release branch, please wait until the main PR is merged first before creating the CP PR. If the CP PR is made before the main PR is merged, there is a risk that PR modifications in response to review comments will not make it into the CP PR.
The Cherry-pick PR title should reference the branch it's cherry-picked to and the fact that it's a CP of a commit to main:
- "[release-1.13 CP] Issue #1234: Check for nil when validating foo"
## Adding a changelog ## Adding a changelog
Authors are expected to include a changelog file with their pull requests. The changelog file Authors are expected to include a changelog file with their pull requests. The changelog file

View File

@ -39,10 +39,6 @@ You can also override the default list of linters by running the command
To run unit tests, use `make test`. To run unit tests, use `make test`.
## Vendor dependencies
If you need to add or update the vendored dependencies, see [Vendoring dependencies][11].
## Using the main branch ## Using the main branch
If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed. If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed.
@ -53,4 +49,3 @@ velero install --crds-only --dry-run -o yaml | kubectl apply -f -
**NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1. **NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1.
[11]: vendoring-dependencies.md

View File

@ -46,6 +46,8 @@ kubectl edit deployment/velero -n velero
... ...
``` ```
**Note:** Velero plugins are started as separate processes and once the Velero operation is done (either successfully or not), they exit. So, if you see **received EOF, stopping recv loop** messages in debug logs, that does not mean an error occurred, just that a plugin finished executing.
## Known issue with restoring LoadBalancer Service ## Known issue with restoring LoadBalancer Service
Because of how Kubernetes handles Service objects of `type=LoadBalancer`, when you restore these objects you might encounter an issue with changed values for Service UIDs. Kubernetes automatically generates the name of the cloud resource based on the Service UID, which is different when restored, resulting in a different name for the cloud load balancer. If the DNS CNAME for your application points to the DNS name of your cloud load balancer, you'll need to update the CNAME pointer when you perform a Velero restore. Because of how Kubernetes handles Service objects of `type=LoadBalancer`, when you restore these objects you might encounter an issue with changed values for Service UIDs. Kubernetes automatically generates the name of the cloud resource based on the Service UID, which is different when restored, resulting in a different name for the cloud load balancer. If the DNS CNAME for your application points to the DNS name of your cloud load balancer, you'll need to update the CNAME pointer when you perform a Velero restore.

View File

@ -1,21 +0,0 @@
---
title: "Vendoring dependencies"
layout: docs
---
## Overview
We are using [dep][0] to manage dependencies. You can install it by following [these
instructions][1].
## Adding a new dependency
Run `dep ensure`. If you want to see verbose output, you can append `-v` as in
`dep ensure -v`.
## Updating an existing dependency
Run `dep ensure -update <pkg> [<pkg> ...]` to update one or more dependencies.
[0]: https://github.com/golang/dep
[1]: https://golang.github.io/dep/docs/installation.html

View File

@ -39,10 +39,6 @@ You can also override the default list of linters by running the command
To run unit tests, use `make test`. To run unit tests, use `make test`.
## Vendor dependencies
If you need to add or update the vendored dependencies, see [Vendoring dependencies][11].
## Using the main branch ## Using the main branch
If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed. If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed.
@ -53,4 +49,3 @@ velero install --crds-only --dry-run -o yaml | kubectl apply -f -
**NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1. **NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1.
[11]: vendoring-dependencies.md

View File

@ -1,21 +0,0 @@
---
title: "Vendoring dependencies"
layout: docs
---
## Overview
We are using [dep][0] to manage dependencies. You can install it by following [these
instructions][1].
## Adding a new dependency
Run `dep ensure`. If you want to see verbose output, you can append `-v` as in
`dep ensure -v`.
## Updating an existing dependency
Run `dep ensure -update <pkg> [<pkg> ...]` to update one or more dependencies.
[0]: https://github.com/golang/dep
[1]: https://golang.github.io/dep/docs/installation.html

View File

@ -39,10 +39,6 @@ You can also override the default list of linters by running the command
To run unit tests, use `make test`. To run unit tests, use `make test`.
## Vendor dependencies
If you need to add or update the vendored dependencies, see [Vendoring dependencies][11].
## Using the main branch ## Using the main branch
If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed. If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed.
@ -53,4 +49,3 @@ velero install --crds-only --dry-run -o yaml | kubectl apply -f -
**NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1. **NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1.
[11]: vendoring-dependencies.md

View File

@ -1,21 +0,0 @@
---
title: "Vendoring dependencies"
layout: docs
---
## Overview
We are using [dep][0] to manage dependencies. You can install it by following [these
instructions][1].
## Adding a new dependency
Run `dep ensure`. If you want to see verbose output, you can append `-v` as in
`dep ensure -v`.
## Updating an existing dependency
Run `dep ensure -update <pkg> [<pkg> ...]` to update one or more dependencies.
[0]: https://github.com/golang/dep
[1]: https://golang.github.io/dep/docs/installation.html

View File

@ -39,10 +39,6 @@ You can also override the default list of linters by running the command
To run unit tests, use `make test`. To run unit tests, use `make test`.
## Vendor dependencies
If you need to add or update the vendored dependencies, see [Vendoring dependencies][11].
## Using the main branch ## Using the main branch
If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed. If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed.
@ -53,4 +49,3 @@ velero install --crds-only --dry-run -o yaml | kubectl apply -f -
**NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1. **NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1.
[11]: vendoring-dependencies.md

View File

@ -1,21 +0,0 @@
---
title: "Vendoring dependencies"
layout: docs
---
## Overview
We are using [dep][0] to manage dependencies. You can install it by following [these
instructions][1].
## Adding a new dependency
Run `dep ensure`. If you want to see verbose output, you can append `-v` as in
`dep ensure -v`.
## Updating an existing dependency
Run `dep ensure -update <pkg> [<pkg> ...]` to update one or more dependencies.
[0]: https://github.com/golang/dep
[1]: https://golang.github.io/dep/docs/installation.html

View File

@ -25,9 +25,3 @@ You can run `make verify` to ensure that all generated files (clientset, listers
## Test ## Test
To run unit tests, use `make test`. To run unit tests, use `make test`.
## Vendor dependencies
If you need to add or update the vendored dependencies, see [Vendoring dependencies][11].
[11]: vendoring-dependencies.md

View File

@ -1,21 +0,0 @@
---
title: "Vendoring dependencies"
layout: docs
---
## Overview
We are using [dep][0] to manage dependencies. You can install it by following [these
instructions][1].
## Adding a new dependency
Run `dep ensure`. If you want to see verbose output, you can append `-v` as in
`dep ensure -v`.
## Updating an existing dependency
Run `dep ensure -update <pkg> [<pkg> ...]` to update one or more dependencies.
[0]: https://github.com/golang/dep
[1]: https://golang.github.io/dep/docs/installation.html

View File

@ -39,8 +39,3 @@ You can also override the default list of linters by running the command
To run unit tests, use `make test`. To run unit tests, use `make test`.
## Vendor dependencies
If you need to add or update the vendored dependencies, see [Vendoring dependencies][11].
[11]: vendoring-dependencies.md

View File

@ -1,21 +0,0 @@
---
title: "Vendoring dependencies"
layout: docs
---
## Overview
We are using [dep][0] to manage dependencies. You can install it by following [these
instructions][1].
## Adding a new dependency
Run `dep ensure`. If you want to see verbose output, you can append `-v` as in
`dep ensure -v`.
## Updating an existing dependency
Run `dep ensure -update <pkg> [<pkg> ...]` to update one or more dependencies.
[0]: https://github.com/golang/dep
[1]: https://golang.github.io/dep/docs/installation.html

View File

@ -39,8 +39,3 @@ You can also override the default list of linters by running the command
To run unit tests, use `make test`. To run unit tests, use `make test`.
## Vendor dependencies
If you need to add or update the vendored dependencies, see [Vendoring dependencies][11].
[11]: vendoring-dependencies.md

View File

@ -1,21 +0,0 @@
---
title: "Vendoring dependencies"
layout: docs
---
## Overview
We are using [dep][0] to manage dependencies. You can install it by following [these
instructions][1].
## Adding a new dependency
Run `dep ensure`. If you want to see verbose output, you can append `-v` as in
`dep ensure -v`.
## Updating an existing dependency
Run `dep ensure -update <pkg> [<pkg> ...]` to update one or more dependencies.
[0]: https://github.com/golang/dep
[1]: https://golang.github.io/dep/docs/installation.html

View File

@ -39,10 +39,6 @@ You can also override the default list of linters by running the command
To run unit tests, use `make test`. To run unit tests, use `make test`.
## Vendor dependencies
If you need to add or update the vendored dependencies, see [Vendoring dependencies][11].
## Using the main branch ## Using the main branch
If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed. If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed.
@ -52,5 +48,3 @@ velero install --crds-only --dry-run -o yaml | kubectl apply -f -
``` ```
**NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1. **NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1.
[11]: vendoring-dependencies.md

View File

@ -1,21 +0,0 @@
---
title: "Vendoring dependencies"
layout: docs
---
## Overview
We are using [dep][0] to manage dependencies. You can install it by following [these
instructions][1].
## Adding a new dependency
Run `dep ensure`. If you want to see verbose output, you can append `-v` as in
`dep ensure -v`.
## Updating an existing dependency
Run `dep ensure -update <pkg> [<pkg> ...]` to update one or more dependencies.
[0]: https://github.com/golang/dep
[1]: https://golang.github.io/dep/docs/installation.html

View File

@ -39,10 +39,6 @@ You can also override the default list of linters by running the command
To run unit tests, use `make test`. To run unit tests, use `make test`.
## Vendor dependencies
If you need to add or update the vendored dependencies, see [Vendoring dependencies][11].
## Using the main branch ## Using the main branch
If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed. If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed.
@ -52,5 +48,3 @@ velero install --crds-only --dry-run -o yaml | kubectl apply -f -
``` ```
**NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1. **NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1.
[11]: vendoring-dependencies.md

View File

@ -1,21 +0,0 @@
---
title: "Vendoring dependencies"
layout: docs
---
## Overview
We are using [dep][0] to manage dependencies. You can install it by following [these
instructions][1].
## Adding a new dependency
Run `dep ensure`. If you want to see verbose output, you can append `-v` as in
`dep ensure -v`.
## Updating an existing dependency
Run `dep ensure -update <pkg> [<pkg> ...]` to update one or more dependencies.
[0]: https://github.com/golang/dep
[1]: https://golang.github.io/dep/docs/installation.html

View File

@ -39,10 +39,6 @@ You can also override the default list of linters by running the command
To run unit tests, use `make test`. To run unit tests, use `make test`.
## Vendor dependencies
If you need to add or update the vendored dependencies, see [Vendoring dependencies][11].
## Using the main branch ## Using the main branch
If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed. If you are developing or using the main branch, note that you may need to update the Velero CRDs to get new changes as other development work is completed.
@ -52,5 +48,3 @@ velero install --crds-only --dry-run -o yaml | kubectl apply -f -
``` ```
**NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1. **NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1.
[11]: vendoring-dependencies.md

View File

@ -1,21 +0,0 @@
---
title: "Vendoring dependencies"
layout: docs
---
## Overview
We are using [dep][0] to manage dependencies. You can install it by following [these
instructions][1].
## Adding a new dependency
Run `dep ensure`. If you want to see verbose output, you can append `-v` as in
`dep ensure -v`.
## Updating an existing dependency
Run `dep ensure -update <pkg> [<pkg> ...]` to update one or more dependencies.
[0]: https://github.com/golang/dep
[1]: https://golang.github.io/dep/docs/installation.html