Skip to content

[Deprecation] Retired Config Options and Blocks Still Accepted #204

@silug

Description

@silug

Summary

warn-retirements currently allows various retired options/blocks and logs warnings (with one hard failure for url-prefix).

Evidence

  • src/puppetlabs/puppetdb/config.clj:598 defines warn-retirements.
  • src/puppetlabs/puppetdb/config.clj:607 onward lists retired keys (for example [database] classname/subprotocol and others) that are ignored with warning.
  • src/puppetlabs/puppetdb/config.clj:625 warns [repl] block is retired.
  • src/puppetlabs/puppetdb/config.clj:630 treats [global] url-prefix as retired and exits.
  • test/puppetlabs/puppetdb/config_test.clj:474 validates warning behavior for retired items.

Proposed OpenVoxDB 9 Change

  • Move from warn-and-ignore to explicit rejection for retired options/blocks.
  • Keep url-prefix hard-fail behavior and align others with it.

Compatibility / Risk

  • Medium risk for long-lived deployments carrying stale options.
  • Better operational safety by failing early instead of ignoring.

Implementation Notes

  • Group errors to reduce iterative startup failures.
  • Provide direct migration guidance per retired key/block.

Acceptance Criteria

  • Retired options/blocks are rejected consistently.
  • No warn-and-ignore behavior remains for retired config (except if deliberately retained as transitional policy).
  • Tests updated to match strict behavior.

Suggested Tests

  • Config validation tests for each retired key category.
  • Startup failure message tests for [repl] and retired [database]/[read-database] keys.

Metadata

Metadata

Assignees

No one assigned

    Labels

    deprecationThis issue pertains to an item/topic which has been deprecated

    Type

    No type

    Projects

    Status

    Deprecated

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions