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

Destructive Chaos Testing: Sandbox healing simple cases #898

Closed
Bolodya1997 opened this issue May 4, 2021 · 1 comment
Closed

Destructive Chaos Testing: Sandbox healing simple cases #898

Bolodya1997 opened this issue May 4, 2021 · 1 comment
Assignees
Labels
blocked Something is blocking this Planning The issue that related to current SOW

Comments

@Bolodya1997
Copy link

Bolodya1997 commented May 4, 2021

Overview

Cover the following heal scenarios with sandbox tests:

1 death cases:

  1. Local NSMgr:
    • restored:
  2. Local Forwarder:
    • restored
    • died
  3. Local Endpoint:
    • restored
    • died:
      1. A new local Endpoint selected.
      2. A new remote Endpoint selected.
  4. Remote NSMgr:
    • restored:
    • died:
      1. A new local Endpoint selected.
      2. A new remote Endpoint selected.
  5. Remote Forwarder:
    • restored
    • died
  6. Remote Endpoint:
    • restored
    • died:
      1. A new local Endpoint selected.
      2. A new remote Endpoint selected.

2 death cases:

  1. Local NSMgr(r) +
    1. Local Endpoint(r/d)
    2. Remote NSMgr(r/d)
    3. Remote Forwarder(r/d)
    4. Remote Endpoint(d)
  2. Local Forwarder(r) +
    1. Local Endpoint(r/d)
    2. Remote NSMgr(r/d)
  3. Remote NSMgr(r) +
    1. Remote Endpoint(r/d)
  4. Remote Forwarder(r) +
    1. Remote Endpoint(r/d)

3 death cases:

  1. Local NSMgr(r) +
    1. Remote NSMgr(r) + Remote Endpoint(r)
    2. Remote Forwarder(r) + Remote Endpoint(r)
  2. Local Forwarder(r) +
    1. Remote NSMgr(r) + Remote Endpoint(r)
    2. Remote Forwarder(r) + Remote Endpoint(r)

Should be tested:

  1. Shutdown becomes when hop:
    1. doesn't pass any Request/Close.
  2. If case includes selecting another Forwarder/Endpoint, during the healing should be selected:
    1. the same mechanism.

References

Blockers

  1. clock in sandbox - [sdk#764] Rework sandbox to use clock.Clock #785
  2. registry chain healing - Endpoint registry chain doesn't handle GRPC connection failure #713
  3. issue with endpoint restore healing - Heal doesn't update restored endpoint name #918
  4. issue in connect client / heal client - Connect client connection and heal client monitor stream fail in different times #925
  5. client healing - Support heal for NSC #938
@Bolodya1997
Copy link
Author

After the restore was disabled, all single death tests were implemented.
Multi death cases + tests with additional parameters are all moved to #899.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Something is blocking this Planning The issue that related to current SOW
Projects
None yet
Development

No branches or pull requests

1 participant