Redundant VPC VR goes dual PRIMARY (race condition?)
- 主要语言
- 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