From f8d7554655b74fcec4c649fc8c936da19aed5d5a Mon Sep 17 00:00:00 2001 From: Sayali Gaikawad Date: Thu, 24 Oct 2024 17:21:19 -0700 Subject: [PATCH] Add more details to integTest failure issues Signed-off-by: Sayali Gaikawad --- build.gradle | 2 +- src/jenkins/ComponentIntegTestStatus.groovy | 3 +- .../CreateIntegTestMarkDownTable.groovy | 19 +- src/jenkins/ReleaseMetricsData.groovy | 74 +++++++ .../TestComponentIntegTestStatus.groovy | 4 +- .../TestCreateIntegTestMarkDownTable.groovy | 31 +-- tests/jenkins/TestReleaseMetricsData.groovy | 111 ++++++++++ .../TestUpdateIntegTestFailureIssues.groovy | 202 +++++++++++++----- ...sue_without_distributionID_Jenkinsfile.txt | 64 +++--- ...dateIntegTestFailureIssues_Jenkinsfile.txt | 64 +++--- vars/updateIntegTestFailureIssues.groovy | 59 +++-- 11 files changed, 500 insertions(+), 133 deletions(-) create mode 100644 src/jenkins/ReleaseMetricsData.groovy create mode 100644 tests/jenkins/TestReleaseMetricsData.groovy diff --git a/build.gradle b/build.gradle index 1b23eb01..66cd445b 100644 --- a/build.gradle +++ b/build.gradle @@ -128,7 +128,7 @@ jacocoTestReport { } } -String version = '7.2.1' +String version = '7.3.0' task updateVersion { doLast { diff --git a/src/jenkins/ComponentIntegTestStatus.groovy b/src/jenkins/ComponentIntegTestStatus.groovy index 0cd28345..0e41f477 100644 --- a/src/jenkins/ComponentIntegTestStatus.groovy +++ b/src/jenkins/ComponentIntegTestStatus.groovy @@ -81,7 +81,8 @@ class ComponentIntegTestStatus { "architecture", "distribution", "test_report_manifest_yml", - "integ_test_build_url" + "integ_test_build_url", + "rc_number" ], query : [ bool: [ diff --git a/src/jenkins/CreateIntegTestMarkDownTable.groovy b/src/jenkins/CreateIntegTestMarkDownTable.groovy index 1f71d227..1471813b 100644 --- a/src/jenkins/CreateIntegTestMarkDownTable.groovy +++ b/src/jenkins/CreateIntegTestMarkDownTable.groovy @@ -11,30 +11,31 @@ package jenkins class CreateIntegTestMarkDownTable { String version - ArrayList tableData - CreateIntegTestMarkDownTable(String version, List> tableData) { + CreateIntegTestMarkDownTable(String version) { this.version = version - this.tableData = tableData } - def create() { + def create(List> tableData, List releaseOwner) { def tableHeader = """ ### Integration Test Failed for version ${version}. See the specifications below: #### Details -| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run | -|----------|--------------|--------------|----------------------|--------------| +| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests | +|----------|------|------|----------------|----|-------------|--------------|---------------| """ - def tableRows = this.tableData.collect { row -> - "| ${row.platform} | ${row.distribution} | ${row.architecture} | ${row.test_report_manifest_yml} | ${row.integ_test_build_url}" - }.join("\n") + def tableRows = tableData.collect { row -> + "| ${row.platform} | ${row.distribution} | ${row.architecture} | ${row.distribution_build_number} | ${row.rc_number} | ${row.test_report_manifest_yml} | ${row.integ_test_build_url} | [Check metrics](${row.metrics_visualization_url}) |"}.join("\n") def additionalInformation = """ \nCheck out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa). """ + if(!releaseOwner.isEmpty()) { + def tagReleaseOwner = releaseOwner.collect{ "@${it}"}.join(' ') + additionalInformation = additionalInformation + "\nTagging the release owners to take a look ${tagReleaseOwner}" + } return tableHeader + tableRows + additionalInformation } diff --git a/src/jenkins/ReleaseMetricsData.groovy b/src/jenkins/ReleaseMetricsData.groovy new file mode 100644 index 00000000..dce7bb7c --- /dev/null +++ b/src/jenkins/ReleaseMetricsData.groovy @@ -0,0 +1,74 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package jenkins + +import groovy.json.JsonOutput +import groovyjarjarantlr.collections.List +import utils.OpenSearchMetricsQuery + +class ReleaseMetricsData { + String metricsUrl + String awsAccessKey + String awsSecretKey + String awsSessionToken + String indexName + String version + def script + OpenSearchMetricsQuery openSearchMetricsQuery + + ReleaseMetricsData(String metricsUrl, String awsAccessKey, String awsSecretKey, String awsSessionToken, String indexName, String version, def script) { + this.metricsUrl = metricsUrl + this.awsAccessKey = awsAccessKey + this.awsSecretKey = awsSecretKey + this.awsSessionToken = awsSessionToken + this.indexName = indexName + this.version = version + this.script = script + this.openSearchMetricsQuery = new OpenSearchMetricsQuery(metricsUrl, awsAccessKey, awsSecretKey, awsSessionToken, indexName, script) + } + + String getReleaseOwnerQuery(String component) { + def queryMap = [ + size : 1, + _source: "release_owners", + query : [ + bool: [ + filter: [ + [ + match_phrase: [ + component: "${component}" + ] + ], + [ + match_phrase: [ + version: "${this.version}" + ] + ] + ] + ], + sort: [ + [ + current_date: [ + order: "desc" + ] + ] + ] + ] + ] + String query = JsonOutput.toJson(queryMap) + return query.replace('"', '\\"') + } + + ArrayList getReleaseOwners(String component) { + def jsonResponse = this.openSearchMetricsQuery.fetchMetrics(getReleaseOwnerQuery(component)) + def releaseOwners = jsonResponse.hits.hits._source.release_owners.flatten() + return releaseOwners + } +} diff --git a/tests/jenkins/TestComponentIntegTestStatus.groovy b/tests/jenkins/TestComponentIntegTestStatus.groovy index f4fa6f37..b1064a32 100644 --- a/tests/jenkins/TestComponentIntegTestStatus.groovy +++ b/tests/jenkins/TestComponentIntegTestStatus.groovy @@ -12,7 +12,6 @@ package jenkins import org.junit.* import groovy.json.JsonOutput import groovy.json.JsonSlurper -import groovy.mock.interceptor.MockFor class TestComponentIntegTestStatus { @@ -146,7 +145,8 @@ class TestComponentIntegTestStatus { "architecture", "distribution", "test_report_manifest_yml", - "integ_test_build_url" + "integ_test_build_url", + "rc_number" ], query: [ bool: [ diff --git a/tests/jenkins/TestCreateIntegTestMarkDownTable.groovy b/tests/jenkins/TestCreateIntegTestMarkDownTable.groovy index 32165d98..39d63a85 100644 --- a/tests/jenkins/TestCreateIntegTestMarkDownTable.groovy +++ b/tests/jenkins/TestCreateIntegTestMarkDownTable.groovy @@ -11,42 +11,49 @@ package jenkins import org.junit.* - class TestCreateIntegTestMarkDownTable { @Test void testCreateIntegTestMarkDownTableWithSampleData() { def version = "2.18.0" + def releaseOwners = ['foo', 'bar'] def tableData = [ [ architecture:"x64", distribution:"tar", - integ_test_build_url:"https://build.ci.opensearch.org/job/integ-test-opensearch-dashboards/6561/display/redirect", + integ_test_build_url:"some_integ_test_url", platform:"linux", - test_report_manifest_yml:"https://ci.opensearch.org/ci/dbc/integ-test-opensearch-dashboards/2.18.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml" + test_report_manifest_yml:"test_report_dummy_url", + distribution_build_number: '1234', + rc_number: 1, + metrics_visualization_url: "some_url" ], [ architecture:"arm64", distribution:"tar", - integ_test_build_url:"https://build.ci.opensearch.org/job/integ-test-opensearch-dashboards/6560/display/redirect", + integ_test_build_url:"integ_test_dummy_url", platform:"linux", - test_report_manifest_yml:"https://ci.opensearch.org/ci/dbc/integ-test-opensearch-dashboards/2.18.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml" + test_report_manifest_yml:"test_report_2_dummy_url", + distribution_build_number: '1234', + rc_number: 1, + metrics_visualization_url: "some_other_url" ] ] - def createIntegTestMarkDownTable = new CreateIntegTestMarkDownTable(version, tableData) - def result = createIntegTestMarkDownTable.create() + def createIntegTestMarkDownTable = new CreateIntegTestMarkDownTable(version) + def result = createIntegTestMarkDownTable.create(tableData, releaseOwners) def expectedOutput = """ ### Integration Test Failed for version 2.18.0. See the specifications below: #### Details -| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run | -|----------|--------------|--------------|----------------------|--------------| -| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test-opensearch-dashboards/2.18.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test-opensearch-dashboards/6561/display/redirect -| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test-opensearch-dashboards/2.18.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test-opensearch-dashboards/6560/display/redirect +| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests | +|----------|------|------|----------------|----|-------------|--------------|---------------| +| linux | tar | x64 | 1234 | 1 | test_report_dummy_url | some_integ_test_url | [Check metrics](some_url) | +| linux | tar | arm64 | 1234 | 1 | test_report_2_dummy_url | integ_test_dummy_url | [Check metrics](some_other_url) | Check out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa). -""" + +Tagging the release owners to take a look @foo @bar""" assert result == expectedOutput } } diff --git a/tests/jenkins/TestReleaseMetricsData.groovy b/tests/jenkins/TestReleaseMetricsData.groovy new file mode 100644 index 00000000..9619a0ce --- /dev/null +++ b/tests/jenkins/TestReleaseMetricsData.groovy @@ -0,0 +1,111 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package jenkins + +import org.junit.* +import groovy.json.JsonOutput +import groovy.json.JsonSlurper + +class TestReleaseMetricsData { + private ReleaseMetricsData releaseMetricsData + private final String metricsUrl = 'http://example.com' + private final String awsAccessKey = 'testAccessKey' + private final String awsSecretKey = 'testSecretKey' + private final String awsSessionToken = 'testSessionToken' + private final String version = "2.18.0" + private def script + + @Before + void setUp() { + script = new Expando() + script.sh = { Map args -> + if (args.containsKey("script")) { + return """ + { + "took": 4, + "timed_out": false, + "_shards": { + "total": 5, + "successful": 5, + "skipped": 0, + "failed": 0 + }, + "hits": { + "total": { + "value": 31, + "relation": "eq" + }, + "max_score": null, + "hits": [ + { + "_index": "opensearch_release_metrics", + "_id": "9ee464d8-b47d-3f5e-aa8f-8768c98a8d69", + "_score": null, + "_source": { + "release_owners": [ + "foo", + "bar" + ] + }, + "sort": [ + 1729707921551 + ] + } + ] + } + } + """ + } + return "" + } + releaseMetricsData = new ReleaseMetricsData(metricsUrl, awsAccessKey, awsSecretKey, awsSessionToken, 'opensearch_release_metrics', version, script) + } + + @Test + void testGetReleaseOwnerReturnQuery(){ + String expectedOutput = JsonOutput.toJson([ + size : 1, + _source: "release_owners", + query : [ + bool: [ + filter: [ + [ + match_phrase: [ + component: "sql" + ] + ], + [ + match_phrase: [ + version: "2.18.0" + ] + ] + ] + ], + sort: [ + [ + current_date: [ + order: "desc" + ] + ] + ] + ] + ]).replace('"', '\\"') + + def result = releaseMetricsData.getReleaseOwnerQuery('sql') + assert result == expectedOutput + } + + @Test + void testGetReleaseOwners(){ + def expectedOutput = ['foo', 'bar'] + def result = releaseMetricsData.getReleaseOwners('sql') + assert result == expectedOutput + } +} diff --git a/tests/jenkins/TestUpdateIntegTestFailureIssues.groovy b/tests/jenkins/TestUpdateIntegTestFailureIssues.groovy index be3203f3..3df6550c 100644 --- a/tests/jenkins/TestUpdateIntegTestFailureIssues.groovy +++ b/tests/jenkins/TestUpdateIntegTestFailureIssues.groovy @@ -164,7 +164,8 @@ class TestUpdateIntegTestFailureIssues extends BuildPipelineTest { "integ_test_build_url": "https://build.ci.opensearch.org/job/integ-test/6561/display/redirect", "distribution": "tar", "platform": "linux", - "architecture": "x64" + "architecture": "x64", + "rc_number": 0 } }, { @@ -176,7 +177,8 @@ class TestUpdateIntegTestFailureIssues extends BuildPipelineTest { "integ_test_build_url": "https://build.ci.opensearch.org/job/integ-test/6560/display/redirect", "distribution": "tar", "platform": "linux", - "architecture": "arm64" + "architecture": "arm64", + "rc_number": 0 } } ] @@ -184,7 +186,7 @@ class TestUpdateIntegTestFailureIssues extends BuildPipelineTest { } ''' - def latestDistributionBuildNumberReponse = ''' + def latestDistributionBuildNumberResponse = ''' { "took": 9, "timed_out": false, @@ -216,20 +218,96 @@ class TestUpdateIntegTestFailureIssues extends BuildPipelineTest { } } ''' + + def unformattedResponseForReleaseOwners = ''' + { + "took": 4, + "timed_out": false, + "_shards": { + "total": 5, + "successful": 5, + "skipped": 0, + "failed": 0 + }, + "hits": { + "total": { + "value": 31, + "relation": "eq" + }, + "max_score": null, + "hits": [ + { + "_index": "opensearch_release_metrics", + "_id": "9ee464d8-b47d-3f5e-aa8f-8768c98a8d69", + "_score": null, + "_source": { + "release_owners": [ + "foo", + "bar" + ] + }, + "sort": [ + 1729707921551 + ] + } + ] + } + } + ''' + + def unformattedResponseForReleaseOwnersGeo = ''' + { + "took": 4, + "timed_out": false, + "_shards": { + "total": 5, + "successful": 5, + "skipped": 0, + "failed": 0 + }, + "hits": { + "total": { + "value": 31, + "relation": "eq" + }, + "max_score": null, + "hits": [ + { + "_index": "opensearch_release_metrics", + "_id": "9ee464d8-b47d-3f5e-aa8f-8768c98a8d69", + "_score": null, + "_source": { + "release_owners": [] + }, + "sort": [ + 1729707921551 + ] + } + ] + } + } + ''' + helper.addShMock("""\n set -e\n set +x\n curl -s -XGET \"sample.url/opensearch-integration-test-results/_search\" --aws-sigv4 \"aws:amz:us-east-1:es\" --user \"abc:xyz\" -H \"x-amz-security-token:sampleToken\" -H 'Content-Type: application/json' -d \"{\\"size\\":50,\\"_source\\":[\\"component\\"],\\"query\\":{\\"bool\\":{\\"filter\\":[{\\"match_phrase\\":{\\"version\\":\\"2.2.0\\"}},{\\"match_phrase\\":{\\"component_category\\":\\"OpenSearch\\"}},{\\"match_phrase\\":{\\"distribution_build_number\\":\\"4891\\"}},{\\"match_phrase\\":{\\"component_build_result\\":\\"passed\\"}}]}}}\" | jq '.'\n """) { script -> return [stdout: unformattedResponseForPass, exitValue: 0] } helper.addShMock("""\n set -e\n set +x\n curl -s -XGET \"sample.url/opensearch-integration-test-results/_search\" --aws-sigv4 \"aws:amz:us-east-1:es\" --user \"abc:xyz\" -H \"x-amz-security-token:sampleToken\" -H 'Content-Type: application/json' -d \"{\\"size\\":50,\\"_source\\":[\\"component\\"],\\"query\\":{\\"bool\\":{\\"filter\\":[{\\"match_phrase\\":{\\"version\\":\\"2.2.0\\"}},{\\"match_phrase\\":{\\"component_category\\":\\"OpenSearch\\"}},{\\"match_phrase\\":{\\"distribution_build_number\\":\\"4891\\"}},{\\"match_phrase\\":{\\"component_build_result\\":\\"failed\\"}}]}}}\" | jq '.'\n """) { script -> return [stdout: unformattedResponseForFail, exitValue: 0] } - helper.addShMock("""\n set -e\n set +x\n curl -s -XGET \"sample.url/opensearch-integration-test-results/_search\" --aws-sigv4 \"aws:amz:us-east-1:es\" --user \"abc:xyz\" -H \"x-amz-security-token:sampleToken\" -H 'Content-Type: application/json' -d \"{\\"_source\\":[\\"platform\\",\\"architecture\\",\\"distribution\\",\\"test_report_manifest_yml\\",\\"integ_test_build_url\\"],\\"query\\":{\\"bool\\":{\\"filter\\":[{\\"match_phrase\\":{\\"component\\":\\"geospatial\\"}},{\\"match_phrase\\":{\\"version\\":\\"2.2.0\\"}},{\\"match_phrase\\":{\\"distribution_build_number\\":\\"4891\\"}}]}}}\" | jq '.'\n """) { script -> + helper.addShMock("""\n set -e\n set +x\n curl -s -XGET \"sample.url/opensearch-integration-test-results/_search\" --aws-sigv4 \"aws:amz:us-east-1:es\" --user \"abc:xyz\" -H \"x-amz-security-token:sampleToken\" -H 'Content-Type: application/json' -d \"{\\"_source\\":[\\"platform\\",\\"architecture\\",\\"distribution\\",\\"test_report_manifest_yml\\",\\"integ_test_build_url\\",\\"rc_number\\"],\\"query\\":{\\"bool\\":{\\"filter\\":[{\\"match_phrase\\":{\\"component\\":\\"geospatial\\"}},{\\"match_phrase\\":{\\"version\\":\\"2.2.0\\"}},{\\"match_phrase\\":{\\"distribution_build_number\\":\\"4891\\"}}]}}}\" | jq '.'\n """) { script -> return [stdout: failedTestDataResponse, exitValue: 0] } - helper.addShMock("""\n set -e\n set +x\n curl -s -XGET \"sample.url/opensearch-integration-test-results/_search\" --aws-sigv4 \"aws:amz:us-east-1:es\" --user \"abc:xyz\" -H \"x-amz-security-token:sampleToken\" -H 'Content-Type: application/json' -d \"{\\"_source\\":[\\"platform\\",\\"architecture\\",\\"distribution\\",\\"test_report_manifest_yml\\",\\"integ_test_build_url\\"],\\"query\\":{\\"bool\\":{\\"filter\\":[{\\"match_phrase\\":{\\"component\\":\\"k-NN\\"}},{\\"match_phrase\\":{\\"version\\":\\"2.2.0\\"}},{\\"match_phrase\\":{\\"distribution_build_number\\":\\"4891\\"}}]}}}\" | jq '.'\n """) { script -> + helper.addShMock("""\n set -e\n set +x\n curl -s -XGET \"sample.url/opensearch-integration-test-results/_search\" --aws-sigv4 \"aws:amz:us-east-1:es\" --user \"abc:xyz\" -H \"x-amz-security-token:sampleToken\" -H 'Content-Type: application/json' -d \"{\\"_source\\":[\\"platform\\",\\"architecture\\",\\"distribution\\",\\"test_report_manifest_yml\\",\\"integ_test_build_url\\",\\"rc_number\\"],\\"query\\":{\\"bool\\":{\\"filter\\":[{\\"match_phrase\\":{\\"component\\":\\"k-NN\\"}},{\\"match_phrase\\":{\\"version\\":\\"2.2.0\\"}},{\\"match_phrase\\":{\\"distribution_build_number\\":\\"4891\\"}}]}}}\" | jq '.'\n """) { script -> return [stdout: failedTestDataResponse, exitValue: 0] } helper.addShMock("""\n set -e\n set +x\n curl -s -XGET \"sample.url/opensearch-distribution-build-results/_search\" --aws-sigv4 \"aws:amz:us-east-1:es\" --user \"abc:xyz\" -H \"x-amz-security-token:sampleToken\" -H 'Content-Type: application/json' -d \"{\\"size\\":1,\\"_source\\":[\\"distribution_build_number\\"],\\"query\\":{\\"bool\\":{\\"filter\\":[{\\"match_phrase\\":{\\"component_category\\":\\"OpenSearch\\"}},{\\"match_phrase\\":{\\"version\\":\\"2.2.0\\"}}]}},\\"sort\\":[{\\"build_start_time\\":{\\"order\\":\\"desc\\"}}]}\" | jq '.'\n """) { script -> - return [stdout: latestDistributionBuildNumberReponse, exitValue: 0] + return [stdout: latestDistributionBuildNumberResponse, exitValue: 0] + } + helper.addShMock("""\n set -e\n set +x\n curl -s -XGET \"sample.url/opensearch_release_metrics/_search\" --aws-sigv4 \"aws:amz:us-east-1:es\" --user \"abc:xyz\" -H \"x-amz-security-token:sampleToken\" -H 'Content-Type: application/json' -d \"{\\"size\\":1,\\"_source\\":\\"release_owners\\",\\"query\\":{\\"bool\\":{\\"filter\\":[{\\"match_phrase\\":{\\"component\\":\\"k-NN\\"}},{\\"match_phrase\\":{\\"version\\":\\"2.2.0\\"}}]},\\"sort\\":[{\\"current_date\\":{\\"order\\":\\"desc\\"}}]}}\" | jq '.'\n """) { script -> + return [stdout: unformattedResponseForReleaseOwners, exitValue: 0] + } + helper.addShMock("""\n set -e\n set +x\n curl -s -XGET \"sample.url/opensearch_release_metrics/_search\" --aws-sigv4 \"aws:amz:us-east-1:es\" --user \"abc:xyz\" -H \"x-amz-security-token:sampleToken\" -H 'Content-Type: application/json' -d \"{\\"size\\":1,\\"_source\\":\\"release_owners\\",\\"query\\":{\\"bool\\":{\\"filter\\":[{\\"match_phrase\\":{\\"component\\":\\"geospatial\\"}},{\\"match_phrase\\":{\\"version\\":\\"2.2.0\\"}}]},\\"sort\\":[{\\"current_date\\":{\\"order\\":\\"desc\\"}}]}}\" | jq '.'\n """) { script -> + return [stdout: unformattedResponseForReleaseOwnersGeo, exitValue: 0] } } @@ -244,11 +322,11 @@ class TestUpdateIntegTestFailureIssues extends BuildPipelineTest { } super.testPipeline('tests/jenkins/jobs/UpdateIntegTestFailureIssues_Jenkinsfile') assertThat(getCommands('println', ''), hasItem('Integration test failed for k-NN, creating github issue')) - assertThat(getCommands('sh', 'script'), hasItem("{script=gh issue edit bbb\nccc --repo https://github.com/opensearch-project/k-NN.git --body \"\n### Integration Test Failed for version 2.2.0. See the specifications below:\n\n#### Details\n\n| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run |\n|----------|--------------|--------------|----------------------|--------------|\n| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect\n| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect\n\nCheck out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa).\n\", returnStdout=true}")) + assertThat(getCommands('sh', 'script'), hasItem("{script=gh issue edit bbb\nccc --repo https://github.com/opensearch-project/k-NN.git --body \"\n### Integration Test Failed for version 2.2.0. See the specifications below:\n\n#### Details\n\n| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests |\n|----------|------|------|----------------|----|-------------|--------------|---------------|\n| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) |\n| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) |\n\nCheck out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa).\n\nTagging the release owners to take a look @foo @bar\", returnStdout=true}")) } @Test - public void testGithubIssueEdit() { + public void testGithubIssueEditWithNoReleaseOwner() { this.registerLibTester(new UpdateIntegTestFailureIssuesLibTester('tests/data/opensearch-2.2.0.yml', '4891')) helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/geospatial.git -S "[AUTOCUT] Integration Test Failed for geospatial-2.2.0 in:title" --label autocut,v2.2.0 --json number --jq '.[0].number'""") { script -> return [stdout: "22", exitValue: 0] @@ -258,50 +336,78 @@ class TestUpdateIntegTestFailureIssues extends BuildPipelineTest { } runScript('tests/jenkins/jobs/UpdateIntegTestFailureIssues_Jenkinsfile') assertThat(getCommands('println', ''), hasItem('Issue already exists, editing the issue body')) - assertThat(getCommands('sh', 'script'), hasItem("{script=gh issue edit bbb\nccc --repo https://github.com/opensearch-project/geospatial.git --body \"\n### Integration Test Failed for version 2.2.0. See the specifications below:\n\n#### Details\n\n| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run |\n|----------|--------------|--------------|----------------------|--------------|\n| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect\n| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect\n\nCheck out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa).\n\", returnStdout=true}")) + assertThat(getCommands('sh', 'script'), hasItem("{script=gh issue edit bbb\nccc --repo https://github.com/opensearch-project/geospatial.git --body \"\n### Integration Test Failed for version 2.2.0. See the specifications below:\n\n#### Details\n\n| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests |\n|----------|------|------|----------------|----|-------------|--------------|---------------|\n| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) |\n| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) |\n\nCheck out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa).\n\", returnStdout=true}")) } - @Test - public void testClosingGithubIssueOnSuccess() { - this.registerLibTester(new UpdateIntegTestFailureIssuesLibTester('tests/data/opensearch-2.2.0.yml', '4891')) - helper.addShMock("date -d \"3 days ago\" +'%Y-%m-%d'") { script -> - return [stdout: "2023-10-24", exitValue: 0] - } - helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/cross-cluster-replication.git -S "[AUTOCUT] Integration Test Failed for cross-cluster-replication-2.2.0 in:title" --label autocut,v2.2.0 --json number --jq '.[0].number'""") { script -> - return [stdout: "30", exitValue: 0] - } - runScript('tests/jenkins/jobs/UpdateIntegTestFailureIssues_Jenkinsfile') - assertThat(getCommands('sh', 'cross-cluster-replication'), hasItem("{script=gh issue list --repo https://github.com/opensearch-project/cross-cluster-replication.git -S \"[AUTOCUT] Integration Test Failed for cross-cluster-replication-2.2.0 in:title\" --json number --jq '.[0].number', returnStdout=true}")) - assertThat(getCommands('sh', 'cross-cluster-replication'), hasItem("{script=gh issue close bbb\nccc -R opensearch-project/cross-cluster-replication --comment \"Closing the issue as the integration tests for cross-cluster-replication passed for version: **2.2.0**.\", returnStdout=true}")) - } + @Test + public void testClosingGithubIssueOnSuccess() { + this.registerLibTester(new UpdateIntegTestFailureIssuesLibTester('tests/data/opensearch-2.2.0.yml', '4891')) + helper.addShMock("date -d \"3 days ago\" +'%Y-%m-%d'") { script -> + return [stdout: "2023-10-24", exitValue: 0] + } + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/cross-cluster-replication.git -S "[AUTOCUT] Integration Test Failed for cross-cluster-replication-2.2.0 in:title" --label autocut,v2.2.0 --json number --jq '.[0].number'""") { script -> + return [stdout: "30", exitValue: 0] + } + runScript('tests/jenkins/jobs/UpdateIntegTestFailureIssues_Jenkinsfile') + assertThat(getCommands('sh', 'cross-cluster-replication'), hasItem("{script=gh issue list --repo https://github.com/opensearch-project/cross-cluster-replication.git -S \"[AUTOCUT] Integration Test Failed for cross-cluster-replication-2.2.0 in:title\" --json number --jq '.[0].number', returnStdout=true}")) + assertThat(getCommands('sh', 'cross-cluster-replication'), hasItem("{script=gh issue close bbb\nccc -R opensearch-project/cross-cluster-replication --comment \"Closing the issue as the integration tests for cross-cluster-replication passed for version: **2.2.0**.\", returnStdout=true}")) + } - @Test - public void testNotClosingGithubIssueOnOneFailure() { - this.registerLibTester(new UpdateIntegTestFailureIssuesLibTester('tests/data/opensearch-2.2.0.yml', '4891')) - helper.addShMock("date -d \"3 days ago\" +'%Y-%m-%d'") { script -> - return [stdout: "2023-10-24", exitValue: 0] - } - helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test Failed for k-NN-2.2.0 in:title" --label autocut,v2.2.0 --json number --jq '.[0].number'""") { script -> - return [stdout: "20", exitValue: 0] - } - runScript('tests/jenkins/jobs/UpdateIntegTestFailureIssues_Jenkinsfile') - assertThat(getCommands('sh', 'k-NN'), not(hasItem("{script=gh issue close bbb\nccc -R opensearch-project/k-NN --comment \"Closing the issue as the integration tests for k-NN passed for version: **2.2.0**.\", returnStdout=true}"))) - assertThat(getCommands('sh', 'script'), hasItem("{script=gh issue edit bbb\nccc --repo https://github.com/opensearch-project/geospatial.git --body \"\n### Integration Test Failed for version 2.2.0. See the specifications below:\n\n#### Details\n\n| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run |\n|----------|--------------|--------------|----------------------|--------------|\n| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect\n| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect\n\nCheck out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa).\n\", returnStdout=true}")) - } + @Test + public void testNotClosingGithubIssueOnOneFailure() { + this.registerLibTester(new UpdateIntegTestFailureIssuesLibTester('tests/data/opensearch-2.2.0.yml', '4891')) + helper.addShMock("date -d \"3 days ago\" +'%Y-%m-%d'") { script -> + return [stdout: "2023-10-24", exitValue: 0] + } + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test Failed for k-NN-2.2.0 in:title" --label autocut,v2.2.0 --json number --jq '.[0].number'""") { script -> + return [stdout: "20", exitValue: 0] + } + runScript('tests/jenkins/jobs/UpdateIntegTestFailureIssues_Jenkinsfile') + assertThat(getCommands('sh', 'k-NN'), not(hasItem("{script=gh issue close bbb\nccc -R opensearch-project/k-NN --comment \"Closing the issue as the integration tests for k-NN passed for version: **2.2.0**.\", returnStdout=true}"))) + assertThat(getCommands('sh', 'script'), hasItem("{script=gh issue edit bbb\nccc --repo https://github.com/opensearch-project/geospatial.git --body \"\n### Integration Test Failed for version 2.2.0. See the specifications below:\n\n#### Details\n\n| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests |\n|----------|------|------|----------------|----|-------------|--------------|---------------|\n| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) |\n| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) |\n\nCheck out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa).\n\", returnStdout=true}")) + } - @Test - public void testIssueCreationWithoutDistributionID() { - this.registerLibTester(new UpdateIntegTestFailureIssuesLibTester('tests/data/opensearch-2.2.0.yml')) - helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test Failed for k-NN-2.2.0 in:title" --label autocut,v2.2.0 --json number --jq '.[0].number'""") { script -> - return [stdout: "", exitValue: 0] - } - helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test Failed for k-NN-2.2.0 in:title is:closed closed:>=2023-10-24" --label autocut,v2.2.0 --json number --jq '.[0].number'""") { script -> - return [stdout: "", exitValue: 0] - } - super.testPipeline('tests/jenkins/jobs/UpdateBuildFailureIssue_without_distributionID_Jenkinsfile') - assertThat(getCommands('println', ''), hasItem('Integration test failed for k-NN, creating github issue')) - assertThat(getCommands('sh', 'script'), hasItem("{script=gh issue edit bbb\nccc --repo https://github.com/opensearch-project/k-NN.git --body \"\n### Integration Test Failed for version 2.2.0. See the specifications below:\n\n#### Details\n\n| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run |\n|----------|--------------|--------------|----------------------|--------------|\n| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect\n| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect\n\nCheck out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa).\n\", returnStdout=true}")) - } + @Test + public void testIssueCreationWithoutDistributionID() { + this.registerLibTester(new UpdateIntegTestFailureIssuesLibTester('tests/data/opensearch-2.2.0.yml')) + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test Failed for k-NN-2.2.0 in:title" --label autocut,v2.2.0 --json number --jq '.[0].number'""") { script -> + return [stdout: "", exitValue: 0] + } + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test Failed for k-NN-2.2.0 in:title is:closed closed:>=2023-10-24" --label autocut,v2.2.0 --json number --jq '.[0].number'""") { script -> + return [stdout: "", exitValue: 0] + } + super.testPipeline('tests/jenkins/jobs/UpdateBuildFailureIssue_without_distributionID_Jenkinsfile') + assertThat(getCommands('println', ''), hasItem('Integration test failed for k-NN, creating github issue')) + assertThat(getCommands('sh', 'script'), hasItem("{script=gh issue edit bbb\nccc --repo https://github.com/opensearch-project/k-NN.git --body \"\n### Integration Test Failed for version 2.2.0. See the specifications below:\n\n#### Details\n\n| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests |\n|----------|------|------|----------------|----|-------------|--------------|---------------|\n| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) |\n| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) |\n\nCheck out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa).\n\nTagging the release owners to take a look @foo @bar\", returnStdout=true}")) + } + + @Test + public void verifyMetricsUrls(){ + def script = loadScript('vars/updateIntegTestFailureIssues.groovy') + def version = '2.18.0' + def component = 'security' + + def tar_x64 = script.getMetricsVisualizationUrl('tar', 'x64', version, component) + assert tar_x64 == "https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.18.0'),type:phrase),query:(match_phrase:(version:'2.18.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:security),type:phrase),query:(match_phrase:(component:security)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)" + + def tar_arm64 = script.getMetricsVisualizationUrl('tar', 'arm64', version, component) + assert tar_arm64 == "https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.18.0'),type:phrase),query:(match_phrase:(version:'2.18.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:security),type:phrase),query:(match_phrase:(component:security)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)" + + def deb_x64 = script.getMetricsVisualizationUrl('deb', 'x64', version, component) + assert deb_x64 == "https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:5743d5c4-be75-49b9-a81f-fef3f805ad99,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.18.0'),type:phrase),query:(match_phrase:(version:'2.18.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:security),type:phrase),query:(match_phrase:(component:security)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)" + + def deb_arm64 = script.getMetricsVisualizationUrl('deb', 'arm64', version, component) + assert deb_arm64 == "https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:7a6ee111-1c99-4f96-9a3f-c0f248181980,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.18.0'),type:phrase),query:(match_phrase:(version:'2.18.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:security),type:phrase),query:(match_phrase:(component:security)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)" + + def rpm_x64 = script.getMetricsVisualizationUrl('rpm', 'x64', version, component) + assert rpm_x64 == "https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:94f0246f-4246-4f05-ba11-b3e22836b8e7,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.18.0'),type:phrase),query:(match_phrase:(version:'2.18.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:security),type:phrase),query:(match_phrase:(component:security)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)" + + def rpm_arm64 = script.getMetricsVisualizationUrl('rpm', 'arm64', version, component) + assert rpm_arm64 == "https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:eae6bad4-cffc-4672-a688-14155229ea63,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.18.0'),type:phrase),query:(match_phrase:(version:'2.18.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:security),type:phrase),query:(match_phrase:(component:security)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)" + + def windows_x64 = script.getMetricsVisualizationUrl('windows', 'x64', version, component) + assert windows_x64 == "https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:a57afb35-8d97-4641-9b07-64ff614dab00,filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.18.0'),type:phrase),query:(match_phrase:(version:'2.18.0'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:security),type:phrase),query:(match_phrase:(component:security)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)" + } def getCommands(method, text) { def shCommands = helper.callStack.findAll { call -> diff --git a/tests/jenkins/jobs/UpdateBuildFailureIssue_without_distributionID_Jenkinsfile.txt b/tests/jenkins/jobs/UpdateBuildFailureIssue_without_distributionID_Jenkinsfile.txt index d8553a07..5a6b8931 100644 --- a/tests/jenkins/jobs/UpdateBuildFailureIssue_without_distributionID_Jenkinsfile.txt +++ b/tests/jenkins/jobs/UpdateBuildFailureIssue_without_distributionID_Jenkinsfile.txt @@ -35,22 +35,29 @@ updateIntegTestFailureIssues.println(Passed Components: [cross-cluster-replication, k-NN, index-management, neural-search]) updateIntegTestFailureIssues.println(Integration test failed for geospatial, creating github issue) ComponentIntegTestStatus.getComponentIntegTestFailedData(geospatial) - OpenSearchMetricsQuery.fetchMetrics({\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}) + OpenSearchMetricsQuery.fetchMetrics({\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\",\"rc_number\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}) updateIntegTestFailureIssues.sh({script= set -e set +x - curl -s -XGET "sample.url/opensearch-integration-test-results/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}" | jq '.' + curl -s -XGET "sample.url/opensearch-integration-test-results/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\",\"rc_number\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}" | jq '.' , returnStdout=true}) - CreateIntegTestMarkDownTable.create() + ReleaseMetricsData.getReleaseOwners(geospatial) + OpenSearchMetricsQuery.fetchMetrics({\"size\":1,\"_source\":\"release_owners\",\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}}]},\"sort\":[{\"current_date\":{\"order\":\"desc\"}}]}}) + updateIntegTestFailureIssues.sh({script= + set -e + set +x + curl -s -XGET "sample.url/opensearch_release_metrics/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"size\":1,\"_source\":\"release_owners\",\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}}]},\"sort\":[{\"current_date\":{\"order\":\"desc\"}}]}}" | jq '.' + , returnStdout=true}) + CreateIntegTestMarkDownTable.create([{platform=linux, distribution=tar, architecture=x64, test_report_manifest_yml=https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml, integ_test_build_url=https://build.ci.opensearch.org/job/integ-test/6561/display/redirect, distribution_build_number=4891, rc_number=0, metrics_visualization_url=https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)}, {platform=linux, distribution=tar, architecture=arm64, test_report_manifest_yml=https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml, integ_test_build_url=https://build.ci.opensearch.org/job/integ-test/6560/display/redirect, distribution_build_number=4891, rc_number=0, metrics_visualization_url=https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)}], []) updateIntegTestFailureIssues.createGithubIssue({repoUrl=https://github.com/opensearch-project/geospatial.git, issueTitle=[AUTOCUT] Integration Test Failed for geospatial-2.2.0, issueBody= ### Integration Test Failed for version 2.2.0. See the specifications below: #### Details -| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run | -|----------|--------------|--------------|----------------------|--------------| -| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect -| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect +| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests | +|----------|------|------|----------------|----|-------------|--------------|---------------| +| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | +| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | Check out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa). , label=autocut,v2.2.0, issueEdit=true}) @@ -67,35 +74,43 @@ ccc --repo https://github.com/opensearch-project/geospatial.git --body " #### Details -| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run | -|----------|--------------|--------------|----------------------|--------------| -| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect -| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect +| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests | +|----------|------|------|----------------|----|-------------|--------------|---------------| +| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | +| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | Check out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa). ", returnStdout=true}) updateIntegTestFailureIssues.sleep({time=3, unit=SECONDS}) updateIntegTestFailureIssues.println(Integration test failed for k-NN, creating github issue) ComponentIntegTestStatus.getComponentIntegTestFailedData(k-NN) - OpenSearchMetricsQuery.fetchMetrics({\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}) + OpenSearchMetricsQuery.fetchMetrics({\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\",\"rc_number\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}) + updateIntegTestFailureIssues.sh({script= + set -e + set +x + curl -s -XGET "sample.url/opensearch-integration-test-results/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\",\"rc_number\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}" | jq '.' + , returnStdout=true}) + ReleaseMetricsData.getReleaseOwners(k-NN) + OpenSearchMetricsQuery.fetchMetrics({\"size\":1,\"_source\":\"release_owners\",\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}}]},\"sort\":[{\"current_date\":{\"order\":\"desc\"}}]}}) updateIntegTestFailureIssues.sh({script= set -e set +x - curl -s -XGET "sample.url/opensearch-integration-test-results/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}" | jq '.' + curl -s -XGET "sample.url/opensearch_release_metrics/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"size\":1,\"_source\":\"release_owners\",\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}}]},\"sort\":[{\"current_date\":{\"order\":\"desc\"}}]}}" | jq '.' , returnStdout=true}) - CreateIntegTestMarkDownTable.create() + CreateIntegTestMarkDownTable.create([{platform=linux, distribution=tar, architecture=x64, test_report_manifest_yml=https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml, integ_test_build_url=https://build.ci.opensearch.org/job/integ-test/6561/display/redirect, distribution_build_number=4891, rc_number=0, metrics_visualization_url=https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)}, {platform=linux, distribution=tar, architecture=arm64, test_report_manifest_yml=https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml, integ_test_build_url=https://build.ci.opensearch.org/job/integ-test/6560/display/redirect, distribution_build_number=4891, rc_number=0, metrics_visualization_url=https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)}], [foo, bar]) updateIntegTestFailureIssues.createGithubIssue({repoUrl=https://github.com/opensearch-project/k-NN.git, issueTitle=[AUTOCUT] Integration Test Failed for k-NN-2.2.0, issueBody= ### Integration Test Failed for version 2.2.0. See the specifications below: #### Details -| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run | -|----------|--------------|--------------|----------------------|--------------| -| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect -| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect +| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests | +|----------|------|------|----------------|----|-------------|--------------|---------------| +| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | +| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | Check out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa). -, label=autocut,v2.2.0, issueEdit=true}) + +Tagging the release owners to take a look @foo @bar, label=autocut,v2.2.0, issueEdit=true}) createGithubIssue.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) createGithubIssue.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) createGithubIssue.sh({script=gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test Failed for k-NN-2.2.0 in:title" --json number --jq '.[0].number', returnStdout=true}) @@ -109,13 +124,14 @@ ccc --repo https://github.com/opensearch-project/k-NN.git --body " #### Details -| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run | -|----------|--------------|--------------|----------------------|--------------| -| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect -| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect +| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests | +|----------|------|------|----------------|----|-------------|--------------|---------------| +| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | +| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | Check out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa). -", returnStdout=true}) + +Tagging the release owners to take a look @foo @bar", returnStdout=true}) updateIntegTestFailureIssues.sleep({time=3, unit=SECONDS}) updateIntegTestFailureIssues.println(Integration tests passed for cross-cluster-replication, closing github issue) updateIntegTestFailureIssues.closeGithubIssue({repoUrl=https://github.com/opensearch-project/cross-cluster-replication.git, issueTitle=[AUTOCUT] Integration Test Failed for cross-cluster-replication-2.2.0, closeComment=Closing the issue as the integration tests for cross-cluster-replication passed for version: **2.2.0**.}) diff --git a/tests/jenkins/jobs/UpdateIntegTestFailureIssues_Jenkinsfile.txt b/tests/jenkins/jobs/UpdateIntegTestFailureIssues_Jenkinsfile.txt index e5c48d27..7a69c686 100644 --- a/tests/jenkins/jobs/UpdateIntegTestFailureIssues_Jenkinsfile.txt +++ b/tests/jenkins/jobs/UpdateIntegTestFailureIssues_Jenkinsfile.txt @@ -28,22 +28,29 @@ updateIntegTestFailureIssues.println(Passed Components: [cross-cluster-replication, k-NN, index-management, neural-search]) updateIntegTestFailureIssues.println(Integration test failed for geospatial, creating github issue) ComponentIntegTestStatus.getComponentIntegTestFailedData(geospatial) - OpenSearchMetricsQuery.fetchMetrics({\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}) + OpenSearchMetricsQuery.fetchMetrics({\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\",\"rc_number\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}) updateIntegTestFailureIssues.sh({script= set -e set +x - curl -s -XGET "sample.url/opensearch-integration-test-results/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}" | jq '.' + curl -s -XGET "sample.url/opensearch-integration-test-results/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\",\"rc_number\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}" | jq '.' , returnStdout=true}) - CreateIntegTestMarkDownTable.create() + ReleaseMetricsData.getReleaseOwners(geospatial) + OpenSearchMetricsQuery.fetchMetrics({\"size\":1,\"_source\":\"release_owners\",\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}}]},\"sort\":[{\"current_date\":{\"order\":\"desc\"}}]}}) + updateIntegTestFailureIssues.sh({script= + set -e + set +x + curl -s -XGET "sample.url/opensearch_release_metrics/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"size\":1,\"_source\":\"release_owners\",\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"geospatial\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}}]},\"sort\":[{\"current_date\":{\"order\":\"desc\"}}]}}" | jq '.' + , returnStdout=true}) + CreateIntegTestMarkDownTable.create([{platform=linux, distribution=tar, architecture=x64, test_report_manifest_yml=https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml, integ_test_build_url=https://build.ci.opensearch.org/job/integ-test/6561/display/redirect, distribution_build_number=4891, rc_number=0, metrics_visualization_url=https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)}, {platform=linux, distribution=tar, architecture=arm64, test_report_manifest_yml=https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml, integ_test_build_url=https://build.ci.opensearch.org/job/integ-test/6560/display/redirect, distribution_build_number=4891, rc_number=0, metrics_visualization_url=https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)}], []) updateIntegTestFailureIssues.createGithubIssue({repoUrl=https://github.com/opensearch-project/geospatial.git, issueTitle=[AUTOCUT] Integration Test Failed for geospatial-2.2.0, issueBody= ### Integration Test Failed for version 2.2.0. See the specifications below: #### Details -| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run | -|----------|--------------|--------------|----------------------|--------------| -| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect -| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect +| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests | +|----------|------|------|----------------|----|-------------|--------------|---------------| +| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | +| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | Check out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa). , label=autocut,v2.2.0, issueEdit=true}) @@ -60,35 +67,43 @@ ccc --repo https://github.com/opensearch-project/geospatial.git --body " #### Details -| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run | -|----------|--------------|--------------|----------------------|--------------| -| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect -| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect +| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests | +|----------|------|------|----------------|----|-------------|--------------|---------------| +| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | +| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:geospatial),type:phrase),query:(match_phrase:(component:geospatial)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | Check out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa). ", returnStdout=true}) updateIntegTestFailureIssues.sleep({time=3, unit=SECONDS}) updateIntegTestFailureIssues.println(Integration test failed for k-NN, creating github issue) ComponentIntegTestStatus.getComponentIntegTestFailedData(k-NN) - OpenSearchMetricsQuery.fetchMetrics({\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}) + OpenSearchMetricsQuery.fetchMetrics({\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\",\"rc_number\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}) + updateIntegTestFailureIssues.sh({script= + set -e + set +x + curl -s -XGET "sample.url/opensearch-integration-test-results/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\",\"rc_number\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}" | jq '.' + , returnStdout=true}) + ReleaseMetricsData.getReleaseOwners(k-NN) + OpenSearchMetricsQuery.fetchMetrics({\"size\":1,\"_source\":\"release_owners\",\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}}]},\"sort\":[{\"current_date\":{\"order\":\"desc\"}}]}}) updateIntegTestFailureIssues.sh({script= set -e set +x - curl -s -XGET "sample.url/opensearch-integration-test-results/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"_source\":[\"platform\",\"architecture\",\"distribution\",\"test_report_manifest_yml\",\"integ_test_build_url\"],\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}},{\"match_phrase\":{\"distribution_build_number\":\"4891\"}}]}}}" | jq '.' + curl -s -XGET "sample.url/opensearch_release_metrics/_search" --aws-sigv4 "aws:amz:us-east-1:es" --user "abc:xyz" -H "x-amz-security-token:sampleToken" -H 'Content-Type: application/json' -d "{\"size\":1,\"_source\":\"release_owners\",\"query\":{\"bool\":{\"filter\":[{\"match_phrase\":{\"component\":\"k-NN\"}},{\"match_phrase\":{\"version\":\"2.2.0\"}}]},\"sort\":[{\"current_date\":{\"order\":\"desc\"}}]}}" | jq '.' , returnStdout=true}) - CreateIntegTestMarkDownTable.create() + CreateIntegTestMarkDownTable.create([{platform=linux, distribution=tar, architecture=x64, test_report_manifest_yml=https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml, integ_test_build_url=https://build.ci.opensearch.org/job/integ-test/6561/display/redirect, distribution_build_number=4891, rc_number=0, metrics_visualization_url=https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)}, {platform=linux, distribution=tar, architecture=arm64, test_report_manifest_yml=https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml, integ_test_build_url=https://build.ci.opensearch.org/job/integ-test/6560/display/redirect, distribution_build_number=4891, rc_number=0, metrics_visualization_url=https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)}], [foo, bar]) updateIntegTestFailureIssues.createGithubIssue({repoUrl=https://github.com/opensearch-project/k-NN.git, issueTitle=[AUTOCUT] Integration Test Failed for k-NN-2.2.0, issueBody= ### Integration Test Failed for version 2.2.0. See the specifications below: #### Details -| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run | -|----------|--------------|--------------|----------------------|--------------| -| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect -| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect +| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests | +|----------|------|------|----------------|----|-------------|--------------|---------------| +| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | +| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | Check out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa). -, label=autocut,v2.2.0, issueEdit=true}) + +Tagging the release owners to take a look @foo @bar, label=autocut,v2.2.0, issueEdit=true}) createGithubIssue.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) createGithubIssue.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) createGithubIssue.sh({script=gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test Failed for k-NN-2.2.0 in:title" --json number --jq '.[0].number', returnStdout=true}) @@ -102,13 +117,14 @@ ccc --repo https://github.com/opensearch-project/k-NN.git --body " #### Details -| Platform | Distribution | Architecture | Test Report Manifest | Workflow Run | -|----------|--------------|--------------|----------------------|--------------| -| linux | tar | x64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect -| linux | tar | arm64 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect +| Platform | Dist | Arch | Dist Build No. | RC | Test Report | Workflow Run | Failing tests | +|----------|------|------|----------------|----|-------------|--------------|---------------| +| linux | tar | x64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/x64/tar/test-results/6561/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6561/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:ddafb9c5-2d35-482a-9c61-1ba78b67f406,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | +| linux | tar | arm64 | 4891 | 0 | https://ci.opensearch.org/ci/dbc/integ-test/2.2.0/7984/linux/arm64/tar/test-results/6560/integ-test/test-report.yml | https://build.ci.opensearch.org/job/integ-test/6560/display/redirect | [Check metrics](https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',expandedPanelId:c570bdfd-3122-4e31-a02d-2130d797d9fc,filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'2.2.0'),type:phrase),query:(match_phrase:(version:'2.2.0'))),('$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:k-NN),type:phrase),query:(match_phrase:(component:k-NN)))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)) | Check out test report manifest linked above for steps to reproduce, cluster and integration test failure logs. For additional information checkout the [wiki](https://github.com/opensearch-project/opensearch-build/wiki/Testing-the-Distribution) and [OpenSearch Metrics Dashboard](https://metrics.opensearch.org/_dashboards/app/dashboards#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa). -", returnStdout=true}) + +Tagging the release owners to take a look @foo @bar", returnStdout=true}) updateIntegTestFailureIssues.sleep({time=3, unit=SECONDS}) updateIntegTestFailureIssues.println(Integration tests passed for cross-cluster-replication, closing github issue) updateIntegTestFailureIssues.closeGithubIssue({repoUrl=https://github.com/opensearch-project/cross-cluster-replication.git, issueTitle=[AUTOCUT] Integration Test Failed for cross-cluster-replication-2.2.0, closeComment=Closing the issue as the integration tests for cross-cluster-replication passed for version: **2.2.0**.}) diff --git a/vars/updateIntegTestFailureIssues.groovy b/vars/updateIntegTestFailureIssues.groovy index c63c488e..b8f2f5bf 100644 --- a/vars/updateIntegTestFailureIssues.groovy +++ b/vars/updateIntegTestFailureIssues.groovy @@ -15,11 +15,15 @@ import jenkins.ComponentBuildStatus import jenkins.ComponentIntegTestStatus import jenkins.CreateIntegTestMarkDownTable +import jenkins.ReleaseMetricsData void call(Map args = [:]) { def inputManifest = readYaml(file: args.inputManifestPath) def version = inputManifest.build.version def product = inputManifest.build.name + def integTestIndexName = 'opensearch-integration-test-results' + def buildIndexName = 'opensearch-distribution-build-results' + def releaseIndexName = 'opensearch_release_metrics' List failedComponents = [] List passedComponents = [] @@ -32,18 +36,17 @@ void call(Map args = [:]) { def awsAccessKey = env.AWS_ACCESS_KEY_ID def awsSecretKey = env.AWS_SECRET_ACCESS_KEY def awsSessionToken = env.AWS_SESSION_TOKEN - def integTestIndexName = 'opensearch-integration-test-results' - def buildIndexName = 'opensearch-distribution-build-results' def distributionBuildNumber = args.distributionBuildNumber ?: new ComponentBuildStatus(metricsUrl, awsAccessKey, awsSecretKey, awsSessionToken, buildIndexName, product, version, this).getLatestDistributionBuildNumber().toString() ComponentIntegTestStatus componentIntegTestStatus = new ComponentIntegTestStatus(metricsUrl, awsAccessKey, awsSecretKey, awsSessionToken, integTestIndexName, product, version, distributionBuildNumber, this) - println('Distribution Build Number: '+ distributionBuildNumber) + ReleaseMetricsData releaseMetricsData = new ReleaseMetricsData(metricsUrl, awsAccessKey, awsSecretKey, awsSessionToken, releaseIndexName, version, this) + println('Distribution Build Number: ' + distributionBuildNumber) passedComponents = componentIntegTestStatus.getComponents('passed') failedComponents = componentIntegTestStatus.getComponents('failed') failedComponents = failedComponents.unique() passedComponents = passedComponents.unique() - println('Failed Components: '+ failedComponents) - println('Passed Components: '+ passedComponents) + println('Failed Components: ' + failedComponents) + println('Passed Components: ' + passedComponents) for (component in inputManifest.components) { if (!failedComponents.isEmpty() && failedComponents.contains(component.name)) { @@ -52,16 +55,21 @@ void call(Map args = [:]) { def queryData = componentIntegTestStatus.getComponentIntegTestFailedData(component.name) def totalHits = queryData.hits.hits.collect { it._source } totalHits.each { hit -> + String metricsVisualizationUrl = getMetricsVisualizationUrl(hit.distribution, hit.architecture, version, component.name) def rowData = [ - platform : hit.platform, - distribution : hit.distribution, - architecture : hit.architecture, - test_report_manifest_yml: hit.test_report_manifest_yml, - integ_test_build_url : hit.integ_test_build_url - ] + platform : hit.platform, + distribution : hit.distribution, + architecture : hit.architecture, + test_report_manifest_yml : hit.test_report_manifest_yml, + integ_test_build_url : hit.integ_test_build_url, + distribution_build_number: distributionBuildNumber, + rc_number : hit.rc_number, + metrics_visualization_url: metricsVisualizationUrl + ] testData << rowData } - def markdownContent = new CreateIntegTestMarkDownTable(version, testData).create() + List releaseOwners = releaseMetricsData.getReleaseOwners(component.name) + def markdownContent = new CreateIntegTestMarkDownTable(version).create(testData, releaseOwners) createGithubIssue( repoUrl: component.repository, issueTitle: "[AUTOCUT] Integration Test Failed for ${component.name}-${version}", @@ -85,3 +93,30 @@ void call(Map args = [:]) { } } } + + +def getMetricsVisualizationUrl(String distribution, String architecture, String version, String component) { + String baseUrl = "https://metrics.opensearch.org/_dashboards/app/dashboards?security_tenant=global#/view/21aad140-49f6-11ef-bbdd-39a9b324a5aa" + String queryParams = "?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-30d,to:now))&_a=(description:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results'," + String filterTemplate = "filters:!(('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:version,negate:!f,params:(query:'${version}'),type:phrase),query:(match_phrase:(version:'${version}'))),('\$state':(store:appState),meta:(alias:!n,disabled:!f,index:d90d2ba0-8fe0-11ef-a168-f19b1bbc360c,key:component,negate:!f,params:(query:${component}),type:phrase),query:(match_phrase:(component:${component})))),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),timeRestore:!t,title:'OpenSearch%20Release%20Build%20and%20Integration%20Test%20Results',viewMode:view)" + + Map panelIds = [ + 'tar_x64': 'ddafb9c5-2d35-482a-9c61-1ba78b67f406', + 'tar_arm64': 'c570bdfd-3122-4e31-a02d-2130d797d9fc', + 'deb_x64': '5743d5c4-be75-49b9-a81f-fef3f805ad99', + 'deb_arm64': '7a6ee111-1c99-4f96-9a3f-c0f248181980', + 'rpm_x64': '94f0246f-4246-4f05-ba11-b3e22836b8e7', + 'rpm_arm64': 'eae6bad4-cffc-4672-a688-14155229ea63', + 'windows_x64': 'a57afb35-8d97-4641-9b07-64ff614dab00' + ] + + String key = "${distribution}_${architecture}" + String expandedPanelId = panelIds[key] + + if (expandedPanelId) { + return baseUrl + queryParams + "expandedPanelId:${expandedPanelId}," + filterTemplate + } else { + println("Unknown ${distribution}_${architecture}") + return 'null' + } +}