Skip to content

mon: auto generate ec profile when creating a new pool#3

Open
CJamesIBM wants to merge 9 commits into
aainscow:stretchy-Cfrom
CJamesIBM:ec_stretch_auto_profile
Open

mon: auto generate ec profile when creating a new pool#3
CJamesIBM wants to merge 9 commits into
aainscow:stretchy-Cfrom
CJamesIBM:ec_stretch_auto_profile

Conversation

@CJamesIBM
Copy link
Copy Markdown

Introduces 3 new variables to pool creation;

  • k
  • m
  • num_zones

If K and M are provided as args to osd pool create a k+m EC profile will be automatically created, other profile values are taken from the default ec profile.

num_zones can be optionally provided to overwrite the default value of 1.

Various logic is introduced to maintain old style profile / pool creation, handle conflicting profiles and unsupported values of k, m and num_zones.

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.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Previously bitset set did not exploit its bit-set nature by providing
bitshift and other logical operators.

Here we add <<, >>, <<=, >>=, &, |, &=

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Previously, there was no way of swapping out a transaction intended for
one shard and applying it a different shard.

This kind of functionality is very useful for EC stretched mode, as we
often want to send the same transaction to two different shards.

Due to the way transactions store a table of objects, it turns out that
this is surprisingly simply process!

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
This commit reflects an old design. We put the num_zones in the profile.

Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
Signed-off-by: Alex Ainscow <aainscow@uk.ibm.com>
@CJamesIBM
Copy link
Copy Markdown
Author

Documentation probably needs updating

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

This pull request can no longer be automatically merged: a rebase is needed and changes have to be manually resolved

Introduces three new optional parameters to 'osd pool create' command (ec_k, ec_m, ec_num_zones) that enable automatic EC profile creation alongside pool creation.

The num_zones parameter is moved from the EC profile level to the pool level.

Signed-off-by: Callum James <callum.james@ibm.com>
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.

2 participants