Skip to content

test/encoding/readable: Add backward incompat checks#66544

Merged
SrinivasaBharath merged 2 commits intoceph:mainfrom
NitzanMordhai:wip-nitzan-encoder-test-backward-incompability-checks
Feb 18, 2026
Merged

test/encoding/readable: Add backward incompat checks#66544
SrinivasaBharath merged 2 commits intoceph:mainfrom
NitzanMordhai:wip-nitzan-encoder-test-backward-incompability-checks

Conversation

@NitzanMordhai
Copy link
Contributor

@NitzanMordhai NitzanMordhai commented Dec 7, 2025

readable.sh script have forward incompat checheck, but no backward incompat checks.
the fix will add check for backward_incompat directory for each type for specific object or all objects with the same type and skip those object form being test.

the different between backward and forward incompat:

  • forward_incompat: Marks objects from older versions that newer ceph-dencoder versions cannot read. Example: Version 19.2.x objects marked incompat at version 20.2.x means ceph-dencoder v20.2.x+ can't decode them. Skip when testing old objects with a new ceph-dencoder.

  • backward_incompat: Marks objects from newer versions that older ceph-dencoder versions cannot read. Example: Version 19.2.x objects marked backward_incompat at v19.2.x means ceph-dencoder < v19.2.x can't decode them. Skip when testing new objects with an old ceph-dencoder.

https://tracker.ceph.com/issues/74074

Contribution Guidelines

  • To sign and title your commits, please refer to Submitting Patches to Ceph.

  • If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.

  • When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an x between the brackets: [x]. Spaces and capitalization matter when checking off items this way.

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands

You must only issue one Jenkins command per-comment. Jenkins does not understand
comments with more than one command.

@NitzanMordhai NitzanMordhai requested review from a team and rzarzynski December 7, 2025 14:32
@github-actions github-actions bot added the tests label Dec 7, 2025
@ljflores ljflores added the core label Dec 8, 2025
@ljflores
Copy link
Member

ljflores commented Dec 8, 2025

jenkins test api

@NitzanMordhai NitzanMordhai force-pushed the wip-nitzan-encoder-test-backward-incompability-checks branch from da5281e to 12266b5 Compare February 2, 2026 07:38
@sseshasa
Copy link
Contributor

sseshasa commented Feb 2, 2026

@SrinivasaBharath
Copy link
Contributor

jenkins test make check

@NitzanMordhai NitzanMordhai force-pushed the wip-nitzan-encoder-test-backward-incompability-checks branch 5 times, most recently from 673eab2 to 8f7fc71 Compare February 3, 2026 10:21
@NitzanMordhai
Copy link
Contributor Author

Don't merge it yet! i need to check some errors

@NitzanMordhai NitzanMordhai force-pushed the wip-nitzan-encoder-test-backward-incompability-checks branch from 8f7fc71 to d481b9e Compare February 9, 2026 13:06
@NitzanMordhai NitzanMordhai requested a review from a team as a code owner February 9, 2026 13:06
NitzanMordhai and others added 2 commits February 9, 2026 14:53
The python script test_readable.py was added for backword and forward
compability. maintaining 2 scripts that finally doing the same is west,
reverting and using readable.sh and leave the python out.

https://tracker.ceph.com/issues/74074
Signed-off-by: Nitzan Mordechai <nmordech@ibm.com>
The readable.sh script has forward incompat checks, but no
backward incompat checks.

This fix will:
 1. Add check for backward_incompat directory for each type for specific
    objects or all objects with the same type and skip those objects from being tested.
 2. Add version comparison helper functions (version_lt, version_le, version_ge,
    versions_span) for robust version handling
 3. Replace 'sort -n' with 'sort -V' for proper version number sorting
 4. Add CORPUS_PATH environment variable to allow teuthology tests to execute this script
 5. Improve readability of the script

The difference between backward and forward incompat:
- forward_incompat: Marks objects from older versions that newer ceph-dencoder
  versions cannot read. Example: Version 19.2.x objects marked incompat at version 20.2.x
  means ceph-dencoder v20.2.x+ can't decode them. Skip when testing old objects
  with a new ceph-dencoder.
- backward_incompat: Marks objects from newer versions that older ceph-dencoder
  versions cannot read. Example: Version 19.2.x objects marked backward_incompat at v19.2.x
  means ceph-dencoder < v19.2.x can't decode them. Skip when testing new objects
  with an old ceph-dencoder.

Fixes: https://tracker.ceph.com/issues/74074
Signed-off-by: Nitzan Mordechai <nmordech@ibm.com>
@NitzanMordhai NitzanMordhai force-pushed the wip-nitzan-encoder-test-backward-incompability-checks branch from d481b9e to 011b25d Compare February 9, 2026 14:53
@rzarzynski
Copy link
Contributor

@NitzanMordhai: is this still a DNM?

@ljflores
Copy link
Member

ljflores commented Feb 9, 2026

Let's re-add "needs-qa" when it's ready again.

@NitzanMordhai
Copy link
Contributor Author

@NitzanMordhai: is this still a DNM?

i made some changes, and like @ljflores mention, lets re add the needs qa and remove DNM

@ljflores
Copy link
Member

jenkins test signed

@ljflores
Copy link
Member

jenkins test submodules

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants