-
Notifications
You must be signed in to change notification settings - Fork 282
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
Add new optional parameters for OS cluster and benchmark #3481
Conversation
@@ -141,7 +141,9 @@ def setup_cdk_params(self, config: dict) -> dict: | |||
"mlNodeCount": self.args.ml_node_count, | |||
"dataNodeStorage": self.args.data_node_storage, | |||
"mlNodeStorage": self.args.ml_node_storage, | |||
"jvmSysProps": self.args.jvm_sys_props | |||
"jvmSysProps": self.args.jvm_sys_props, | |||
"use50PercentHeap": str(self.args.use_50_percent_heap).lower(), |
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.
This does not seem to be used anywhere?
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.
Just realize this is just a setting for part of the clustercdk then I have no issues.
LGTM! Needs passing python tests. |
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 @rishabh6788 please fix the tests when you can. Approved. Thanks.
Codecov Report
📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more @@ Coverage Diff @@
## main #3481 +/- ##
==========================================
- Coverage 91.81% 91.16% -0.66%
==========================================
Files 181 181
Lines 5268 5340 +72
==========================================
+ Hits 4837 4868 +31
- Misses 431 472 +41
|
tests/tests_test_workflow/test_benchmark_workflow/benchmark_test/test_benchmark_test_suite.py
Show resolved
Hide resolved
parser.add_argument("--workload", dest="workload", required=True, | ||
help="workload type for the OpenSearch benchmarking") |
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.
Technically, this is not the workload "type", perhaps you can rephrase this as something like:
"name of the workload that OpenSearch Benchmark should run"
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.
Ack! Updated.
parser.add_argument("--workload-params", dest="workload_params", | ||
help="With this parameter you can inject variables into workloads. Parameters differs " | ||
"for each workload type. e.g., --workload-params \"number_of_replicas:1,number_of_shards:5\"") |
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.
nit: Parameters differ
You might change this to: "Parameters are listed in the README file provided with each workload."
Also, since you are adding a new parameter, please consider adding --client-options
as well. If you do that, you will have to merge fragments you are probably already specifying like basic_auth_user
, etc. But making this option configurable will allow the user to override items like the client-timeout value.
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! will take this up in the next iteration.
@@ -102,7 +106,9 @@ def __init__(self) -> None: | |||
self.data_node_storage = args.data_node_storage if args.data_node_storage else None | |||
self.ml_node_storage = args.ml_node_storage if args.ml_node_storage else None | |||
self.workload = args.workload | |||
self.workload_params = args.workload_params if args.workload_params else None |
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.
Will this work here?
self.workload_params = args.workload_params
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.
If the params are passed then it will be considered else ignored.
"jvmSysProps": self.args.jvm_sys_props | ||
"jvmSysProps": self.args.jvm_sys_props, | ||
"use50PercentHeap": str(self.args.use_50_percent_heap).lower(), | ||
"isInternal": config["Constants"]["isInternal"] |
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.
Perhaps add a comment indicating what this flag does?
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.
Since these go into the cluster-cdk command, the details of all the flags are present in the repo README if someone wants more details.
parser.add_argument("--workload", dest="workload", help="workload type for the OpenSearch benchmarking", | ||
required=True) | ||
parser.add_argument("--workload", dest="workload", required=True, | ||
help="workload type for the OpenSearch benchmarking") | ||
parser.add_argument("--benchmark-config", dest="benchmark_config", | ||
help="absolute filepath to custom opensearch-benchmark.ini config") |
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.
The help section says opensearch-benchmark.ini
but it should be benchmark.ini
.
hoangia@3c22fbd0d988 Desktop % ls -lrt ~/.benchmark
drwxr-xr-x 6 hoangia staff 192 Jun 10 2022 benchmarks
drwxr-xr-x 3 hoangia staff 96 Aug 9 2022 logs
-rw-r--r-- 1 hoangia staff 654 Mar 14 11:10 benchmark-in-memory-it.ini
-rw-r--r-- 1 hoangia staff 768 Mar 14 11:10 benchmark-os-it.ini
-rw-r--r-- 1 hoangia staff 757 Mar 27 11:54 benchmark.ini
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, will correct this.
Signed-off-by: Rishabh Singh <[email protected]>
Description
This PR adds 3 new parameters (2 for opensearch-cluster-cdk and 1 for opensearch-benchmark) that are required to roll out P0
benchmark-test
workflow. The new parameters added are:use_50_percent_heap
: Optional parameter to enable 50% heap usage on OpenSearch cluster.isInteral
: ImmutableisInternal
parameter passed from config file. The will create internal network load balancer that can be accessed in a VPC peered environment between jenkins and cluster accounts.workload_params
: Optional parameter to pass additional parameters toopensearch-benchmark
.Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.