Exemplo n.º 1
0
def create_aliases(client, alias_name, archive_index_name):
    """"
    Create read write aliases
    """
    ilo = curator.IndexList(client)
    ilo.filter_by_regex(kind='regex', value='^'+archive_index_name+'$')
    for index in ilo.working_list():
        print("Adding index {} to alias {}".format(index, alias_name))
    if re.search(r'write', alias_name):
        alias = curator.Alias(client=client, name=alias_name, extra_settings={'is_write_index': True})
    else:
        alias = curator.Alias(client=client, name=alias_name)
    alias.add(ilo)
    alias.do_action()
Exemplo n.º 2
0
 def test_add_raises_on_invalid_parameter(self):
     client = Mock()
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     ilo = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     self.assertRaises(TypeError, ao.add, [])
Exemplo n.º 3
0
 def test_raise_on_empty_body(self):
     client = Mock()
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     ilo = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     self.assertRaises(curator.ActionError, ao.body)
Exemplo n.º 4
0
 def test_add_raises_on_missing_parameter(self):
     client = Mock()
     client.info.return_value = {'version': {'number': '2.4.1'}}
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     ilo = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     self.assertRaises(TypeError, ao.add)
Exemplo n.º 5
0
 def test_remove_single(self):
     client = Mock()
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     ilo = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     ao.remove(ilo)
     self.assertEqual(testvars.alias_one_rm, ao.actions)
Exemplo n.º 6
0
 def test_raise_action_error_on_empty_body(self):
     client = Mock()
     client.info.return_value = {'version': {'number': '5.0.0'}}
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     _ = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     self.assertRaises(curator.ActionError, ao.body)
Exemplo n.º 7
0
 def test_add_single(self):
     client = Mock()
     client.info.return_value = {'version': {'number': '2.4.1'}}
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     ilo = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     ao.add(ilo)
     self.assertEqual(testvars.alias_one_add, ao.actions)
Exemplo n.º 8
0
 def test_remove_multiple(self):
     client = Mock()
     client.indices.get_settings.return_value = testvars.settings_two
     client.cluster.state.return_value = testvars.clu_state_two
     client.indices.stats.return_value = testvars.stats_two
     ilo = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     ao.remove(ilo)
     cmp = sorted(ao.actions, key=lambda k: k['remove']['index'])
     self.assertEqual(testvars.alias_two_rm, cmp)
Exemplo n.º 9
0
 def test_add_single_with_extra_settings(self):
     client = Mock()
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     ilo = curator.IndexList(client)
     esd = {'filter': {'term': {'user': '******'}}}
     ao = curator.Alias(name='alias', extra_settings=esd)
     ao.add(ilo)
     self.assertEqual(testvars.alias_one_add_with_extras, ao.actions)
Exemplo n.º 10
0
 def test_do_action(self):
     client = Mock()
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     client.indices.update_aliases.return_value = testvars.alias_success
     ilo = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     ao.add(ilo)
     self.assertIsNone(ao.do_action())
Exemplo n.º 11
0
 def test_do_action_raises_exception(self):
     client = Mock()
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     client.indices.update_aliases.return_value = testvars.alias_success
     client.indices.update_aliases.side_effect = testvars.four_oh_one
     ilo = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     ao.add(ilo)
     self.assertRaises(curator.FailedExecution, ao.do_action)
Exemplo n.º 12
0
def create_aliases(client, alias_name, archive_index_name):
    """"
    Create read write aliases
    """
    ilo = curator.IndexList(client)
    ilo.filter_by_regex(kind='regex', value='^' + archive_index_name + '$')
    alias = curator.Alias(client=client, name=alias_name)
    for index in ilo.working_list():
        print("Adding index {} to alias {}".format(index, alias_name))
    alias.add(ilo)
    alias.do_action()
Exemplo n.º 13
0
 def test_add_multiple(self):
     client = Mock()
     client.info.return_value = {'version': {'number': '2.4.1'}}
     client.indices.get_settings.return_value = testvars.settings_two
     client.cluster.state.return_value = testvars.clu_state_two
     client.indices.stats.return_value = testvars.stats_two
     ilo = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     ao.add(ilo)
     cmp = sorted(ao.actions, key=lambda k: k['add']['index'])
     self.assertEqual(testvars.alias_two_add, cmp)
Exemplo n.º 14
0
 def test_do_dry_run(self):
     client = Mock()
     client.info.return_value = {'version': {'number': '5.0.0'}}
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     client.indices.update_aliases.return_value = testvars.alias_success
     _ = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     ao.add(_)
     self.assertIsNone(ao.do_dry_run())
Exemplo n.º 15
0
 def test_remove_single(self):
     client = Mock()
     client.info.return_value = {'version': {'number': '5.0.0'}}
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     client.indices.get_alias.return_value = testvars.settings_1_get_aliases
     _ = curator.IndexList(client)
     ao = curator.Alias(name='my_alias')
     ao.remove(_)
     self.assertEqual(testvars.alias_one_rm, ao.actions)
Exemplo n.º 16
0
 def test_raise_no_indices_on_empty_body_when_warn_if_no_indices(self):
     client = Mock()
     client.info.return_value = {'version': {'number': '5.0.0'}}
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     _ = curator.IndexList(client)
     # empty it, so there can be no body
     _.indices = []
     ao = curator.Alias(name='alias')
     ao.add(_, warn_if_no_indices=True)
     self.assertRaises(curator.NoIndices, ao.body)
Exemplo n.º 17
0
 def test_remove_multiple(self):
     client = Mock()
     client.info.return_value = {'version': {'number': '5.0.0'}}
     client.indices.get_settings.return_value = testvars.settings_two
     client.cluster.state.return_value = testvars.clu_state_two
     client.indices.stats.return_value = testvars.stats_two
     client.indices.get_alias.return_value = testvars.settings_2_get_aliases
     _ = curator.IndexList(client)
     ao = curator.Alias(name='my_alias')
     ao.remove(_)
     cmp = sorted(ao.actions, key=lambda k: k['remove']['index'])
     self.assertEqual(testvars.alias_two_rm, cmp)
Exemplo n.º 18
0
 def test_show_body(self):
     client = Mock()
     client.indices.get_settings.return_value = testvars.settings_one
     client.cluster.state.return_value = testvars.clu_state_one
     client.indices.stats.return_value = testvars.stats_one
     ilo = curator.IndexList(client)
     ao = curator.Alias(name='alias')
     ao.remove(ilo)
     ao.add(ilo)
     body = ao.body()
     self.assertEqual(testvars.alias_one_body['actions'][0],
                      body['actions'][0])
     self.assertEqual(testvars.alias_one_body['actions'][1],
                      body['actions'][1])
Exemplo n.º 19
0
def rollover(client, write_alias, read_alias, conditions):
    """
    Rollover to new index and put it into read alias
    """
    print("Rollover {}, based on conditions {}".format(write_alias, conditions))
    roll = curator.Rollover(client=client, name=write_alias, conditions=conditions)
    roll.do_action()
    ilo = curator.IndexList(client)
    ilo.filter_by_alias(aliases=[write_alias])
    alias = curator.Alias(client=client, name=read_alias)
    for index in ilo.working_list():
        print("Adding index {} to alias {}".format(index, read_alias))
    alias.add(ilo)
    alias.do_action()
Exemplo n.º 20
0
def read_alias_lookback(client, write_alias, read_alias, unit, unit_count):
    """
    This is used to mimic --es.max-span-age - The maximum lookback for spans in Elasticsearch
    by removing old indices from read alias
    """
    ilo = curator.IndexList(client)
    ilo.filter_by_alias(aliases=[read_alias])
    ilo.filter_by_alias(aliases=[write_alias], exclude=True)
    ilo.filter_by_age(source='creation_date', direction='older', unit=unit, unit_count=unit_count)
    empty_list(ilo, 'No indices to remove from alias {}'.format(read_alias))
    for index in ilo.working_list():
        print("Removing index {} from alias {}".format(index, read_alias))
    alias = curator.Alias(client=client, name=read_alias)
    alias.remove(ilo)
    alias.do_action()
Exemplo n.º 21
0
 def run(self):
     remove_alias = curator.Alias(name=self.name)
     remove_alias.remove(self.ilo)
     remove_alias.do_action()
     return True