Repository navigation
[Backport release-1.6] fix(kubeovn): retry VM migration setup after scheduling - #4328
Conversation
|
Please cherry-pick the changes locally and resolve any conflicts. git fetch origin backport-4253-to-release-1.6
git worktree add --checkout .worktree/backport-4253-to-release-1.6 backport-4253-to-release-1.6
cd .worktree/backport-4253-to-release-1.6
git reset --hard HEAD^
git cherry-pick -x 55a2918fcbe894982634280fdf543da4a4feb7a6 6e904470910e4ec627cfb4098c8d8b7a08011897
git push --force-with-lease |
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Repository: cozystack/cozystack/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
This one is not a conflict to resolve — The red check is the first symptom: Two other things happened on the way: the branch carries one of the two patches from #4253 — Green CI would not be enough either. 1.6 runs the image its chart repo pins, The bug itself is present on 1.6: both lines run kube-ovn 1.15.10. Three routes, and the choice is yours:
I can prepare 3 as a branch if that is the direction. 2 needs write access to an archived repository, which I do not have. |
|
One correction to route 3, after #4329 was filed yesterday: a fork PR that adds a new first-party image cannot get a green So porting the |
97fd1a1 to
92ba38c
Compare
…pping the pod range (#4432) Backport of #3750 to `release-1.6`. Sandbox Talos config and platform install on this branch still both use `10.244.0.0/16`, so kube-ovn and cilium allocate from one range and cilium refuses pod sandboxes with `IP ... is already in use`. It hit `mariadb-2-backup-roundtrip` on the E2E run of #4328 here. Cherry-picked clean with `-x`. ### Testing - `make unit-tests` green, POSIX sh sweep clean. - Real check is E2E on this PR. ```release-note NONE ```
92ba38c to
6e1ecbc
Compare
…opic operator is removed (#4456) Backport of #3938 and #4280 to `release-1.6`, together, because #3938 alone breaks every Kafka deletion (#4276) and #4280 is what fixes that. Kafka suite on this branch fails the delete step on 2 of the last 3 E2E runs on the container lane (#4328, #4377), both times with `UninstallFailed ... KafkaTopic/tenant-test/kafka-test-test-results termination timeout: context deadline exceeded`. Helm removes the topic operator together with the release, a KafkaTopic that still carries the `strimzi.io/topic-operator` finalizer then has nobody to release it, so uninstall waits out its timeout and leaves the topic behind, which is what #3793 hits on reinstall. When the operator wins the race the same delete takes 3s. The pre-delete hook from #3938 deletes the release topics while the operator is still running, #4280 makes it actually reach the apiserver and reaps its credentials. All ten commits cherry-picked clean with `-x`. Kafka on this branch is still ZooKeeper-based, the hook does not depend on that: it selects topics by `strimzi.io/cluster=<release>`, the label the 1.6 chart puts on them. ### Testing - `make unit-tests` green (kafka helm unit tests and `hack/kafka-pre-delete-hook.bats` included), POSIX sh sweep clean. - E2E on this PR runs the kafka suite, which now asserts both release topics are gone after deletion. ```release-note fix(kafka): delete release-owned KafkaTopics before removing the Strimzi topic operator ```
kubeovn was the last package whose chart and image were produced by a separate repository: packages/system/kubeovn pulled a tarball from the latest cozystack/kubeovn-chart tag at update time, and that repository built and pushed the image. The wrapper existed only to cache the upstream chart; with the current caching that reason is gone, and the split cost a second repository, a second release step, and a package whose provenance a reader could not follow without leaving the tree. Move the wrapper in, shaped like packages/system/cilium: update pulls the upstream kube-ovn chart directly and applies patches/mtu.diff, and image builds images/kubeovn and pins the digest into values.yaml. The MTU patch already carried monorepo-relative paths, so it applies here unchanged. Also carries cozystack/kubeovn-chart#5, which never got a tag: pin OVN_IPSEC_KEY_DIR under /var/lib. The kube-ovn default sits in /etc/origin, which a Talos node cannot create, so enabling IPsec left the node without ESP security associations. Co-authored-by: Timofei Larkin <[email protected]> Co-authored-by: Kirill Ilin <[email protected]> Co-authored-by: Aleksei Sviridkin <[email protected]> Assisted-By: Claude Signed-off-by: Andrei Kvapil <[email protected]> (cherry picked from commit 7ebce2e) Signed-off-by: Myasnikov Daniil <[email protected]>
The nightly host rewrite is a literal "<src-registry>/" substring replace, so it only reaches a host sitting contiguously in front of the repository. kubeovn keeps its host in global.registry.address with the bare repository in a sibling key: no trailing slash, no match. The image was mirrored to the public registry and the tree kept pointing at the private build registry. The gap was dormant while kubeovn's image came from a separate repository, because the baked ref carried the public host and the ownership filter skipped it. Building the image in-tree stamps the build-registry host into that key and turns it live, so fix it here. Add an end-of-line-anchored expression that fires only when the source registry is the complete value; a contiguous ref continues past the host, so the two expressions cannot both fire on one reference. keycloak-operator splits at a different boundary and stays unfixed -- neither of its keys holds the source registry as a whole. Documented, and dormant while no CI path rebuilds it. Assisted-By: Claude Signed-off-by: Andrei Kvapil <[email protected]> (cherry picked from commit 6cb5793) Signed-off-by: Myasnikov Daniil <[email protected]>
Signed-off-by: Yan Bondarenko <[email protected]> (cherry picked from commit 55a2918) Signed-off-by: Myasnikov Daniil <[email protected]>
Signed-off-by: Yan Bondarenko <[email protected]> (cherry picked from commit 6e90447) Signed-off-by: Myasnikov Daniil <[email protected]>
6e1ecbc to
e087e38
Compare
A hand backport that carries more than one change names all of them in one phrase -- "Backport of #3938 and #4280", or "Backport of #4253 to `release-1.6`, together with #3460" for a dependency pulled along -- and the audit read only the first number after "Backport of". The rest were linked to nothing. A labelled original in second place then read as MISSING while its backport PR was still open, instead of pending, and once that PR merged it counted as landed only if the branch history happened to prove it. Read the whole reference list the phrase carries, and the together-with form this repository writes. A list counts in full only when it visibly ends: at the end of the line or the sentence, or where a "to release-X.Y" clause names the target line, with the line name a whole word: release-1.6-fixes, release-1.6.1 and release-1.6.fixes are not lines, so punctuation after the name ends it only when a space or the end of the text follows. One that runs on into anything else -- "Backport of #10, #20 is not included", or "#10, #20 to follow in a separate PR" -- may be saying something about its later items, so only its first reference, the one the phrase names directly, is kept. The issue a backport fixes, or a CI run it cites further on in the body, is never taken for an original. A reference qualified with another repository is now skipped instead of read as a local number. That also tightens the old first-number rule, which accepted any owner/repo prefix: "Backport of other/repo#20" linked local #20, so a merged backport of something unrelated could turn that PR's MISSING verdict into backported. Only a bare #N or one qualified with the repository the backport PR itself lives in, compared without regard to case, is an original. Over every PR on release-1.4, release-1.5 and release-1.6 this changes the links of exactly four: #4456 and #4421 each gain #4280, #4377 gains #4231 and #4328 gains #3460. No verdict moves today, since none of the added originals carries a backport label. Assisted-by: LLM Signed-off-by: Myasnikov Daniil <[email protected]>
Description
Backport of #4253 to
release-1.6, together with #3460 which it depends on. On 1.6 kube-ovn chart and image still come from cozystack/kubeovn-chart, so draft Dockerfile had nothing to build it and kubeovn build failed (noimagetarget). #3460 moves build in-tree on same kube-ovn 1.15.10 this branch runs, and brings nightly-mirror fix for kube-ovn split registry host that becomes needed once kube-ovn is built by CI. Bot draft also dropped second commit of #4253 (fix-vmim-target-pod-retry.diff), it is back now.I built image locally, all three patches apply to kube-ovn v1.15.10 and
TestVMIMigrationSchedulingRetrypasses.