Skip to content

Commit 2cfbd6f

Browse files
committed
Update CI check for integ-test-with-security to run all integ tests with security (opensearch-project#1243)
* Run all integ tests with security Signed-off-by: Craig Perkins <cwperx@amazon.com> * Use adminClient when deleting ISM index in RestStopRollupActionIT Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update RolloverActionIT Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix RestStopSnapshotManagementIT Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix RestChangePolicyActionIT Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix more tests Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix more tests Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix more tests Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix RestExplainTransformActionIT Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix more tests Signed-off-by: Craig Perkins <cwperx@amazon.com> * Make sure read from system index also uses adminClient Signed-off-by: Craig Perkins <cwperx@amazon.com> --------- Signed-off-by: Craig Perkins <cwperx@amazon.com> (cherry picked from commit 395317d)
1 parent 8cac832 commit 2cfbd6f

17 files changed

+96
-59
lines changed

.github/workflows/security-test-workflow.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
- name: Run integration tests
4141
run: |
4242
chown -R 1000:1000 `pwd`
43-
su `id -un 1000` -c "./gradlew integTest -Dsecurity=true -Dhttps=true --tests '*SecurityBehaviorIT'"
43+
su `id -un 1000` -c "./gradlew integTest -Dsecurity=true -Dhttps=true --tests '*IT'"
4444
- name: Upload failed logs
4545
uses: actions/upload-artifact@v2
4646
if: failure()

src/test/kotlin/org/opensearch/indexmanagement/indexstatemanagement/IndexStateManagementRestTestCase.kt

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -338,11 +338,12 @@ abstract class IndexStateManagementRestTestCase : IndexManagementRestTestCase()
338338
{
339339
"$key" : "$value"
340340
}
341-
""".trimIndent()
342-
val res = client().makeRequest(
343-
"PUT", "$index/_settings", emptyMap(),
344-
StringEntity(body, APPLICATION_JSON),
345-
)
341+
""".trimIndent()
342+
val res =
343+
adminClient().makeRequest(
344+
"PUT", "$index/_settings", emptyMap(),
345+
StringEntity(body, ContentType.APPLICATION_JSON),
346+
)
346347
assertEquals("Update index setting failed", RestStatus.OK, res.restStatus())
347348
}
348349

@@ -465,13 +466,14 @@ abstract class IndexStateManagementRestTestCase : IndexManagementRestTestCase()
465466
}
466467

467468
protected fun updateManagedIndexConfigPolicySeqNo(update: ManagedIndexConfig) {
468-
val response = client().makeRequest(
469-
"POST", "$INDEX_MANAGEMENT_INDEX/_update/${update.id}",
470-
StringEntity(
471-
"{\"doc\":{\"managed_index\":{\"policy_seq_no\":\"${update.policySeqNo}\"}}}",
472-
APPLICATION_JSON,
473-
),
474-
)
469+
val response =
470+
adminClient().makeRequest(
471+
"POST", "$INDEX_MANAGEMENT_INDEX/_update/${update.id}",
472+
StringEntity(
473+
"{\"doc\":{\"managed_index\":{\"policy_seq_no\":\"${update.policySeqNo}\"}}}",
474+
APPLICATION_JSON,
475+
),
476+
)
475477
assertEquals("Request failed", RestStatus.OK, response.restStatus())
476478
}
477479

src/test/kotlin/org/opensearch/indexmanagement/indexstatemanagement/action/RolloverActionIT.kt

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -770,21 +770,22 @@ class RolloverActionIT : IndexStateManagementRestTestCase() {
770770
assertEquals("Index did not rollover.", AttemptRolloverStep.getSuccessMessage(firstIndex), info["message"])
771771
}
772772
// Manually produce transaction failure
773-
val response = client().makeRequest(
774-
"POST", "$INDEX_MANAGEMENT_INDEX/_update/${managedIndexConfig.id}%23metadata",
775-
StringEntity(
776-
"{\n" +
777-
" \"script\": {\n" +
778-
" \"source\": \"ctx._source.managed_index_metadata.step.step_status = params.step_status\",\n" +
779-
" \"lang\": \"painless\",\n" +
780-
" \"params\": {\n" +
781-
" \"step_status\": \"starting\"\n" +
782-
" }\n" +
783-
" }\n" +
784-
"}",
785-
ContentType.APPLICATION_JSON,
786-
),
787-
)
773+
val response =
774+
adminClient().makeRequest(
775+
"POST", "$INDEX_MANAGEMENT_INDEX/_update/${managedIndexConfig.id}%23metadata",
776+
StringEntity(
777+
"{\n" +
778+
" \"script\": {\n" +
779+
" \"source\": \"ctx._source.managed_index_metadata.step.step_status = params.step_status\",\n" +
780+
" \"lang\": \"painless\",\n" +
781+
" \"params\": {\n" +
782+
" \"step_status\": \"starting\"\n" +
783+
" }\n" +
784+
" }\n" +
785+
"}",
786+
ContentType.APPLICATION_JSON,
787+
),
788+
)
788789
assertEquals("Request failed", RestStatus.OK, response.restStatus())
789790

790791
// Execute again to see the transaction failure

src/test/kotlin/org/opensearch/indexmanagement/indexstatemanagement/resthandler/RestChangePolicyActionIT.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package org.opensearch.indexmanagement.indexstatemanagement.resthandler
77

88
import org.junit.Before
9+
import org.opensearch.client.Request
910
import org.opensearch.client.ResponseException
1011
import org.opensearch.common.settings.Settings
1112
import org.opensearch.core.rest.RestStatus
@@ -35,7 +36,7 @@ import org.opensearch.indexmanagement.spi.indexstatemanagement.model.StateMetaDa
3536
import org.opensearch.indexmanagement.waitFor
3637
import org.opensearch.rest.RestRequest
3738
import java.time.Instant
38-
import java.util.Locale
39+
import java.util.*
3940

4041
class RestChangePolicyActionIT : IndexStateManagementRestTestCase() {
4142

@@ -87,7 +88,10 @@ class RestChangePolicyActionIT : IndexStateManagementRestTestCase() {
8788
}
8889

8990
fun `test nonexistent ism config index`() {
90-
if (indexExists(INDEX_MANAGEMENT_INDEX)) deleteIndex(INDEX_MANAGEMENT_INDEX)
91+
if (indexExists(INDEX_MANAGEMENT_INDEX)) {
92+
val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX")
93+
adminClient().performRequest(deleteISMIndexRequest)
94+
}
9195
try {
9296
val changePolicy = ChangePolicy("some_id", null, emptyList(), false)
9397
client().makeRequest(

src/test/kotlin/org/opensearch/indexmanagement/rollup/resthandler/RestStartRollupActionIT.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55

66
package org.opensearch.indexmanagement.rollup.resthandler
77

8+
import org.opensearch.client.Request
89
import org.opensearch.client.ResponseException
910
import org.opensearch.common.settings.Settings
1011
import org.opensearch.core.rest.RestStatus
1112
import org.opensearch.indexmanagement.IndexManagementIndices
1213
import org.opensearch.indexmanagement.IndexManagementPlugin
14+
import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.INDEX_MANAGEMENT_INDEX
1315
import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.ROLLUP_JOBS_BASE_URI
1416
import org.opensearch.indexmanagement.common.model.dimension.DateHistogram
1517
import org.opensearch.indexmanagement.indexstatemanagement.util.INDEX_HIDDEN
@@ -22,7 +24,7 @@ import org.opensearch.indexmanagement.waitFor
2224
import org.opensearch.jobscheduler.spi.schedule.IntervalSchedule
2325
import java.time.Instant
2426
import java.time.temporal.ChronoUnit
25-
import java.util.Locale
27+
import java.util.*
2628

2729
class RestStartRollupActionIT : RollupRestAPITestCase() {
2830

@@ -199,7 +201,8 @@ class RestStartRollupActionIT : RollupRestAPITestCase() {
199201

200202
fun `test start rollup when multiple shards configured for IM config index`() {
201203
// setup ism-config index with multiple primary shards
202-
deleteIndex(IndexManagementPlugin.INDEX_MANAGEMENT_INDEX)
204+
val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX")
205+
adminClient().performRequest(deleteISMIndexRequest)
203206
val mapping = IndexManagementIndices.indexManagementMappings.trim().trimStart('{').trimEnd('}')
204207
val settings = Settings.builder()
205208
.put(INDEX_HIDDEN, true)
@@ -250,7 +253,7 @@ class RestStartRollupActionIT : RollupRestAPITestCase() {
250253

251254
// clearing the config index to prevent other tests using this multi shard index
252255
Thread.sleep(2000L)
253-
deleteIndex(IndexManagementPlugin.INDEX_MANAGEMENT_INDEX)
256+
adminClient().performRequest(deleteISMIndexRequest)
254257
Thread.sleep(2000L)
255258
}
256259
}

src/test/kotlin/org/opensearch/indexmanagement/rollup/resthandler/RestStopRollupActionIT.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55

66
package org.opensearch.indexmanagement.rollup.resthandler
77

8+
import org.opensearch.client.Request
89
import org.opensearch.client.ResponseException
910
import org.opensearch.common.settings.Settings
1011
import org.opensearch.core.rest.RestStatus
1112
import org.opensearch.indexmanagement.IndexManagementIndices
1213
import org.opensearch.indexmanagement.IndexManagementPlugin
14+
import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.INDEX_MANAGEMENT_INDEX
1315
import org.opensearch.indexmanagement.IndexManagementPlugin.Companion.ROLLUP_JOBS_BASE_URI
1416
import org.opensearch.indexmanagement.common.model.dimension.DateHistogram
1517
import org.opensearch.indexmanagement.common.model.dimension.Terms
@@ -252,7 +254,8 @@ class RestStopRollupActionIT : RollupRestAPITestCase() {
252254

253255
fun `test stop rollup when multiple shards configured for IM config index`() {
254256
// setup ism-config index with multiple primary shards
255-
deleteIndex(IndexManagementPlugin.INDEX_MANAGEMENT_INDEX)
257+
val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX")
258+
adminClient().performRequest(deleteISMIndexRequest)
256259
val mapping = IndexManagementIndices.indexManagementMappings.trim().trimStart('{').trimEnd('}')
257260
val settings = Settings.builder()
258261
.put(INDEX_HIDDEN, true)
@@ -306,7 +309,7 @@ class RestStopRollupActionIT : RollupRestAPITestCase() {
306309

307310
// clearing the config index to prevent other tests using this multi shard index
308311
Thread.sleep(2000L)
309-
deleteIndex(IndexManagementPlugin.INDEX_MANAGEMENT_INDEX)
312+
adminClient().performRequest(deleteISMIndexRequest)
310313
Thread.sleep(2000L)
311314
}
312315
}

src/test/kotlin/org/opensearch/indexmanagement/rollup/runner/RollupRunnerIT.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1394,7 +1394,7 @@ class RollupRunnerIT : RollupRestTestCase() {
13941394
// - Source index with pattern mapping to some closed indices
13951395

13961396
private fun deleteRollupMetadata(metadataId: String) {
1397-
val response = client().makeRequest("DELETE", "${IndexManagementPlugin.INDEX_MANAGEMENT_INDEX}/_doc/$metadataId")
1397+
val response = adminClient().makeRequest("DELETE", "${IndexManagementPlugin.INDEX_MANAGEMENT_INDEX}/_doc/$metadataId")
13981398
assertEquals("Unable to delete rollup metadata $metadataId", RestStatus.OK, response.restStatus())
13991399
}
14001400
}

src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/SnapshotManagementRestTestCase.kt

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -138,13 +138,14 @@ abstract class SnapshotManagementRestTestCase : IndexManagementRestTestCase() {
138138
val millis = Duration.of(intervalSchedule.interval.toLong(), intervalSchedule.unit).minusSeconds(2).toMillis()
139139
val startTimeMillis = desiredStartTimeMillis ?: (now().toEpochMilli() - millis)
140140
val waitForActiveShards = if (isMultiNode) "all" else "1"
141-
val response = client().makeRequest(
142-
"POST", "$INDEX_MANAGEMENT_INDEX/_update/${update.id}?wait_for_active_shards=$waitForActiveShards",
143-
StringEntity(
144-
"{\"doc\":{\"sm_policy\":{\"schedule\":{\"interval\":{\"start_time\":\"$startTimeMillis\"}}}}}",
145-
APPLICATION_JSON,
146-
),
147-
)
141+
val response =
142+
adminClient().makeRequest(
143+
"POST", "$INDEX_MANAGEMENT_INDEX/_update/${update.id}?wait_for_active_shards=$waitForActiveShards",
144+
StringEntity(
145+
"{\"doc\":{\"sm_policy\":{\"schedule\":{\"interval\":{\"start_time\":\"$startTimeMillis\"}}}}}",
146+
APPLICATION_JSON,
147+
),
148+
)
148149

149150
assertEquals("Request failed", RestStatus.OK, response.restStatus())
150151
}
@@ -169,10 +170,11 @@ abstract class SnapshotManagementRestTestCase : IndexManagementRestTestCase() {
169170
val millis = Duration.of(intervalSchedule.interval.toLong(), intervalSchedule.unit).minusSeconds(2).toMillis()
170171
val startTimeMillis = desiredStartTimeMillis ?: (now().toEpochMilli() - millis)
171172
val waitForActiveShards = if (isMultiNode) "all" else "1"
172-
val response = client().makeRequest(
173-
"POST", "$INDEX_MANAGEMENT_INDEX/_update/${update.metadataID}?wait_for_active_shards=$waitForActiveShards",
174-
StringEntity(
175-
"""
173+
val response =
174+
adminClient().makeRequest(
175+
"POST", "$INDEX_MANAGEMENT_INDEX/_update/${update.metadataID}?wait_for_active_shards=$waitForActiveShards",
176+
StringEntity(
177+
"""
176178
{
177179
"doc": {
178180
"sm_metadata": {

src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestDeleteSnapshotManagementIT.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package org.opensearch.indexmanagement.snapshotmanagement.resthandler
77

8+
import org.opensearch.client.Request
89
import org.opensearch.client.ResponseException
910
import org.opensearch.core.rest.RestStatus
1011
import org.opensearch.indexmanagement.IndexManagementPlugin
@@ -39,7 +40,8 @@ class RestDeleteSnapshotManagementIT : SnapshotManagementRestTestCase() {
3940

4041
fun `test deleting a snapshot management policy that doesn't exist and config index doesnt exist`() {
4142
try {
42-
deleteIndex(INDEX_MANAGEMENT_INDEX)
43+
val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX")
44+
adminClient().performRequest(deleteISMIndexRequest)
4345
client().makeRequest("DELETE", "${IndexManagementPlugin.SM_POLICIES_URI}/nonexistent_policy")
4446
fail("expected 404 ResponseException")
4547
} catch (e: ResponseException) {

src/test/kotlin/org/opensearch/indexmanagement/snapshotmanagement/resthandler/RestExplainSnapshotManagementIT.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package org.opensearch.indexmanagement.snapshotmanagement.resthandler
77

8+
import org.opensearch.client.Request
89
import org.opensearch.client.ResponseException
910
import org.opensearch.common.xcontent.XContentType
1011
import org.opensearch.core.rest.RestStatus
@@ -139,7 +140,8 @@ class RestExplainSnapshotManagementIT : SnapshotManagementRestTestCase() {
139140

140141
fun `test explain sm policy when config index doesn't exist`() {
141142
try {
142-
deleteIndex(INDEX_MANAGEMENT_INDEX)
143+
val deleteISMIndexRequest = Request("DELETE", "/$INDEX_MANAGEMENT_INDEX")
144+
adminClient().performRequest(deleteISMIndexRequest)
143145
explainSMPolicy(randomAlphaOfLength(10))
144146
fail("expected response exception")
145147
} catch (e: ResponseException) {

0 commit comments

Comments
 (0)