Skip to content

replace cpx11 with cpx22 in e2e tests for hetzner - #1935

Merged
jakubhlavacka merged 3 commits into
masterfrom
bug/fix-e2e-pipeline-by-changing-hetzner-servertypes
Jan 7, 2026
Merged

replace cpx11 with cpx22 in e2e tests for hetzner#1935
jakubhlavacka merged 3 commits into
masterfrom
bug/fix-e2e-pipeline-by-changing-hetzner-servertypes

Conversation

@jakubhlavacka

@jakubhlavacka jakubhlavacka commented Jan 7, 2026

Copy link
Copy Markdown
Contributor

This PR fixes the e2e pipeline because Hetzner stopped orders for some servers https://docs.hetzner.cloud/changelog#2025-10-16-server-types-deprecated

Summary by CodeRabbit

  • Documentation
    • Updated Hetzner machine-type values across multiple guides and examples to reflect newer server types.
  • Tests
    • Adjusted test manifest examples to use the updated machine-type values.
  • Chores
    • Updated hardware specifications for testing environment node pools.
    • Bumped runtime image tags used in manifest kustomizations.

✏️ Tip: You can customize this high-level summary in your review settings.

@jakubhlavacka jakubhlavacka self-assigned this Jan 7, 2026
@jakubhlavacka jakubhlavacka added the test-set-ordinary Will select ordinary test-sets that tests the general functionally of building/modifying clusters label Jan 7, 2026
@coderabbitai

coderabbitai Bot commented Jan 7, 2026

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

Updated numerous YAML examples, test manifests, and kustomization image tags: primarily changed Hetzner node pool serverType values (e.g., cpx11/cpx21/cpx41cpx22/cpx42/cpx52) across docs and tests; also updated several runtime image newTag values in kustomization files. No API or structural changes.

Changes

Cohort / File(s) Summary
Testing framework manifests
manifests/testing-framework/test-sets/test-set2/1.yaml, manifests/testing-framework/test-sets/test-set2/2.yaml, manifests/testing-framework/test-sets/test-set2/3.yaml
Changed Hetzner node pool serverType from cpx11cpx22 in dynamic nodePools (htz-ldbl-nodes, htz-kube-nodes).
Documentation — input manifests & examples
docs/input-manifest/example.md, docs/input-manifest/external-templates.md, docs/input-manifest/providers/hetzner.md, docs/input-manifest/providers/on-prem.md, docs/input-manifest/...
Replaced multiple example serverType values (mostly cpx11cpx22, plus other CPX variant updates) across input-manifest examples.
Documentation — guides & other docs
docs/contributing/local-testing.md, docs/getting-started/detailed-guide.md, docs/storage/storage-solution.md, docs/update/update.md, docs/llms-full.txt
Updated example node pool serverType values (e.g., cpx51cpx52, cpx21cpx22, cpx41cpx42); minor newline addition in update.md.
Tests
services/manager/internal/service/watchers_test.go
Test fixture YAML updated: dynamic nodePools[0].serverType changed from cpx11cpx22 (test data only).
Kustomization — runtime images
manifests/claudie/kustomization.yaml, manifests/testing-framework/kustomization.yaml
Updated ghcr.io/berops/claudie image newTag values from 322cee7-3768be9a34e-3790 across multiple components.

Possibly related PRs

Suggested labels

test-set-ordinary

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title directly addresses the main change: replacing cpx11 with cpx22 in e2e tests for Hetzner, which aligns with the PR objective of fixing the e2e pipeline due to deprecated server types.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a815849 and 84b9fee.

📒 Files selected for processing (2)
  • manifests/claudie/kustomization.yaml
  • manifests/testing-framework/kustomization.yaml

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@bernardhalas
bernardhalas self-requested a review January 7, 2026 10:58

@bernardhalas bernardhalas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

50% more expensive, but 4x as powerful.
LGTM

@jakubhlavacka jakubhlavacka removed the test-set-ordinary Will select ordinary test-sets that tests the general functionally of building/modifying clusters label Jan 7, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In @docs/update/update.md:
- Line 54: The "Changing the Server Type" example currently shows the same value
for serverType in both old and new examples; update the example so the old and
new configurations differ (e.g., change the "old version" serverType from cpx22
to a prior type like cpx20 or change the "new version" to cpx32) so it actually
demonstrates a server type change; update all occurrences where serverType
remains identical in that example (the duplicated entries at the example block
referenced) to reflect a meaningful change.
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 47aa618 and a815849.

📒 Files selected for processing (10)
  • docs/contributing/local-testing.md
  • docs/getting-started/detailed-guide.md
  • docs/input-manifest/example.md
  • docs/input-manifest/external-templates.md
  • docs/input-manifest/providers/hetzner.md
  • docs/input-manifest/providers/on-prem.md
  • docs/llms-full.txt
  • docs/storage/storage-solution.md
  • docs/update/update.md
  • services/manager/internal/service/watchers_test.go
✅ Files skipped from review due to trivial changes (2)
  • docs/contributing/local-testing.md
  • docs/llms-full.txt
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-12-17T11:30:35.351Z
Learnt from: JKBGIT1
Repo: berops/claudie PR: 1921
File: manifests/testing-framework/test-sets/rolling-update-2/1.yaml:84-89
Timestamp: 2025-12-17T11:30:35.351Z
Learning: In Claudie manifests (manifests/testing-framework/test-sets/), node pools with names containing "ldbl" or used in the `loadBalancers.clusters.pools` section are load balancer node pools, not control plane or compute plane nodes. Load balancer node pools have different resource requirements and are not subject to the same CPU/memory specifications as master (control) and worker (compute) nodes.

Applied to files:

  • docs/input-manifest/example.md
  • docs/storage/storage-solution.md
  • docs/input-manifest/providers/on-prem.md
📚 Learning: 2025-08-13T14:22:14.668Z
Learnt from: Despire
Repo: berops/claudie PR: 1819
File: services/kuber/server/domain/utils/nodes/patch.go:230-237
Timestamp: 2025-08-13T14:22:14.668Z
Learning: In services/kuber/server/domain/utils/nodes/patch.go, the user Despire has observed that using "replace" operation for JSON-Patch on /spec/taints works fine on newly added taints in their testing environment, even though the JSON-Patch specification suggests "replace" should fail on missing fields.

Applied to files:

  • services/manager/internal/service/watchers_test.go
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Run golangci-lint
  • GitHub Check: gotest
  • GitHub Check: build-and-push
🔇 Additional comments (7)
docs/input-manifest/providers/on-prem.md (1)

108-108: ✓ Appropriate server type upgrade for control plane pool.

The change from cpx11 to cpx22 correctly addresses the Hetzner server type deprecation. cpx22 is a suitable replacement for control plane nodes and provides improved resource allocation compared to the deprecated type.

docs/storage/storage-solution.md (1)

59-59: ✓ Consistent role-based server type upgrades across node pool examples.

All server type updates correctly address Hetzner deprecation while maintaining appropriateness for each pool's role:

  • Control (line 59): cpx21cpx22 — suitable for control plane
  • Datastore (line 68): cpx21cpx22 — adequate for persistence workloads with storage disk allocation
  • Compute (line 82): cpx41cpx42 — upgrade supports compute workloads
  • Load balancer (line 95): cpx21cpx22 — appropriate for load balancer role

The changes maintain the logical resource hierarchy across pool types and the storage example remains coherent.

Also applies to: 68-68, 82-82, 95-95

docs/getting-started/detailed-guide.md (1)

342-342: ✓ Appropriate server type upgrade for bursting compute pool.

The change from cpx51 to cpx52 correctly addresses Hetzner deprecation and is well-suited for the bursting compute node pool. The upgrade provides improved resources for workload distribution and is compatible with the autoscaler configuration.

docs/input-manifest/external-templates.md (1)

124-124: LGTM - Documentation updated to use available server types.

The serverType updates from cpx11 to cpx22 across all three nodepools (control-htz, compute-1-htz, compute-2-htz) are consistent with the PR objective to replace deprecated Hetzner server types.

Also applies to: 138-138, 153-153

services/manager/internal/service/watchers_test.go (1)

319-319: LGTM - Test fixture updated to use available server type.

The test data now uses cpx22 instead of the deprecated cpx11, ensuring tests run against valid Hetzner server types.

docs/input-manifest/providers/hetzner.md (1)

86-86: LGTM - Documentation examples updated consistently.

All Hetzner provider examples now use cpx22 instead of the deprecated cpx11, covering both single-provider and multi-provider scenarios.

Also applies to: 100-100, 115-115, 174-174, 188-188, 202-202, 217-217

docs/input-manifest/example.md (1)

111-111: LGTM - Comprehensive example updated with available server types.

All Hetzner nodepools in the example manifest now use cpx22, covering control, compute, autoscaled, and loadbalancer node pools.

Also applies to: 129-129, 143-143, 261-261

Comment thread docs/update/update.md
@jakubhlavacka

Copy link
Copy Markdown
Contributor Author

Merging this PR, since the e2e pipeline didn't fail on the Hetzner error but on #1920

@jakubhlavacka
jakubhlavacka added this pull request to the merge queue Jan 7, 2026
Merged via the queue into master with commit 059acae Jan 7, 2026
@jakubhlavacka
jakubhlavacka deleted the bug/fix-e2e-pipeline-by-changing-hetzner-servertypes branch January 7, 2026 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants