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

[TEST] Introduce Negative Testing #5240

Open
10 of 33 tasks
innobead opened this issue Jan 9, 2023 · 7 comments
Open
10 of 33 tasks

[TEST] Introduce Negative Testing #5240

innobead opened this issue Jan 9, 2023 · 7 comments
Assignees
Labels
area/negative-testing area/qa QA specific related highlight Important feature/issue to highlight kind/test Request for adding test priority/0 Must be fixed in this release (managed by PO)

Comments

@innobead
Copy link
Member

innobead commented Jan 9, 2023

What's the test to develop? Please describe

Test Longhorn operations with Negative factors.

For each Longhorn operation and Negative factor listed below, should be implemented in robot:

Longhorn operation:

  • Rebuild replica
  • Keep writing
  • Delete replica while writing
  • Create backup while writing
  • Restore backup
  • Attach/detach volume
  • Migrate volume
  • Clone volume
  • Expand volume
  • Upgrade longhorn

For details about what actually these operations should do, please reference and follow the confluence page to implement

Negative factor:

  • Reboot volume node
  • Reboot replica node
  • Delete volume node
  • High latency API server
  • Introduce network latency on all nodes
  • Disconnect network of all nodes
  • Increase CPU load
  • High memory consumption
  • Make filesystem on node as ReadOnly
  • Almost fill up Longhorn disk
  • Disk with low IOPS (HDD)
  • Make some blocks on the device corrupt
  • Introduce hard drive SMART failure
  • Unschedule Longhorn disk
  • Take snapshots on VM or freeze VM
  • Force drain nodes
  • Restart kubelet

For details about what actually these factors should do and what the corresponding test case looks like, please reference and follow the confluence page to implement

Once the Longhorn operation and Negative factor are implemented, combine them together to form a negative test case like:
Node reboot + Rebuild replica.

Sometimes a negative test case can have more than one negative factor like: High latency API server + Node reboot + Keep writing. So again reference the confluence page to have a clear picture of it could look like before starting implementation.

Describe the items of the test development (DoD, definition of done) you'd like

  • Define framework architecture and code structure
  • Have separate Jenkins pipeline for negative testing
  • Implement each Negative factor
  • Consider the real issues encountered, implement corresponding Longhorn operation and combine with Negative factor to create the automated negative test case and execute it to reproduce issues
  • Automate manual test items in release testing: [TEST] Automate manual test cases in robot #7211
  • Prepare long-running (local lab) test environment

Additional context

cc @longhorn/qa

@innobead innobead added kind/test Request for adding test Epic labels Jan 9, 2023
@innobead innobead added priority/0 Must be fixed in this release (managed by PO) and removed Epic labels Jan 9, 2023
@innobead innobead added this to the v1.5.0 milestone Jan 9, 2023
@innobead innobead added the area/qa QA specific related label Jan 9, 2023
@innobead
Copy link
Member Author

innobead commented Jan 9, 2023

@khushboo-rancher feel free to update this task description, so we can plan it accordingly.

cc @longhorn/qa

@innobead innobead removed this from the v1.5.0 milestone Jun 1, 2023
@innobead
Copy link
Member Author

innobead commented Jun 1, 2023

Moved this from 1.5.0, but follow this on QA board instead.

@innobead
Copy link
Member Author

The current status is @yangchiu is working on the framework part with some example test case implementation. When they are ready and get merged, we will start the remaining case implementation based on priority.

cc @nitendra-suse @chriscchien @roger-ryao @khushboo-rancher

@innobead
Copy link
Member Author

@yangchiu I feel the description of this issue is outdated. Please help keep this up-to-date and refer the related issues to this EPIC.

If need a separate epic, go ahead to create it.

cc @khushboo-rancher

@innobead
Copy link
Member Author

@yangchiu remember to update the description of this ticket, as discussed.

@yangchiu
Copy link
Member

@yangchiu remember to update the description of this ticket, as discussed.

I find I've updated it before. Read through the ticket description, I think it's quite clear, and the newly created ticket #7211 is also recorded.

@innobead
Copy link
Member Author

Great. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/negative-testing area/qa QA specific related highlight Important feature/issue to highlight kind/test Request for adding test priority/0 Must be fixed in this release (managed by PO)
Projects
Status: Backlog
Development

No branches or pull requests

7 participants