Skip to content

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

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.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions