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

More crutest and dsc updates to support Volume layer activities. #1472

Merged
merged 4 commits into from
Sep 26, 2024

Commits on Sep 25, 2024

  1. More crutest and dsc updates to support Volume layer activities.

    These changes should be a fix for both issues:
    #1451
    #1457
    
    This adds support for crutest to use a provided dsc endpoint to construct
    a Volume object.
    
    Moved the existing volume creation steps to a new function, and added another
    option on how we can create a Volume.  The two previous ways of creating
    a volume are not changed (though I changed a log message and added some
    warnings).  The new code is in taking the dsc provided endpoint and
    using that to construct a volume.
    
    Additional dsc changes were made to help provide Volume info.
    
    Renamed things in dsc to better reflect what information they hold.
    Specifically, update a bunch of region set comments, as dsc just controls
    crucible-downstairs processes, and does not know which ones are part of
    what region set.
    
    New dsc commands:
    get_ds_uuid: Returns the UUID for the given client ID.
    all_running: Returns true if all downstairs that dsc knows about are currently
    in Running state.
    get_region_count: Returns the total number of regions that dsc knows about.
    
    New dsc behavior.
    dsc will now wait on all downstairs starting before taking any commands.
    The ability for dsc to answer a request can be used by a test to confirm that
    all downstairs had started.
    Add the ability to supply a dsc endpoint to crutest-cli
    #1459
    
    tools/test_replay.sh transitioned to using the new --dsc option, as that
    test already required a dsc endpoint and was using a hard coded default
    value for it.
    
    tools/test_restart_repair.sh was updated to wait for dsc to report that
    all downstairs are online after a restart.  This avoids a race where
    we told dsc to start, and then start crutest, but the downstairs are not
    yet online.
    
    All the tests that use dsc will eventually transition to using it to
    construct a Volume, but I'm pushing that work to another PR.
    
    There are more changes coming, specifically:
    Updating replace-before-acive and replace-reconcile to use the new
    dsc option correctly instead of a default.
    Updating tools/test_* to not require targets for crutest and instead use
    dsc option.
    More updates in crutest to update the current RegionInfo struct to be
    aware of multiple sub-volumes.
    #1454
    
    Possibly some updates to the BlockIO trait.
    #1455
    
    Other work this enables
    Making tests that use multiple sub-volumes.
    Layering the current set of tests in a way so we can run the same tests
    
    with a single sub-volume and with multiple sub-volumes
    Alan Hanson committed Sep 25, 2024
    Configuration menu
    Copy the full SHA
    6606590 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. PR comments

    Alan Hanson committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    11fb248 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'main' into alan/crutest-meet-dsc

    Alan Hanson committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    b2c020e View commit details
    Browse the repository at this point in the history
  3. Fix mismerge with main

    Alan Hanson committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    8e980c1 View commit details
    Browse the repository at this point in the history