Index State Management support (#398)
* feat(plugins): add index management client plugin Signed-off-by: florian <[email protected]> * chore(CHANGELOG): added entry for ISM api support in changelog Signed-off-by: florian <[email protected]> * test(plugins): use assertEqual to compare call parameters Signed-off-by: florian <[email protected]> * test(plugins): edit policy to support older versions of opensearch Signed-off-by: florian <[email protected]> * test(plugins): ignore plugin tests when opensearch is unreleased Signed-off-by: florian <[email protected]> * test(plugins): move plugin tests into separate files Signed-off-by: florian <[email protected]> * test(plugins): fix import of OpenSearchTestCase Signed-off-by: florian <[email protected]> * chore(USER_GUIDE): add a index management plugin part Signed-off-by: florian <[email protected]> --------- Signed-off-by: florian <[email protected]>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
# 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.
|
||||
#
|
||||
# Modifications Copyright OpenSearch Contributors. See
|
||||
# GitHub history for details.
|
||||
#
|
||||
# Licensed to Elasticsearch B.V. under one or more contributor
|
||||
# license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright
|
||||
# ownership. Elasticsearch B.V. licenses this file to you under
|
||||
# the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
@@ -0,0 +1,56 @@
|
||||
# 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.
|
||||
#
|
||||
# Modifications Copyright OpenSearch Contributors. See
|
||||
# GitHub history for details.
|
||||
|
||||
from test_opensearchpy.test_cases import OpenSearchTestCase
|
||||
|
||||
|
||||
class TestIndexManagement(OpenSearchTestCase):
|
||||
def test_create_policy(self):
|
||||
self.client.index_management.put_policy("...")
|
||||
self.assert_url_called("PUT", "/_plugins/_ism/policies/...")
|
||||
|
||||
def test_update_policy(self):
|
||||
self.client.index_management.put_policy(
|
||||
"...", params={"if_seq_no": 7, "if_primary_term": 1}
|
||||
)
|
||||
self.assertEqual(
|
||||
[({"if_seq_no": 7, "if_primary_term": 1}, {}, None)],
|
||||
self.assert_url_called("PUT", "/_plugins/_ism/policies/..."),
|
||||
)
|
||||
|
||||
def test_add_policy(self):
|
||||
self.client.index_management.add_policy("...")
|
||||
self.assert_url_called("POST", "/_plugins/_ism/add/...")
|
||||
|
||||
def test_get_policy(self):
|
||||
self.client.index_management.get_policy("...")
|
||||
self.assert_url_called("GET", "/_plugins/_ism/policies/...")
|
||||
|
||||
def test_remove_policy_from_index(self):
|
||||
self.client.index_management.remove_policy_from_index("...")
|
||||
self.assert_url_called("POST", "/_plugins/_ism/remove/...")
|
||||
|
||||
def test_change_policy(self):
|
||||
self.client.index_management.change_policy("...")
|
||||
self.assert_url_called("POST", "/_plugins/_ism/change_policy/...")
|
||||
|
||||
def test_retry(self):
|
||||
self.client.index_management.retry("...")
|
||||
self.assert_url_called("POST", "/_plugins/_ism/retry/...")
|
||||
|
||||
def test_explain_index(self):
|
||||
self.client.index_management.explain_index("...", show_policy=True)
|
||||
self.assertEqual(
|
||||
[({"show_policy": b"true"}, {}, None)],
|
||||
self.assert_url_called("GET", "/_plugins/_ism/explain/..."),
|
||||
)
|
||||
|
||||
def test_delete_policy(self):
|
||||
self.client.index_management.delete_policy("...")
|
||||
self.assert_url_called("DELETE", "/_plugins/_ism/policies/...")
|
||||
Reference in New Issue
Block a user