Open1
[調査] MetalLB
タイトル
- プール・セレクタに重複したipaddresspoolsを含む不明確なメッセージ
バグ解説
- ipaddresspoolセレクタに2回同じ名前のbgp advertisement /l2 advertisemetを作成し、エラーを確認する
メンテナの指摘
A clear message that tells me to remove the duplicate entry from advertisement xy.
I suspect this also applies in other areas where we use the validate* functions.
Advertisement XYから重複したエントリーを削除するようにのような明確なメッセージ
これは、validate*関数を使う他の分野でも当てはまるのではないでしょうか
再現
inv dev-env
コードリーディング:
Label Selector の重複を検査している
fmt.Errorf("duplicate definition of %s %q", labelSelectorType, labelSelectors[i])
この関数は以下で参照されている
*[main][~/workspace/ghq/github.com/metallb/metallb]$ pt validateLabelSelectorDuplicate
./internal/config/config.go
416: err = validateLabelSelectorDuplicate(p.Spec.NodeSelectors, "nodeSelectors")
540: err := validateLabelSelectorDuplicate(p.Spec.AllocateTo.NamespaceSelectors, "namespaceSelectors")
544: err = validateLabelSelectorDuplicate(p.Spec.AllocateTo.ServiceSelectors, "serviceSelectors")
707: err = validateLabelSelectorDuplicate(crdAd.Spec.IPAddressPoolSelectors, "ipAddressPoolSelectors")
711: err = validateLabelSelectorDuplicate(crdAd.Spec.NodeSelectors, "nodeSelectors")
742: err = validateLabelSelectorDuplicate(crdAd.Spec.IPAddressPoolSelectors, "ipAddressPoolSelectors")
746: err = validateLabelSelectorDuplicate(crdAd.Spec.NodeSelectors, "nodeSelectors")
1041:func validateLabelSelectorDuplicate(labelSelectors []metav1.LabelSelector, labelSelectorType string) error {
Duplicate 系のやつ