-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
CI: Upgrade test on GKE #10422
CI: Upgrade test on GKE #10422
Conversation
Release note label not set, please set the appropriate release note. |
2 similar comments
Release note label not set, please set the appropriate release note. |
Release note label not set, please set the appropriate release note. |
test-gke K8sUpdates* |
test-gke K8sDemosTest* |
test-gke K8s* |
0201d63
to
1ce8c22
Compare
test-gke K8s* (https://jenkins.cilium.io/job/Cilium-PR-K8s-GKE/107/) |
test-gke K8s* (https://jenkins.cilium.io/job/Cilium-PR-K8s-GKE/108/ it passed!) |
test-gke K8s* |
1ce8c22
to
55989c4
Compare
test/helpers/kubectl.go
Outdated
return imageURL, version | ||
} | ||
|
||
func GetLatestCiliumVersion() (imageURL, version string) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
exported function GetLatestCiliumVersion should have comment or be unexported
test/helpers/kubectl.go
Outdated
@@ -172,6 +172,40 @@ func init() { | |||
} | |||
} | |||
|
|||
func GetStableCiliumVersion() (imageURL, version string) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
exported function GetStableCiliumVersion should have comment or be unexported
test-gke K8s* |
test-me-please |
55989c4
to
458231f
Compare
test-me-please |
test-gke K8s* |
test-gke K8sUpdates* |
test-focus K8sUpdates* |
b781249
to
5bf6118
Compare
test-gke K8sUpdates* |
test-focus K8sUpdates* |
5bf6118
to
12ad290
Compare
test-gke K8sUpdates* |
8c1fdcb
to
84d1aec
Compare
test-me-please |
test-gke |
Previously, we unconditionally applied helm options from integration overrides. This meant that specific invocatons could not override the overrides. This is an issue with GKE because it requires options like node-init to be enabled, but this then conflicts with some setup steps in the K8sUpdates test, in particular disabling the node-init pods when generating preflight-only yaml. The code now prefers the most local options, passed in to the function. This shouldn't change any existing invocations since none overrode the global overrides previously. Signed-off-by: Ray Bejjani <ray@isovalent.com>
We have special handling of `.image` helm variables. They are considered fully-qualified URLs if they include a '/' (in our defaults, the registry includes the user/org prefix instead of the image). Tests can assume that that setting only one of registry, image or tag (often tag) will result in usable image URLs. This is true except in the upgrade test, where the stable image is internet-sourced and the target image is the locally built one. In the case where we pass in a `--cilium.image` option that is a fully-qualified URL this is incorrect. This manifests most visibly when running tests against hosted k8s, like GKE or EKS, because the to-test image (i.e. the target upgrade image in the update/upgrade tests) is built and hosted outside the cluster. When given a fully-qualified image URL value we also set the corresponding values for registry and tag. Signed-off-by: Ray Bejjani <ray@isovalent.com>
cilium-preflight's primary purpose is to preload the cilium images into the cluster, so the image used should always match the target agent image. The update/upgrade tests attempt to mimic the instructions we give for upgrades but did not set `preflight.image`. This resulted in the cilium:latest being used (or other arbitrary combiniations with the value of `global.tag`) and the preflight load step would fail. We now initialize, globally, `preflight.image` to match `agent.image`. This allows helm generation for preflight to select the correct image. Signed-off-by: Ray Bejjani <ray@isovalent.com>
Since we use helm install in the update/upgrade test, preflight isn't expected to be running. When we re-run a failed test, this triggers a helm error. Similarly, whatever agent.image is set to during cleanup should also be the value for preflight. It is now set appropriately. Signed-off-by: Ray Bejjani <ray@isovalent.com>
When running on integrations with overrides that enable node-init, K8sUpdateTest would `helm install node-init`, without later removing the node-init pods. This caused helm errors when the test was re-run because of the leaked pods. The test utility functions now delete node-init when cleaning up and disable it when running the preflight pods. Signed-off-by: Ray Bejjani <ray@isovalent.com>
The update/upgrade tests deleted the DNS deployment at various points in order to force the pods to restart with new cilium instances. This left the cluster in a bad state on failure (without DNS), or could cause the left-over DNS deployment to be the wrong one (the test did not account for how DNS was setup globally). Signed-off-by: Ray Bejjani <ray@isovalent.com>
84d1aec
to
7df8ced
Compare
test-gke K8s(Updates)|(FQDNTest)|(ServicesTest).* |
test-focus K8s(Updates)|(FQDNTest)|(ServicesTest).* |
7df8ced
to
397c004
Compare
test-gke K8s(Updates)|(FQDNTest)|(ServicesTest).* |
test-focus K8s(Updates)|(FQDNTest)|(ServicesTest).* |
We sometimes have DNS pods in backoffs longer than the timeouts in tests. Restarting the pods should force them to come online sooner, if at all. Signed-off-by: Ray Bejjani <ray@isovalent.com>
397c004
to
9a94cf3
Compare
test-gke K8s(Updates)|(FQDNTest)|(ServicesTest).* |
test-focus K8s(Updates)|(FQDNTest)|(ServicesTest).* |
test-gke K8s(Updates)|(FQDNTest)|(ServicesTest).* |
test-focus K8s(Updates)|(FQDNTest)|(ServicesTest).* (success https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/18044/console) |
test-gke K8s(Updates)|(FQDNTest)|(ServicesTest).* |
test-gke K8s(Updates)|(FQDNTest)|(ServicesTest).* (https://jenkins.cilium.io/job/Cilium-PR-K8s-GKE/171/console 1 fail in K8sServicesTest Checks service across nodes with L7 policy Tests NodePort with L7 Policy) |
test-me-please (yay! it passed https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/18047/console) |
test-gke (1 fail, the managed etcd flake https://jenkins.cilium.io/job/Cilium-PR-K8s-GKE/172/consoleFull) |
Let's ship it. |
The commits are somewhat independent.
This change is