Coverage for curator/actions/open.py: 100%
21 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-07-20 21:00 -0600
« prev ^ index » next coverage.py v7.2.7, created at 2023-07-20 21:00 -0600
1"""Open index action class"""
2import logging
3from curator.helpers.testers import verify_index_list
4from curator.helpers.utils import chunk_index_list, report_failure, show_dry_run, to_csv
6class Open:
7 """Open Action Class"""
8 def __init__(self, ilo):
9 """
10 :param ilo: An IndexList Object
12 :type ilo: :py:class:`~.curator.indexlist.IndexList`
13 """
14 verify_index_list(ilo)
15 #: The :py:class:`~.curator.indexlist.IndexList` object passed from param ``ilo``
16 self.index_list = ilo
17 #: The :py:class:`~.elasticsearch.Elasticsearch` client object derived from
18 #: :py:attr:`index_list`
19 self.client = ilo.client
20 self.loggit = logging.getLogger('curator.actions.open')
22 def do_dry_run(self):
23 """Log what the output would be, but take no action."""
24 show_dry_run(self.index_list, 'open')
26 def do_action(self):
27 """:py:meth:`~.elasticsearch.client.IndicesClient.open` indices in :py:attr:`index_list`"""
28 self.index_list.empty_list_check()
29 msg = f'Opening {len(self.index_list.indices)} selected indices: {self.index_list.indices}'
30 self.loggit.info(msg)
31 try:
32 index_lists = chunk_index_list(self.index_list.indices)
33 for lst in index_lists:
34 self.client.indices.open(index=to_csv(lst))
35 # pylint: disable=broad-except
36 except Exception as err:
37 report_failure(err)