apache / apache/cloudstack

Redundant VPC VR goes dual PRIMARY (race condition?)

未关闭
#11,710 23 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
component:virtual-router status:needs-investigation
主要语言
Java
星标
3.1k
派生
1.4k
平均合并
6 天 19 小时
30 天内合并 PR
32

描述

### problem

When multiple network tiers are brought up in quick succession in a redundant VPC, I can consistently reproduce both VPCs going primary.

This is really bad because the VIP is then owned by both Virtual Routers and it means traffic is getting dropped like crazy, it makes the entire VPC unusable. Restarting the VPC recovers it to a good state.

Please see the comments for debugging information, but in short it appears at least one of the nodes ends up getting munged address information which causes the wrong ips to be programmed on interfaces and the keepalived configs to diverge between nodes which causes the dual primary. The underlying cause of the issue is this munged address information.

### versions

4.21.0

### The steps to reproduce the bug

Use Terraform to create the VPC, network tiers, and VM Instances.
Terraform configuration being used is here: https://github.com/bradh352/terraform-config

### What to do about it?

_No response_

贡献指南

打开贡献指南

调研方向

首先,使用 issue 中链接的 Terraform 配置复现双主状态,在 CloudStack 4.21.0 上配置 VPC、网络层和 VM 实例。阅读评论中的调试信息,并通过接口编程和彼此不同的 keepalived 配置跟踪被篡改的地址信息。当快速创建网络层不再产生两个主 VPC 或共享 VIP,并且恢复行为由适当的回归测试覆盖时,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
terraform
领域
cloud, networking
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
活跃
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。