From 5d7451d388b5984d5ed54f2f6f4b697a332d77b7 Mon Sep 17 00:00:00 2001 From: Alex Vanin Date: Tue, 26 Jan 2021 19:57:03 +0300 Subject: [PATCH] [#349] innerring/audit: Use pivot in container placement Pivot used to shuffle nodes in the CRUSH tree. This is required argument. We use container ID value to select container nodes, so `nil` value produces incorrect placements. Signed-off-by: Alex Vanin --- pkg/innerring/processors/audit/process.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/innerring/processors/audit/process.go b/pkg/innerring/processors/audit/process.go index 28d01617..fa040ee6 100644 --- a/pkg/innerring/processors/audit/process.go +++ b/pkg/innerring/processors/audit/process.go @@ -58,8 +58,10 @@ func (ap *Processor) processStartAudit(epoch uint64) { continue } + pivot := containers[i].ToV2().GetValue() + // find all container nodes for current epoch - nodes, err := nm.GetContainerNodes(cnr.PlacementPolicy(), nil) + nodes, err := nm.GetContainerNodes(cnr.PlacementPolicy(), pivot) if err != nil { log.Info("can't build placement for container, ignore", zap.Stringer("cid", containers[i]),