-
Notifications
You must be signed in to change notification settings - Fork 588
HDDS-13251. Support dynamic Byteman scripts via bmsubmit in ozonesecure-ha #8654
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
Conversation
adoroszlai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @ssulav for working on this.
hadoop-ozone/dist/src/main/compose/ozonesecure-ha-fi/docker-compose.yaml
Outdated
Show resolved
Hide resolved
...p-ozone/dist/src/main/compose/ozonesecure-ha-fi/byteman-scripts/skip-notify-group-remove.btm
Outdated
Show resolved
Hide resolved
hadoop-ozone/dist/src/main/compose/ozonesecure-ha-fi/docker-compose.yaml
Outdated
Show resolved
Hide resolved
hadoop-ozone/dist/src/main/compose/ozonesecure-ha-fi/docker-compose.yaml
Outdated
Show resolved
Hide resolved
hadoop-ozone/dist/src/main/compose/ozonesecure-ha-fi/docker-compose.yaml
Outdated
Show resolved
Hide resolved
hadoop-ozone/dist/src/main/smoketest/ozone-fi/byteman_faults_sample.robot
Outdated
Show resolved
Hide resolved
hadoop-ozone/dist/src/main/smoketest/ozone-fi/BytemanKeywords.robot
Outdated
Show resolved
Hide resolved
|
This PR is required to be merged before |
I think the dependency is the other way around: we need the new image with
Until then, let's keep it draft. |
hadoop-ozone/dist/src/main/smoketest/ozone-fi/BytemanKeywords.robot
Outdated
Show resolved
Hide resolved
hadoop-ozone/dist/src/main/smoketest/ozone-fi/byteman_faults_sample.robot
Outdated
Show resolved
Hide resolved
hadoop-ozone/dist/src/main/smoketest/ozone-fi/byteman_faults_sample.robot
Outdated
Show resolved
Hide resolved
hadoop-ozone/dist/src/main/smoketest/ozone-fi/byteman_faults_sample.robot
Outdated
Show resolved
Hide resolved
|
Failure in |
adoroszlai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @ssulav for updating the patch. Mostly LGTM, but the test output is mixed with Robot's execution output. Two example test cases:
------------------------------------------------------------------------------
Inject Byteman Rule in one component Add rule /opt/hadoop/share/ozone/byteman/skip-notify-group-remove.btm for datanode1 successful.
List rules for datanode1 successful.
Active rules in datanode1:
# File /opt/hadoop/share/ozone/byteman/skip-notify-group-remove.btm line 21
Remove rule /opt/hadoop/share/ozone/byteman/skip-notify-group-remove.btm for datanode1 successful.
| PASS |
------------------------------------------------------------------------------
Inject Multiple Byteman Rules in one component Add rule /opt/hadoop/share/ozone/byteman/skip-put-block.btm for datanode1 successful.
Add rule /opt/hadoop/share/ozone/byteman/skip-notify-group-remove.btm for datanode1 successful.
List rules for datanode1 successful.
Active rules in datanode1:
# File /opt/hadoop/share/ozone/byteman/skip-put-block.btm line 21
# File /opt/hadoop/share/ozone/byteman/skip-notify-group-remove.btm line 21
List rules for datanode1 successful.
Active rules in datanode1:
# File /opt/hadoop/share/ozone/byteman/skip-put-block.btm line 21
# File /opt/hadoop/share/ozone/byteman/skip-notify-group-remove.btm line 21
Remove rule /opt/hadoop/share/ozone/byteman/skip-put-block.btm for datanode1 successful.
Remove rule /opt/hadoop/share/ozone/byteman/skip-notify-group-remove.btm for datanode1 successful.
List rules for datanode1 successful.
Active rules in datanode1: No rules found
| PASS |
------------------------------------------------------------------------------
Compare this to other tests:
------------------------------------------------------------------------------
Create Encrypted Bucket | PASS |
------------------------------------------------------------------------------
Create Key in Encrypted Bucket | PASS |
------------------------------------------------------------------------------
Key Can Be Written | PASS |
------------------------------------------------------------------------------
Key Can Be Written To Bucket With Replication Type | PASS |
------------------------------------------------------------------------------
This can be fixed by changing log level from console to info, then it becomes:
==============================================================================
Byteman Faults Sample
==============================================================================
Print All Byteman Rules | PASS |
------------------------------------------------------------------------------
Inject Byteman Rule in one component | PASS |
------------------------------------------------------------------------------
Inject Multiple Byteman Rules in one component | PASS |
------------------------------------------------------------------------------
Test Datanode Only Fault Injection | PASS |
------------------------------------------------------------------------------
Test OM Only Fault Injection | PASS |
------------------------------------------------------------------------------
Test SCM Only Fault Injection | PASS |
------------------------------------------------------------------------------
Byteman Faults Sample | PASS |
6 tests, 6 passed, 0 failed
==============================================================================
|
Updated logger |
adoroszlai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @ssulav for iterating on this patch.
* master: (90 commits) HDDS-12468. Check for space availability for all dns while container creation in pipeline (apache#8663) HDDS-12151. Fail write when volume is full considering min free space (apache#8642) HDDS-13251. Update Byteman usage README license (apache#8700) HDDS-13251. Support dynamic Byteman scripts via bmsubmit in ozonesecure-ha (apache#8654) HDDS-12070. Bump Ratis to 3.2.0 (apache#8689) HDDS-12984. Use InodeID to identify the SST files inside the tarball. (apache#8477) HDDS-13319. Simplify KeyPrefixFilter (apache#8692) HDDS-13295. Remove jackson1 exclusions for hadoop-common (apache#8687) HDDS-13314. Remove unused maven-pdf-plugin (apache#8686) HDDS-13324. Optimize memory footprint for Recon listKeys API (apache#8680) HDDS-13240. Add newly added metrics into grafana dashboard. (apache#8656) HDDS-13309. Add keyIterator/valueIterator methods to Table. (apache#8675) HDDS-13325. Introduce OZONE_SERVER_OPTS for common options for server processes (apache#8685) HDDS-13318. Simplify the getRangeKVs methods in Table (apache#8683) HDDS-13322. Remove module auto-detection from flaky-test-check (apache#8679) HDDS-13289. Remove usage of Jetty StringUtil (apache#8684) HDDS-13270. Reduce getBucket API invocations in S3 bucket owner verification (apache#8653) HDDS-13288. Container checksum file proto changes to account for deleted blocks. (apache#8649) HDDS-13306. Intermittent failure in testDirectoryDeletingServiceIntervalReconfiguration (apache#8682) HDDS-13317. Table should support empty array/String (apache#8676) ...
* master: (170 commits) HDDS-12468. Check for space availability for all dns while container creation in pipeline (apache#8663) HDDS-12151. Fail write when volume is full considering min free space (apache#8642) HDDS-13251. Update Byteman usage README license (apache#8700) HDDS-13251. Support dynamic Byteman scripts via bmsubmit in ozonesecure-ha (apache#8654) HDDS-12070. Bump Ratis to 3.2.0 (apache#8689) HDDS-12984. Use InodeID to identify the SST files inside the tarball. (apache#8477) HDDS-13319. Simplify KeyPrefixFilter (apache#8692) HDDS-13295. Remove jackson1 exclusions for hadoop-common (apache#8687) HDDS-13314. Remove unused maven-pdf-plugin (apache#8686) HDDS-13324. Optimize memory footprint for Recon listKeys API (apache#8680) HDDS-13240. Add newly added metrics into grafana dashboard. (apache#8656) HDDS-13309. Add keyIterator/valueIterator methods to Table. (apache#8675) HDDS-13325. Introduce OZONE_SERVER_OPTS for common options for server processes (apache#8685) HDDS-13318. Simplify the getRangeKVs methods in Table (apache#8683) HDDS-13322. Remove module auto-detection from flaky-test-check (apache#8679) HDDS-13289. Remove usage of Jetty StringUtil (apache#8684) HDDS-13270. Reduce getBucket API invocations in S3 bucket owner verification (apache#8653) HDDS-13288. Container checksum file proto changes to account for deleted blocks. (apache#8649) HDDS-13306. Intermittent failure in testDirectoryDeletingServiceIntervalReconfiguration (apache#8682) HDDS-13317. Table should support empty array/String (apache#8676) ... Conflicts: hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/checksum/ContainerChecksumTreeManager.java hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/checksum/TestContainerChecksumTreeManager.java
What changes were proposed in this pull request?
HDDS-13251. Adding Byteman support in acceptance test suites via new docker-compose
Please describe your PR in detail:
What is the link to the Apache JIRA
HDDS-13251
How was this patch tested?
This has to be tested locally and also via CI