Skip to content

Policy probe util#3790

Open
End-rey wants to merge 2 commits intomasterfrom
policy-probe-util
Open

Policy probe util#3790
End-rey wants to merge 2 commits intomasterfrom
policy-probe-util

Conversation

@End-rey
Copy link
Contributor

@End-rey End-rey commented Jan 28, 2026

Closes #3626.

@codecov
Copy link

codecov bot commented Jan 28, 2026

Codecov Report

❌ Patch coverage is 0% with 83 lines in your changes missing coverage. Please review.
✅ Project coverage is 25.51%. Comparing base (827cad9) to head (b430c89).

Files with missing lines Patch % Lines
cmd/neofs-cli/modules/container/policy/check.go 0.00% 40 Missing ⚠️
cmd/neofs-cli/modules/container/policy/util.go 0.00% 17 Missing ⚠️
cmd/internal/cmdprinter/netmap.go 0.00% 15 Missing ⚠️
cmd/neofs-cli/modules/container/policy/root.go 0.00% 7 Missing ⚠️
cmd/neofs-cli/modules/container/create.go 0.00% 1 Missing ⚠️
cmd/neofs-cli/modules/container/nodes.go 0.00% 1 Missing ⚠️
cmd/neofs-cli/modules/container/root.go 0.00% 1 Missing ⚠️
cmd/neofs-cli/modules/object/nodes.go 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3790      +/-   ##
==========================================
- Coverage   25.52%   25.51%   -0.02%     
==========================================
  Files         660      663       +3     
  Lines       42636    42673      +37     
==========================================
+ Hits        10884    10889       +5     
- Misses      30749    30783      +34     
+ Partials     1003     1001       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@End-rey End-rey force-pushed the policy-probe-util branch 2 times, most recently from 2b79a01 to b430c89 Compare February 4, 2026 18:53
@End-rey End-rey requested a review from roman-khimov February 4, 2026 18:53
Add a CLI utility to validate container policies and display nodes that are
policy-compliant in the current epoch.

Closes #3626.

Signed-off-by: Andrey Butusov <andrey@nspcc.io>
Signed-off-by: Andrey Butusov <andrey@nspcc.io>
Long: `Check placement policy parsing and validation.
Policy can be provided as QL-encoded string, JSON-encoded string or path to file with it.
Shows nodes that will be used for container placement based on current network map snapshot.`,
Args: cobra.NoArgs,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

policy can naturally be an arg (not a flag) imo, but do not insist

return fmt.Errorf("unable to get netmap snapshot to validate container placement: %w", err)
}

placementNodes, err := nm.ContainerNodes(*placementPolicy, cid.ID{})
Copy link
Member

@carpawell carpawell Feb 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cthulhu-rider, is it possible to get a different result in some corner cases if we intentionally put cid.ID{} instead of a real container id?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it's possible if we have a lot of nodes and have to choose some subset of them. Then we should warn that this command result can differ from real container because of that.

return &result, nil
}

return nil, errors.New("can't parse placement policy")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

with no details at all? can be hard to debug for a user, even in --verbose mode

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh, that is a copy from another file, ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Provide storage policy probe util

4 participants