Skip to content

fix(rest): refuse props edits on create doors, honour definitions_only, drop tracker numbers - #216

Open
Andrei Kvapil (kvaps) wants to merge 2 commits into
fix/csi-clone-and-restore-idempotencyfrom
fix/create-spawn-prop-fields
Open

Andrei Kvapil (kvaps) wants to merge 2 commits into
fix/csi-clone-and-restore-idempotencyfrom
fix/create-spawn-prop-fields

Conversation

@kvaps

@kvaps Andrei Kvapil (kvaps) commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

rd create and rg spawn decoded override_props, delete_props and delete_namespaces and dropped them, answering success for an edit that never happened. A create has no props to edit yet, and neither golinstor nor python-linstor sends these fields on either call, so a non-empty one is now refused with 400 naming the field and where props go instead. With #190 this covers what #202 lists for spawn. partial is still decoded and not acted on; that predates this PR and stays open.

rg spawn also ignored definitions_only (linstor rg spawn --definitions-only) and placed replicas anyway. It now stops after the definition and its volumes.

Operator-facing strings no longer carry internal tracker numbers: errors, events and log lines said things like "(Bug 174)" or "pending Phase 12". The src_snap_name refusal now says what is not supported, and the comment that still called that field a no-op is gone. A test walks every string literal in pkg, internal and cmd and fails on a tracker number, so new ones don't creep back.

Stacked on #190.

Fixes #210
Fixes #211

Testing

  • Each new refusal and the definitions_only branch were reverted in turn, and the named test fails each time.
  • An L6 cli-matrix cell and an L7 replay (rg-spawn-definitions-only) pin the definitions-only spawn at operator-CLI level. Not run on a stand.
  • go test ./...: green apart from the known pkg/rest shutdown flake.
  • golangci-lint on the changed lines: clean.
  • Not run on a stand.

@coderabbitai

coderabbitai Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 3db78386-f720-49eb-82c7-d31dc663f3e4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

rd create and rg spawn decoded override_props, delete_props and
delete_namespaces and dropped them, answering success for an edit that
never happened. A create has no props to edit yet, and neither
golinstor nor python-linstor sends these fields there, so a non-empty
one is now refused with 400 naming the field and where props go
instead.

rg spawn also ignored definitions_only and placed replicas anyway; it
now stops after the definition and its volumes.

Error messages, events and log lines no longer carry internal tracker
numbers ("Bug 174", "pending Phase 12"). A test walks the shipped
string literals and fails on one. The src_snap_name refusal says what
is unsupported instead of naming a phase, and the stale comment that
called the field a no-op is gone.

Fixes #210
Fixes #211

Assisted-by: LLM
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
`linstor rg spawn-resources --definition-only` placed replicas before
the fix. An L6 cli-matrix cell and an L7 replay check that the
definition and its volume exist and that no replica appears over a
hold window.

Assisted-by: LLM
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
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.

1 participant