-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add cherry-pick commits and changelog for v1.5.4 (#3651)
* Restore CAPI cluster objects in a better order Restoring CAPI workload clusters without this ordering caused the capi-controller-manager code to panic, resulting in an unhealthy cluster state. This can be worked around (https://community.pivotal.io/s/article/5000e00001pJyN41611954332537?language=en_US), but we provide the inclusion of these resources as a default in order to provide a better out-of-the-box experience. Signed-off-by: Nolan Brubaker <[email protected]> * Add changelog Signed-off-by: Nolan Brubaker <[email protected]> * Use pod namespace from backup when matching PVBs (#3475) * Use pod namespace from backup when matching PVBs In #3051, we introduced an additional check to ensure that a PVB matched a particular pod by checking both the name and the namespace of the pod. This caused an issue when using a namespace mapping on restore. In the case where a namespace mapping is being used, the check for whether a PVB matches a particular pod will fail as the PVB was created for the original pod namespace and is not aware of the new namespace mapping being used. This resulted in PVRs not being created for pods that were being restored into new namespaces. The restic init containers were being created to wait on the volume restore, however this would cause the restored pods to block indefinitely as they would be waiting for a volume restore that was not scheduled. To fix this, we use the original namespace of the pod from the backup to match the PVB to the pod being restored, not the new namespace where the pod is being restored into. Fixes #3467. Signed-off-by: Bridget McErlean <[email protected]> * Explain why the namespace mapping can't be used Signed-off-by: Bridget McErlean <[email protected]> * Allow Dockerfiles to be configurable (#3634) For internal builds of Velero, we need to be able to specify an alternative Dockerfile which uses an alternative image registry to pull the base images from. This change adapts our Makefile such that both the main Dockerfile and build image Dockerfile can be overridden. We have some special handling for the build image to only build when the Dockerfile has changed. In this case, we check whether a custom Dockerfile has been provided, and always rebuild in that case. For custom build image Dockerfiles, use a fixed tag rather than the one based on commit SHA of the original file. Signed-off-by: Bridget McErlean <[email protected]> * Combine CRD install verification into 1 job, and update k8s versions (#3448) * Validate CRDs against latest Kubernetes versions Add Kubernetes v1.19 and v1.20 series images, and consolidate the job into a single file to reduce repetition. Signed-off-by: Nolan Brubaker <[email protected]> * Ignore job if the changes are only site/design Signed-off-by: Nolan Brubaker <[email protected]> * Fix codespell error Signed-off-by: Nolan Brubaker <[email protected]> * Cache Velero binary for reuse on workers This will cache the Velero binary based on the PR number and a SHA256 of the generated binary. This way, the runners testing each version of Kubernetes do not need to build it independently. Signed-off-by: Nolan Brubaker <[email protected]> * Fix GitHub event access Signed-off-by: Nolan Brubaker <[email protected]> * Wrap output path in quotes Signed-off-by: Nolan Brubaker <[email protected]> * Move code checkout to build step Signed-off-by: Nolan Brubaker <[email protected]> * Also cache go modules Signed-off-by: Nolan Brubaker <[email protected]> * Fix syntax issues Signed-off-by: Nolan Brubaker <[email protected]> * Download cached binary on each node Signed-off-by: Nolan Brubaker <[email protected]> * Use cached go modules on main CI Signed-off-by: Nolan Brubaker <[email protected]> * Add changelog for v1.5.4 Signed-off-by: Bridget McErlean <[email protected]> Co-authored-by: Nolan Brubaker <[email protected]>
- Loading branch information
Showing
14 changed files
with
300 additions
and
145 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
name: "Verify Velero CRDs across k8s versions" | ||
on: | ||
pull_request: | ||
# Do not run when the change only includes these directories. | ||
paths-ignore: | ||
- "site/**" | ||
- "design/**" | ||
|
||
jobs: | ||
# Build the Velero CLI once for all Kubernetes versions, and cache it so the fan-out workers can get it. | ||
build-cli: | ||
runs-on: ubuntu-latest | ||
steps: | ||
# Look for a CLI that's made for this PR | ||
- name: Fetch built CLI | ||
id: cache | ||
uses: actions/cache@v2 | ||
env: | ||
cache-name: cache-velero-cli | ||
with: | ||
path: ./_output/bin/linux/amd64/velero | ||
# The cache key a combination of the current PR number, and a SHA256 hash of the Velero binary | ||
key: velero-${{ github.event.pull_request.number }}-${{ hashFiles('./_output/bin/linux/amd64/velero') }} | ||
# This key controls the prefixes that we'll look at in the cache to restore from | ||
restore-keys: | | ||
velero-${{ github.event.pull_request.number }}- | ||
- name: Fetch cached go modules | ||
uses: actions/cache@v2 | ||
if: steps.cache.outputs.cache-hit != 'true' | ||
with: | ||
path: ~/go/pkg/mod | ||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | ||
restore-keys: | | ||
${{ runner.os }}-go- | ||
- name: Check out the code | ||
uses: actions/checkout@v2 | ||
if: steps.cache.outputs.cache-hit != 'true' | ||
|
||
# If no binaries were built for this PR, build it now. | ||
- name: Build Velero CLI | ||
if: steps.cache.outputs.cache-hit != 'true' | ||
run: | | ||
make local | ||
# Check the common CLI against all kubernetes versions | ||
crd-check: | ||
needs: build-cli | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
# Latest k8s versions. There's no series-based tag, nor is there a latest tag. | ||
k8s: | ||
- 1.15.12 | ||
- 1.16.15 | ||
- 1.17.17 | ||
- 1.18.15 | ||
- 1.19.7 | ||
- 1.20.2 | ||
# All steps run in parallel unless otherwise specified. | ||
# See https://docs.github.com/en/actions/learn-github-actions/managing-complex-workflows#creating-dependent-jobs | ||
steps: | ||
- name: Fetch built CLI | ||
id: cache | ||
uses: actions/cache@v2 | ||
env: | ||
cache-name: cache-velero-cli | ||
with: | ||
path: ./_output/bin/linux/amd64/velero | ||
# The cache key a combination of the current PR number, and a SHA256 hash of the Velero binary | ||
key: velero-${{ github.event.pull_request.number }}-${{ hashFiles('./_output/bin/linux/amd64/velero') }} | ||
# This key controls the prefixes that we'll look at in the cache to restore from | ||
restore-keys: | | ||
velero-${{ github.event.pull_request.number }}- | ||
- uses: engineerd/[email protected] | ||
with: | ||
image: "kindest/node:v${{ matrix.k8s }}" | ||
- name: Install CRDs | ||
run: | | ||
kubectl cluster-info | ||
kubectl get pods -n kube-system | ||
kubectl version | ||
echo "current-context:" $(kubectl config current-context) | ||
echo "environment-kubeconfig:" ${KUBECONFIG} | ||
./_output/bin/linux/amd64/velero install --crds-only --dry-run -oyaml | kubectl apply -f - |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,20 @@ | ||
name: Pull Request CI Check | ||
on: [pull_request] | ||
jobs: | ||
|
||
build: | ||
name: Run CI | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Check out the code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Check out the code | ||
uses: actions/checkout@v2 | ||
- name: Fetch cached go modules | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/go/pkg/mod | ||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | ||
restore-keys: | | ||
${{ runner.os }}-go- | ||
- name: Make ci | ||
run: make ci | ||
- name: Make ci | ||
run: make ci |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.