Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌱 test: use a daemonset and kubectl exec to provide images to remote clusters #2955

Merged

Conversation

chrischdi
Copy link
Member

What this PR does / why we need it:

Removes pushing the images to gcloud and instead uses a daemonset and streams the image tarball via kubectl exec.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

@k8s-ci-robot k8s-ci-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 30, 2024
@chrischdi
Copy link
Member Author

/test help

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Apr 30, 2024
@k8s-ci-robot
Copy link
Contributor

@chrischdi: The specified target(s) for /test were not found.
The following commands are available to trigger required jobs:

  • /test pull-cluster-api-provider-vsphere-e2e-govmomi-blocking-main
  • /test pull-cluster-api-provider-vsphere-e2e-govmomi-conformance-ci-latest-main
  • /test pull-cluster-api-provider-vsphere-e2e-govmomi-conformance-main
  • /test pull-cluster-api-provider-vsphere-e2e-govmomi-main
  • /test pull-cluster-api-provider-vsphere-e2e-govmomi-upgrade-1-29-1-30-main
  • /test pull-cluster-api-provider-vsphere-e2e-supervisor-blocking-main
  • /test pull-cluster-api-provider-vsphere-e2e-supervisor-conformance-ci-latest-main
  • /test pull-cluster-api-provider-vsphere-e2e-supervisor-conformance-main
  • /test pull-cluster-api-provider-vsphere-e2e-supervisor-main
  • /test pull-cluster-api-provider-vsphere-e2e-supervisor-upgrade-1-29-1-30-main
  • /test pull-cluster-api-provider-vsphere-e2e-vcsim-govmomi-main
  • /test pull-cluster-api-provider-vsphere-e2e-vcsim-supervisor-main
  • /test pull-cluster-api-provider-vsphere-test-main
  • /test pull-cluster-api-provider-vsphere-verify-main

The following commands are available to trigger optional jobs:

  • /test pull-cluster-api-provider-vsphere-apidiff-main

Use /test all to run the following jobs that were automatically triggered:

  • pull-cluster-api-provider-vsphere-apidiff-main
  • pull-cluster-api-provider-vsphere-e2e-govmomi-blocking-main
  • pull-cluster-api-provider-vsphere-e2e-supervisor-blocking-main
  • pull-cluster-api-provider-vsphere-test-main
  • pull-cluster-api-provider-vsphere-verify-main

In response to this:

/test help

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Apr 30, 2024
@chrischdi
Copy link
Member Author

/test pull-cluster-api-provider-vsphere-e2e-govmomi-main

1 similar comment
@chrischdi
Copy link
Member Author

/test pull-cluster-api-provider-vsphere-e2e-govmomi-main

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 2, 2024
@chrischdi chrischdi force-pushed the pr-kubectl-exec-load-images branch from 73b6281 to 65d0320 Compare May 2, 2024 09:22
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 2, 2024
@chrischdi
Copy link
Member Author

/test pull-cluster-api-provider-vsphere-e2e-govmomi-main

@chrischdi chrischdi force-pushed the pr-kubectl-exec-load-images branch from 3a4d88c to e41e5f2 Compare May 3, 2024 06:12
@chrischdi
Copy link
Member Author

/test pull-cluster-api-provider-vsphere-e2e-govmomi-main

@chrischdi chrischdi force-pushed the pr-kubectl-exec-load-images branch from e41e5f2 to 9820cfb Compare May 3, 2024 07:11
@chrischdi
Copy link
Member Author

/test pull-cluster-api-provider-vsphere-e2e-govmomi-main

@chrischdi chrischdi force-pushed the pr-kubectl-exec-load-images branch from 9820cfb to 2cdbd39 Compare May 3, 2024 11:57
@chrischdi
Copy link
Member Author

/test pull-cluster-api-provider-vsphere-e2e-govmomi-main

@chrischdi chrischdi changed the title [WIP] 🌱 test: use a daemonset and kubectl exec to provide images to remote clusters 🌱 test: use a daemonset and kubectl exec to provide images to remote clusters May 3, 2024
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 3, 2024
@chrischdi
Copy link
Member Author

chrischdi commented May 3, 2024

/test pull-cluster-api-provider-vsphere-e2e-govmomi-main

@chrischdi
Copy link
Member Author

chrischdi commented May 3, 2024

message: 'PodGC: node no longer exists'
reason: DeletionByPodGC

/test pull-cluster-api-provider-vsphere-e2e-supervisor-blocking-main

@chrischdi chrischdi force-pushed the pr-kubectl-exec-load-images branch from 2cdbd39 to 0610679 Compare May 3, 2024 13:29
@chrischdi
Copy link
Member Author

/test pull-cluster-api-provider-vsphere-e2e-govmomi-main

1 similar comment
@chrischdi
Copy link
Member Author

/test pull-cluster-api-provider-vsphere-e2e-govmomi-main

Copy link
Member

@sbueringer sbueringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really really nice!!

test/framework/daemonset_helpers.go Outdated Show resolved Hide resolved
test/framework/daemonset_helpers.go Outdated Show resolved Hide resolved
test/e2e/clusterctl_upgrade_test.go Outdated Show resolved Hide resolved
test/framework/image_preloading.go Outdated Show resolved Hide resolved
test/framework/daemonset_helpers.go Outdated Show resolved Hide resolved
test/framework/image_preloading.go Outdated Show resolved Hide resolved
test/framework/image_preloading.go Outdated Show resolved Hide resolved
test/framework/image_preloading.go Outdated Show resolved Hide resolved
test/framework/image_preloading.go Outdated Show resolved Hide resolved
test/framework/image_preloading.go Show resolved Hide resolved
@chrischdi chrischdi added the tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. label May 6, 2024
@chrischdi
Copy link
Member Author

/cherry-pick release-1.10

@k8s-infra-cherrypick-robot

@chrischdi: once the present PR merges, I will cherry-pick it on top of release-1.10 in a new PR and assign it to you.

In response to this:

/cherry-pick release-1.10

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@chrischdi
Copy link
Member Author

/cherry-pick release-1.9

@k8s-infra-cherrypick-robot

@chrischdi: once the present PR merges, I will cherry-pick it on top of release-1.9 in a new PR and assign it to you.

In response to this:

/cherry-pick release-1.9

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@chrischdi
Copy link
Member Author

/cherry-pick release-1.8

@k8s-infra-cherrypick-robot

@chrischdi: once the present PR merges, I will cherry-pick it on top of release-1.8 in a new PR and assign it to you.

In response to this:

/cherry-pick release-1.8

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@chrischdi
Copy link
Member Author

/cherry-pick release-1.7

@k8s-infra-cherrypick-robot

@chrischdi: once the present PR merges, I will cherry-pick it on top of release-1.7 in a new PR and assign it to you.

In response to this:

/cherry-pick release-1.7

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Copy link
Member

@fabriziopandini fabriziopandini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: fabriziopandini

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 9, 2024
@fabriziopandini
Copy link
Member

/retest

@k8s-ci-robot k8s-ci-robot merged commit 640fe22 into kubernetes-sigs:main May 9, 2024
15 checks passed
@k8s-ci-robot k8s-ci-robot added this to the v1.11 milestone May 9, 2024
@k8s-infra-cherrypick-robot

@chrischdi: #2955 failed to apply on top of branch "release-1.7":

Applying: test: use a daemonset and kubectl exec to provide images to remote clusters
Using index info to reconstruct a base tree...
M	Makefile
M	hack/e2e.sh
A	test/e2e/clusterctl_upgrade_test.go
A	test/e2e/config/vsphere.yaml
A	test/e2e/data/infrastructure-vsphere-govmomi/main/remote-management/image-injection.yaml
A	test/e2e/data/infrastructure-vsphere-govmomi/main/remote-management/kustomization.yaml
A	test/go.mod
Falling back to patching base and 3-way merge...
CONFLICT (modify/delete): test/go.mod deleted in HEAD and modified in test: use a daemonset and kubectl exec to provide images to remote clusters. Version test: use a daemonset and kubectl exec to provide images to remote clusters of test/go.mod left in tree.
CONFLICT (modify/delete): test/e2e/config/vsphere.yaml deleted in HEAD and modified in test: use a daemonset and kubectl exec to provide images to remote clusters. Version test: use a daemonset and kubectl exec to provide images to remote clusters of test/e2e/config/vsphere.yaml left in tree.
CONFLICT (modify/delete): test/e2e/clusterctl_upgrade_test.go deleted in HEAD and modified in test: use a daemonset and kubectl exec to provide images to remote clusters. Version test: use a daemonset and kubectl exec to provide images to remote clusters of test/e2e/clusterctl_upgrade_test.go left in tree.
Auto-merging hack/e2e.sh
CONFLICT (content): Merge conflict in hack/e2e.sh
Auto-merging Makefile
CONFLICT (content): Merge conflict in Makefile
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 test: use a daemonset and kubectl exec to provide images to remote clusters
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-1.7

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-infra-cherrypick-robot

@chrischdi: #2955 failed to apply on top of branch "release-1.10":

Applying: test: use a daemonset and kubectl exec to provide images to remote clusters
Using index info to reconstruct a base tree...
M	Makefile
M	test/e2e/clusterctl_upgrade_test.go
M	test/e2e/config/vsphere.yaml
M	test/go.mod
Falling back to patching base and 3-way merge...
Auto-merging test/go.mod
Removing test/e2e/data/infrastructure-vsphere-govmomi/main/remote-management/kustomization.yaml
Removing test/e2e/data/infrastructure-vsphere-govmomi/main/remote-management/image-injection.yaml
Auto-merging test/e2e/config/vsphere.yaml
Auto-merging test/e2e/clusterctl_upgrade_test.go
CONFLICT (content): Merge conflict in test/e2e/clusterctl_upgrade_test.go
Auto-merging Makefile
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 test: use a daemonset and kubectl exec to provide images to remote clusters
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-1.10

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-infra-cherrypick-robot

@chrischdi: #2955 failed to apply on top of branch "release-1.9":

Applying: test: use a daemonset and kubectl exec to provide images to remote clusters
Using index info to reconstruct a base tree...
M	Makefile
M	hack/e2e.sh
M	test/e2e/clusterctl_upgrade_test.go
A	test/e2e/config/vsphere.yaml
A	test/e2e/data/infrastructure-vsphere-govmomi/main/remote-management/image-injection.yaml
A	test/e2e/data/infrastructure-vsphere-govmomi/main/remote-management/kustomization.yaml
M	test/go.mod
Falling back to patching base and 3-way merge...
Auto-merging test/go.mod
CONFLICT (content): Merge conflict in test/go.mod
CONFLICT (rename/delete): test/e2e/data/infrastructure-vsphere-govmomi/main/remote-management/kustomization.yaml deleted in test: use a daemonset and kubectl exec to provide images to remote clusters and renamed to test/e2e/data/infrastructure-vsphere/main/remote-management/kustomization.yaml in HEAD. Version HEAD of test/e2e/data/infrastructure-vsphere/main/remote-management/kustomization.yaml left in tree.
CONFLICT (rename/delete): test/e2e/data/infrastructure-vsphere-govmomi/main/remote-management/image-injection.yaml deleted in test: use a daemonset and kubectl exec to provide images to remote clusters and renamed to test/e2e/data/infrastructure-vsphere/main/remote-management/image-injection.yaml in HEAD. Version HEAD of test/e2e/data/infrastructure-vsphere/main/remote-management/image-injection.yaml left in tree.
CONFLICT (modify/delete): test/e2e/config/vsphere.yaml deleted in HEAD and modified in test: use a daemonset and kubectl exec to provide images to remote clusters. Version test: use a daemonset and kubectl exec to provide images to remote clusters of test/e2e/config/vsphere.yaml left in tree.
Auto-merging test/e2e/clusterctl_upgrade_test.go
CONFLICT (content): Merge conflict in test/e2e/clusterctl_upgrade_test.go
Auto-merging hack/e2e.sh
CONFLICT (content): Merge conflict in hack/e2e.sh
Auto-merging Makefile
CONFLICT (content): Merge conflict in Makefile
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 test: use a daemonset and kubectl exec to provide images to remote clusters
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-1.9

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-infra-cherrypick-robot

@chrischdi: #2955 failed to apply on top of branch "release-1.8":

Applying: test: use a daemonset and kubectl exec to provide images to remote clusters
Using index info to reconstruct a base tree...
M	Makefile
M	hack/e2e.sh
A	test/e2e/clusterctl_upgrade_test.go
A	test/e2e/config/vsphere.yaml
A	test/e2e/data/infrastructure-vsphere-govmomi/main/remote-management/image-injection.yaml
A	test/e2e/data/infrastructure-vsphere-govmomi/main/remote-management/kustomization.yaml
A	test/go.mod
Falling back to patching base and 3-way merge...
CONFLICT (modify/delete): test/go.mod deleted in HEAD and modified in test: use a daemonset and kubectl exec to provide images to remote clusters. Version test: use a daemonset and kubectl exec to provide images to remote clusters of test/go.mod left in tree.
CONFLICT (modify/delete): test/e2e/config/vsphere.yaml deleted in HEAD and modified in test: use a daemonset and kubectl exec to provide images to remote clusters. Version test: use a daemonset and kubectl exec to provide images to remote clusters of test/e2e/config/vsphere.yaml left in tree.
CONFLICT (modify/delete): test/e2e/clusterctl_upgrade_test.go deleted in HEAD and modified in test: use a daemonset and kubectl exec to provide images to remote clusters. Version test: use a daemonset and kubectl exec to provide images to remote clusters of test/e2e/clusterctl_upgrade_test.go left in tree.
Auto-merging hack/e2e.sh
CONFLICT (content): Merge conflict in hack/e2e.sh
Auto-merging Makefile
CONFLICT (content): Merge conflict in Makefile
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 test: use a daemonset and kubectl exec to provide images to remote clusters
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-1.8

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

chrischdi added a commit to chrischdi/cluster-api-provider-vsphere that referenced this pull request May 10, 2024
…clusters (kubernetes-sigs#2955)

* test: use a daemonset and kubectl exec to provide images to remote clusters

* review fixes

* review fixes

* log io.Copy error

* fix typo
chrischdi added a commit to chrischdi/cluster-api-provider-vsphere that referenced this pull request May 10, 2024
…clusters (kubernetes-sigs#2955)

* test: use a daemonset and kubectl exec to provide images to remote clusters

* review fixes

* review fixes

* log io.Copy error

* fix typo
@chrischdi
Copy link
Member Author

No need to cherry-pick it back to v1.8 or v1.7, because we don't have clusterctl upgrade tests there 😄 🍺

chrischdi added a commit to chrischdi/cluster-api-provider-vsphere that referenced this pull request May 10, 2024
…clusters (kubernetes-sigs#2955)

* test: use a daemonset and kubectl exec to provide images to remote clusters

* review fixes

* review fixes

* log io.Copy error

* fix typo
chrischdi added a commit to chrischdi/cluster-api-provider-vsphere that referenced this pull request May 10, 2024
…clusters (kubernetes-sigs#2955)

* test: use a daemonset and kubectl exec to provide images to remote clusters

* review fixes

* review fixes

* log io.Copy error

* fix typo
@sbueringer
Copy link
Member

Great news! :)

chrischdi added a commit to chrischdi/cluster-api-provider-vsphere that referenced this pull request May 10, 2024
…clusters (kubernetes-sigs#2955)

* test: use a daemonset and kubectl exec to provide images to remote clusters

* review fixes

* review fixes

* log io.Copy error

* fix typo
chrischdi added a commit to chrischdi/cluster-api-provider-vsphere that referenced this pull request May 10, 2024
…clusters (kubernetes-sigs#2955)

* test: use a daemonset and kubectl exec to provide images to remote clusters

* review fixes

* review fixes

* log io.Copy error

* fix typo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants