Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebuild Rangers #1594

Merged
merged 3 commits into from
Mar 4, 2024
Merged

Rebuild Rangers #1594

merged 3 commits into from
Mar 4, 2024

Conversation

tiagolobocastro
Copy link
Contributor

refactor(rebuild): use new rebuild rangers

Make use of the rebuild rangers to configure rebuild types.
This allows us to remove the setting of the rebuild map being done
after the rebuild job is created for the nexus and removing it from
the shared rebuild descriptor.

The nexus still uses the partial but sequential rebuild to reduce
the scope of changes.
Once the fully partial rebuild is validated we can switch the nexus
to it.

Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>

feat(rebuild): add rebuild rangers

Adds a set of rebuild rangers which can be used by different rebuilds:
1. full rebuild - walk the entire device range and copy every segment
   (current nexus full rebuild behaviour).
2. partial rebuild - walk the allocated segments only and copy them.
3. partial eq rebuild - walk the entire device range and copy only allocated
   segments (current nexus partial rebuild behaviour).

Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>

io-engine/src/core/segment_map.rs Outdated Show resolved Hide resolved
io-engine/src/rebuild/rebuilders.rs Outdated Show resolved Hide resolved
io-engine/src/rebuild/rebuilders.rs Show resolved Hide resolved
@tiagolobocastro
Copy link
Contributor Author

bors try

bors-openebs-mayastor bot pushed a commit that referenced this pull request Mar 1, 2024
@bors-openebs-mayastor
Copy link

try

Build succeeded:

Adds a set of rebuild rangers which can be used by different rebuilds:
1. full rebuild - walk the entire device range and copy every segment
   (current nexus full rebuild behaviour).
2. partial rebuild - walk the allocated segments only and copy them.
3. partial eq rebuild - walk the entire device range and copy only allocated
   segments (current nexus partial rebuild behaviour).

Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>
Make use of the rebuild rangers to configure rebuild types.
This allows us to remove the setting of the rebuild map being done
after the rebuild job is created for the nexus and removing it from
the shared rebuild descriptor.

The nexus still uses the partial but sequential rebuild to reduce
the scope of changes.
Once the fully partial rebuild is validated we can switch the nexus
to it.

Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>
@tiagolobocastro
Copy link
Contributor Author

bors merge

bors-openebs-mayastor bot pushed a commit that referenced this pull request Mar 4, 2024
1594: Rebuild Rangers r=tiagolobocastro a=tiagolobocastro

    refactor(rebuild): use new rebuild rangers
    
    Make use of the rebuild rangers to configure rebuild types.
    This allows us to remove the setting of the rebuild map being done
    after the rebuild job is created for the nexus and removing it from
    the shared rebuild descriptor.
    
    The nexus still uses the partial but sequential rebuild to reduce
    the scope of changes.
    Once the fully partial rebuild is validated we can switch the nexus
    to it.
    
    Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>

---

    feat(rebuild): add rebuild rangers
    
    Adds a set of rebuild rangers which can be used by different rebuilds:
    1. full rebuild - walk the entire device range and copy every segment
       (current nexus full rebuild behaviour).
    2. partial rebuild - walk the allocated segments only and copy them.
    3. partial eq rebuild - walk the entire device range and copy only allocated
       segments (current nexus partial rebuild behaviour).
    
    Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>


Co-authored-by: Tiago Castro <tiagolobocastro@gmail.com>
@bors-openebs-mayastor
Copy link

Build failed:

@tiagolobocastro
Copy link
Contributor Author

pytest CI also broken on dataplane :(

Pin pytest otherwise newer version seems to not play well with
other packages - we might need to update others first.
todo: update requirements file

Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>
@tiagolobocastro
Copy link
Contributor Author

bors merge

@bors-openebs-mayastor
Copy link

🕐 Waiting for PR status (Github check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set.

bors-openebs-mayastor bot pushed a commit that referenced this pull request Mar 4, 2024
1594: Rebuild Rangers r=tiagolobocastro a=tiagolobocastro

    refactor(rebuild): use new rebuild rangers
    
    Make use of the rebuild rangers to configure rebuild types.
    This allows us to remove the setting of the rebuild map being done
    after the rebuild job is created for the nexus and removing it from
    the shared rebuild descriptor.
    
    The nexus still uses the partial but sequential rebuild to reduce
    the scope of changes.
    Once the fully partial rebuild is validated we can switch the nexus
    to it.
    
    Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>

---

    feat(rebuild): add rebuild rangers
    
    Adds a set of rebuild rangers which can be used by different rebuilds:
    1. full rebuild - walk the entire device range and copy every segment
       (current nexus full rebuild behaviour).
    2. partial rebuild - walk the allocated segments only and copy them.
    3. partial eq rebuild - walk the entire device range and copy only allocated
       segments (current nexus partial rebuild behaviour).
    
    Signed-off-by: Tiago Castro <tiagolobocastro@gmail.com>


Co-authored-by: Tiago Castro <tiagolobocastro@gmail.com>
@bors-openebs-mayastor
Copy link

Build failed:

@tiagolobocastro
Copy link
Contributor Author

bors merge

@bors-openebs-mayastor
Copy link

Build succeeded:

@bors-openebs-mayastor bors-openebs-mayastor bot merged commit b7b900f into develop Mar 4, 2024
4 checks passed
@bors-openebs-mayastor bors-openebs-mayastor bot deleted the rebuild branch March 4, 2024 16:31
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.

3 participants