Skip to content

add test scripts and periodic prow job for testing two steps upgrade #34791

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ynfx8
Copy link
Contributor

@ynfx8 ynfx8 commented May 13, 2025

  • add test scripts to perform two steps upgrade - binary version upgrade and emulated version upgrade.
  • config a n-minus-1 prow job for the new test. plan to configure n-minus-2 when seeing n-minus-1 tests are stable.

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. area/config Issues or PRs related to code in /config labels May 13, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @ynfx8. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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-ci-robot k8s-ci-robot added area/jobs sig/testing Categorizes an issue or PR as relevant to SIG Testing. labels May 13, 2025
@ynfx8
Copy link
Contributor Author

ynfx8 commented May 13, 2025

/assign @BenTheElder

@ynfx8
Copy link
Contributor Author

ynfx8 commented May 13, 2025

/assign @siyuanfoundation

@BenTheElder
Copy link
Member

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels May 14, 2025
spec:
containers:
- image: gcr.io/k8s-staging-test-infra/krte:v20250422-9d0e6fd518-master
imagePullPolicy: Always # pull latest image for canary testing
Copy link
Member

Choose a reason for hiding this comment

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

drop this, we're using a stable tag based on the $date-$commit-hash of test-infra so pulling it every time is pointless and slow (it's a large shared image with e2e tools)

if the other job has it, was should also drop this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes/sig-testing/compatibility-versions-e2e.yaml#L88

I am seeing this image been used in the job everywhere. Do you mean we don't need the image filed?

Copy link
Member

Choose a reason for hiding this comment

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

I meant the imagePullPolicy: Always, this says "every time you run this pod, resolve and pull the tag" but this tag isn't mutated so pulling it every time even if the image is already available on the host is a waste.

https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy

Copy link
Contributor Author

Choose a reason for hiding this comment

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

removed imagePullPolicy from all jobs in compatibility-versions-e2e.yaml

@@ -0,0 +1,419 @@
#!/usr/bin/env bash
Copy link
Member

Choose a reason for hiding this comment

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

this is a lot of bash to review, can we summarize the changes from the file it was modified from?

(or create it in two commits, one to copy the original file, the second to make changes so the diff is reviewable)

Copy link
Member

Choose a reason for hiding this comment

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

[either describing in the pull request discussion or doing the two commit approach would be great, describing inside the file won't make sense, it can only be a point-in-time comparison before they diverge further]

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I updated

  1. the following 3 lines
EMULATED_VERSION_UPGRADE_SCRIPT="${EMULATED_VERSION_UPGRADE_SCRIPT:-${PWD}/../test-infra/experiment/compatibility-versions/emulated-version-upgrade.sh}"
echo "Upgrading cluster with ${EMULATED_VERSION_UPGRADE_SCRIPT}"
bash -x "${EMULATED_VERSION_UPGRADE_SCRIPT}" | tee "${ARTIFACTS}/emulated-upgrade-output.txt"
  1. rename upgrade_cluster_components to upgrade_cluster_components_binary_version

Copy link
Member

Choose a reason for hiding this comment

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

OK, it might be easier to share the code instead? we now need to patch both of these and the scripts are getting fairly complicated.

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: ynfx8
Once this PR has been reviewed and has the lgtm label, please ask for approval from bentheelder. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@ynfx8
Copy link
Contributor Author

ynfx8 commented May 14, 2025

/test pull-test-infra-verify-lint

…ps upgrade

* add test scripts to perform two steps upgrade - binary version upgrade and emulated version upgrade.
* config a n-minus-1  prow job for the new test.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/config Issues or PRs related to code in /config area/jobs cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. sig/testing Categorizes an issue or PR as relevant to SIG Testing. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants