-
Notifications
You must be signed in to change notification settings - Fork 278
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
feat: split osd core test into ci groups #4784
feat: split osd core test into ci groups #4784
Conversation
Signed-off-by: SuZhou-Joe <suzhou@amazon.com>
Convert back to draft because this would not work. We still need more changes if we want to get this in. Thanks. |
Taking a look on the jenkinsfile changes. |
@@ -5,7 +5,111 @@ ci: | |||
image: | |||
name: opensearchstaging/ci-runner:ci-runner-rockylinux8-opensearch-dashboards-integtest-v4 | |||
components: | |||
- name: OpenSearch-Dashboards | |||
- name: OpenSearch-Dashboards-ci-group-1 |
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.
I think this would throw error saying component not found as there is a mismatch.
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.
I think we are good from the python side as it only checks test manifest and gets list of components. If we can handle it from Jenkinsfile side as mentioned in my comment below then we are good. Right?
@peterzhuamazon https://github.com/opensearch-project/opensearch-build/blob/main/jenkins/opensearch-dashboards/integ-test.jenkinsfile#L188-L192 I do not have enough context on the code in build repo but is this line necessary? What will happen if we remove these lines. |
This ensures that for the component for which the integration test is being run is actually present in the distribution artifact that is being used to spin up the OSD process. In the present scenario this is helpful when a component is passed in COMPONENT_NAME field but it is not present in build manifest of distribution artifact selected for that run. When nothing is passed this list is same as component list in build manifest. Please correct me if I'm wrong @peterzhuamazon |
Signed-off-by: SuZhou-Joe <suzhou@amazon.com>
@peterzhuamazon Update the jenkins file to get pass the check, how do you like the change? |
logging.json: false | ||
data.search.aggs.shardDelay.enabled: true | ||
csp.warnLegacyBrowsers: false | ||
- name: OpenSearch-Dashboards-ci-group-3 |
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.
Hey @SuZhou-Joe may I know what tests or components part of these groups ? example for OpenSearch-Dashboards-ci-group-3
, coming from this PR https://github.com/opensearch-project/opensearch-dashboards-functional-test/pull/1411/files, how to know what tests or components are part of OpenSearch-Dashboards-ci-group-3
?
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 specs are written in the package.json
.
https://github.com/opensearch-project/opensearch-dashboards-functional-test/blob/main/package.json#L28-L36
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.
I would like to get this change documentation somewhere (may be in https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution).
Thanks
This will still having issues due to the lib is using Please wait for a bit before we sort this out. We are very close to the release date and lets just rush to get this change in. Thanks. |
Dived a little deeper into the code and it is not as straight forward as it looks like. Simply adding This is not a straight forward problem to solve and we may need to revisit how to handle ci-groups in test manifest, maybe add a new key to the schema. |
Agreed with @rishabh6788 , we will need to implement this properly, without rushing for a quick change here. Thanks. |
Yes that is what I meant by my comment here #4784 (comment) |
@rishabh6788 @gaiksaya what are the next steps here? |
Thanks @SuZhou-Joe , Close this in favor of this PR: |
Description
OSD core contains more than 50 specs, with hundreds of tests getting ran sequentially. While many side effects are performed across test cases, It is usually the case that core dashboards test cases are failed or flaky, and hard to troubleshoot. In order to maintain a more stable test env and more reproducible CI, this PR split sanity test cases of core dashboards into CI groups.
In order to make this work, opensearch-project/opensearch-dashboards-functional-test#1411 has to be merged in advance.
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.