コード例 #1
0
ファイル: app.py プロジェクト: GounGG/ES_Index_Manage
def Close_action(index_name, alias_name, day):
    try:
        ilo = curator.IndexList(client)
        # 筛选以什么开头的,进行删除
        ilo.filter_by_regex(kind='prefix', value=index_name)
        # 按创建时间赛选 older|younger 老的| 新的 timestring 匹配datestamp中的时间(当source为name的时候需)
        ilo.filter_by_age(source='creation_date',
                          direction='older',
                          unit='days',
                          unit_count=day)
        # 进行移除别名操作
        try:
            Remove_alias(name=alias_name, ilo=ilo).run()
        except Exception as e:
            raise "移除名别失败"
        finally:
            # 进行关闭操作
            close_indices = curator.Close(ilo)
            # 操作记录,不会执行操作
            msg = close_indices.do_dry_run()
            # 执行关闭操作
            close_indices.do_action()
            return msg
    except Exception as e:
        return e
コード例 #2
0
ファイル: test_action_close.py プロジェクト: zhpfork/curator
 def test_init(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)
     co = curator.Close(ilo)
     self.assertEqual(ilo, co.index_list)
     self.assertEqual(client, co.client)
コード例 #3
0
ファイル: test_action_close.py プロジェクト: zhpfork/curator
 def test_do_action_with_delete_aliases(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.flush_synced.return_value = testvars.synced_pass
     client.indices.close.return_value = None
     ilo = curator.IndexList(client)
     co = curator.Close(ilo, delete_aliases=True)
     self.assertIsNone(co.do_action())
コード例 #4
0
ファイル: test_action_close.py プロジェクト: zhpfork/curator
 def test_do_dry_run(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.flush_synced.return_value = testvars.synced_pass
     client.indices.close.return_value = None
     ilo = curator.IndexList(client)
     co = curator.Close(ilo)
     self.assertIsNone(co.do_dry_run())
コード例 #5
0
ファイル: test_action_close.py プロジェクト: zhpfork/curator
 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.flush_synced.return_value = testvars.synced_pass
     client.indices.close.return_value = None
     client.indices.close.side_effect = testvars.fake_fail
     ilo = curator.IndexList(client)
     co = curator.Close(ilo)
     self.assertRaises(curator.FailedExecution, co.do_action)
コード例 #6
0
 def test_do_action(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
     client.indices.flush_synced.return_value = testvars.synced_pass
     client.indices.close.return_value = None
     ilo = curator.IndexList(client)
     co = curator.Close(ilo)
     self.assertIsNone(co.do_action())
コード例 #7
0
 def test_do_action_delete_aliases_with_exception(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
     client.indices.flush_synced.return_value = testvars.synced_pass
     client.indices.close.return_value = None
     ilo = curator.IndexList(client)
     client.indices.delete_alias.side_effect = testvars.fake_fail
     co = curator.Close(ilo, delete_aliases=True)
     self.assertIsNone(co.do_action())