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(collect_diagnosis_data_test): Add ScyllaDiagnosisReport nemesis #10536

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Lakshmipathi
Copy link
Contributor

Adds a new ScyllaDiagnosisReport nemesis to send signal to scylladb to dump diagnostics and verify it.

Fixes: #9443

Testing

PR pre-checks (self review)

  • I added the relevant backport labels
  • I didn't leave commented-out/debugging code

Reminders

  • Add New configuration option and document them (in sdcm/sct_config.py)
  • Add unit tests to cover my changes (under unit-test/ folder)
  • Update the Readme/doc folder relevant to this change (if needed)

@Lakshmipathi
Copy link
Contributor Author

Argus reports success but jenkins job reports failure. Will fix and remove draft tag from this

@Lakshmipathi Lakshmipathi force-pushed the wip/diagnosis_data branch 2 times, most recently from f8d7089 to 3efbff8 Compare March 31, 2025 15:22
Copy link
Contributor

@soyacz soyacz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe instead of nemesis it should be teradown validator?

Comment on lines +1759 to +1762
def disrupt_sigquit_scylla(self):
stress_cmd = self.tester.params.get('stress_cmd')
self.tester.run_stress_thread(
stress_cmd=stress_cmd, stress_num=1, stats_aggregate_cmds=False)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nemesis rather don't run stress_cmd - unless it is by specific design (like doubling load)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, will move it outside nemesis.

from sdcm import nemesis


class ScyllaDiagnosisReport(ClusterTester):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

usually we don't add new tests - only in specific cases.
For this should utilize 'individual nemesis' case

@Lakshmipathi Lakshmipathi force-pushed the wip/diagnosis_data branch 2 times, most recently from 1a1acc7 to 3366de7 Compare April 1, 2025 03:28
Adds a new ScyllaDiagnosisReport nemesis to send signal to scylladb to dump diagnostics
and verify it.

Fixes: scylladb#9443

Signed-off-by: Lakshmipathi.Ganapathi <[email protected]>
@Lakshmipathi Lakshmipathi changed the title test(nemesis.py): Add a ScyllaDiagnosisReport nemesis to dump diagnostics report and verify it test(collect_diagnosis_data_test): Add ScyllaDiagnosisReport nemesis Apr 1, 2025
@Lakshmipathi Lakshmipathi marked this pull request as ready for review April 1, 2025 17:29
@@ -703,6 +703,18 @@ def _kill_scylla_daemon(self):
self.target_node.wait_jmx_up()
self.cluster.wait_for_schema_agreement()

def _sigquit_scylla_daemon(self):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

btw. we have already generate_coredump_file method in BaseNode class - this could reuse your new method and print diagnosis dump.
Also add node log message with DbNodeLogger about this signal

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.

Add nemesis for sending SIGQUIT to Scylla
2 participants