apache / apache/cloudstack

Redundant VPC VR goes dual PRIMARY (race condition?)

オープン
#11,710 コメント 23 件 リアクション 1 件 担当者 0 名 GitHub で見る
component:virtual-router status:needs-investigation
主要言語
Java
スター
3.1k
フォーク
1.4k
平均マージ
6日 19時間
マージ済み PR(30日)
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 設定を使い、VPC、ネットワーク層、VM インスタンスを CloudStack 4.21.0 上に配置して、dual-primary 状態を再現します。コメント内のデバッグ情報を読み、インターフェースプログラミングと互いに異なる keepalived 設定を通じて、改変されたアドレス情報を追跡します。ネットワーク層の高速な作成によって 2 つのプライマリ VPC や共有 VIP が生成されなくなり、リカバリ動作が適切な回帰テストでカバーされれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
terraform
領域
cloud, networking
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。