Skip to content

Loadbalancer rule assignment fixes#113

Merged
hrak merged 2 commits intodevelopfrom
lb_network_bug_fixes
Mar 19, 2026
Merged

Loadbalancer rule assignment fixes#113
hrak merged 2 commits intodevelopfrom
lb_network_bug_fixes

Conversation

@hrak
Copy link
Copy Markdown
Member

@hrak hrak commented Mar 19, 2026

Issue #, if available:

Description of changes:

  • Compare actual LB rule IDs in the CloudStackIsolatedNetwork watch
    predicate
  • Use sanitized IsolatedNetworkName() in GenerateIsolatedNetwork
  • Fix IsolatedNetwork() to return the cached CloudStackIsolatedNetwork
    when already populated, instead of returning an empty object
  • When a load balancer rule disappears from CloudStack (e.g. due to IP
    disassociation or external deletion), the machine controller would fail
    hard on ListLoadBalancerRuleInstances and get stuck in an error loop.

Testing performed:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

hrak and others added 2 commits March 19, 2026 13:06
- Compare actual LB rule IDs in the CloudStackIsolatedNetwork watch
  predicate instead of only comparing the count. This ensures control
  plane machines are re-reconciled when rule IDs change even if the
  number of rules stays the same.
- Use sanitized IsolatedNetworkName() in GenerateIsolatedNetwork to
  ensure the Kubernetes object name matches the lookup name. Previously,
  network names containing dots would cause a mismatch between creation
  and lookup.
- Fix IsolatedNetwork() to return the cached CloudStackIsolatedNetwork
  when already populated, instead of returning an empty object.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When a load balancer rule disappears from CloudStack (e.g. due to IP
disassociation or external deletion), the machine controller would fail
hard on ListLoadBalancerRuleInstances and get stuck in an error loop.
Now non-existent rules are skipped with a warning event, allowing the
machine controller to continue processing remaining rules while the
isolated network controller re-creates the missing ones.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@hrak hrak merged commit 95aadbe into develop Mar 19, 2026
3 checks passed
@hrak hrak deleted the lb_network_bug_fixes branch March 19, 2026 15:43
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.

2 participants