Ejemplo n.º 1
0
 def test_retries_on_transport_errors(self, es, sleep):
     es.cluster.health.side_effect = [
         elasticsearch.TransportError(503, "Service Unavailable"),
         elasticsearch.TransportError(401, "Unauthorized"),
         elasticsearch.TransportError(408, "Timed Out"),
         elasticsearch.TransportError(408, "Timed Out"),
         {"version": {"number": "5.0.0", "build_hash": "abc123"}},
     ]
     assert client.wait_for_rest_layer(es, max_attempts=5)
Ejemplo n.º 2
0
    def test_retries_on_transport_errors(self, es, sleep):
        import elasticsearch

        es.info.side_effect = [
            elasticsearch.TransportError(503, "Service Unavailable"),
            elasticsearch.TransportError(401, "Unauthorized"),
            {
                "version": {
                    "number": "5.0.0",
                    "build_hash": "abc123"
                }
            }
        ]
        self.assertTrue(launcher.wait_for_rest_layer(es, max_attempts=3))
Ejemplo n.º 3
0
 def test_get_repository_transporterror_negative(self):
     client = Mock()
     client.snapshot.get_repository.side_effect = elasticsearch.TransportError(503,'foo','bar')
     self.assertRaises(
         curator.CuratorException,
         curator.get_repository, client, repository=testvars.repo_name
     )
Ejemplo n.º 4
0
 def test_raises_exception(self):
     client = Mock()
     client.snapshot.get_repository.return_value = {
         'not_your_repo': {
             'foo': 'bar'
         }
     }
     client.snapshot.create_repository.side_effect = elasticsearch.TransportError(
         500, "Error message", {"message": "Error"})
     self.assertRaises(curator.FailedExecution,
                       curator.create_repository,
                       client,
                       repository="repo",
                       repo_type="fs")
Ejemplo n.º 5
0
    def test_put_template_transport_error(self):
        my_handler = TestHandler()
        logging.getLogger('lumberjack.schemas').addHandler(my_handler)

        self.getLumberjackObject()

        test_exception = elasticsearch.TransportError(400, 'Test exception')
        called = {'called': False}
        def mock_put_template_f(name, body):
            called['called'] = True
            raise test_exception
        self.elasticsearch.indices.put_template = mock_put_template_f
        self.lj.register_schema('type_a', SCHEMA_A)
        self.assertTrue(called['called'])

        my_handler.assertLoggedWithException(
            'lumberjack.schemas', 'WARNING',
            'Error putting new template in Elasticsearch: type_a.',
            test_exception)
Ejemplo n.º 6
0
    def test_put_mapping_transport_error(self):
        my_handler = TestHandler()
        logging.getLogger('lumberjack.schemas').addHandler(my_handler)

        self.getLumberjackObject()

        test_exception = elasticsearch.TransportError(400, 'Test exception')
        called = {'called': False}
        def mock_put_mapping_f(index, body, doc_type):
            called['called'] = True
            raise test_exception
        self.elasticsearch.indices.put_mapping = mock_put_mapping_f
        self.lj.register_schema('type_a', SCHEMA_A)
        self.assertTrue(called['called'])

        my_handler.assertLoggedWithException(
            'lumberjack.schemas', 'WARNING',
            'There was an error putting the new mapping on some indices.  ' +
            'If you try to log new data to these, you will see errors.',
            test_exception)
Ejemplo n.º 7
0
    def test_transport_error(self):
        my_handler = TestHandler()
        logging.getLogger('lumberjack.actions').addHandler(my_handler)

        self.getLumberjackObject()

        test_exception = elasticsearch.TransportError(400, 'Test exception')

        def mock_bulk_f(es, actions):
            raise test_exception

        self.lj.action_queue._bulk = mock_bulk_f

        with self.lj.action_queue.queue_lock:
            self.lj.action_queue.queue.append(None)

        self.lj.trigger_flush()
        self.lj.action_queue.running = False
        self.lj.action_queue.join(timeout=10)
        self.assertFalse(self.lj.action_queue.is_alive())

        my_handler.assertLoggedWithException(
            'lumberjack.actions', 'ERROR',
            'Error in flushing queue. Falling back to file.', test_exception)
Ejemplo n.º 8
0
 def execute(self):
     raise elasticsearch.TransportError()
Ejemplo n.º 9
0
import elasticsearch
from voluptuous import *

fake_fail      = Exception('Simulated Failure')
four_oh_one    = elasticsearch.TransportError(401, "simulated error")
four_oh_four   = elasticsearch.TransportError(404, "simulated error")
get_alias_fail = elasticsearch.NotFoundError(404, "simulated error")
named_index    = 'index_name'
named_indices  = [ "index-2015.01.01", "index-2015.02.01" ]
open_index     = {'metadata': {'indices' : { named_index : {'state' : 'open'}}}}
closed_index   = {'metadata': {'indices' : { named_index : {'state' : 'close'}}}}
cat_open_index = [{'status': 'open'}]
cat_closed_index = [{'status': 'close'}]
open_indices   = { 'metadata': { 'indices' : { 'index1' : { 'state' : 'open' },
                                               'index2' : { 'state' : 'open' }}}}
closed_indices = { 'metadata': { 'indices' : { 'index1' : { 'state' : 'close' },
                                               'index2' : { 'state' : 'close' }}}}
named_alias    = 'alias_name'
alias_retval   = { "pre_aliased_index": { "aliases" : { named_alias : { }}}}
aliases_retval = {
    "index1": { "aliases" : { named_alias : { } } },
    "index2": { "aliases" : { named_alias : { } } },
    }
alias_one_add  = [{'add': {'alias': 'alias', 'index': 'index_name'}}]
alias_one_add_with_extras  = [
    { 'add': {
            'alias': 'alias', 'index': 'index_name',
            'filter' : { 'term' : { 'user' : 'kimchy' }}
            }
    }]
alias_one_rm   = [{'remove': {'alias': 'my_alias', 'index': named_index}}]
Ejemplo n.º 10
0
 def info(self):
     if self.client_options.get("raise-error-on-info", False):
         import elasticsearch
         raise elasticsearch.TransportError(401, "Unauthorized")
     return self._info
Ejemplo n.º 11
0
 def test_dont_retry_eternally_on_transport_errors(self, es, sleep):
     es.cluster.health.side_effect = elasticsearch.TransportError(
         401, "Unauthorized")
     self.assertFalse(client.wait_for_rest_layer(es, max_attempts=3))
Ejemplo n.º 12
0
 def test_delete_snapshot_negative(self):
     client = Mock()
     client.snapshot.delete.side_effect = elasticsearch.TransportError(400, 'This is an error message')
     self.assertFalse(curator.delete_snapshot(client, repository=repo_name, snapshot=snap_name))
Ejemplo n.º 13
0
    def test_dont_retries_eternally_on_transport_errors(self, es, sleep):
        import elasticsearch

        es.info.side_effect = elasticsearch.TransportError(401, "Unauthorized")
        self.assertFalse(launcher.wait_for_rest_layer(es, max_attempts=3))
Ejemplo n.º 14
0
 def mock_bulk_f(es, actions):
     raise elasticsearch.TransportError(400, 'Test exception.')
Ejemplo n.º 15
0
 def mock_bulk_f(es, actions):
     completed_actions.extend(actions)
     raise elasticsearch.TransportError(400, 'Test exception.')
Ejemplo n.º 16
0
 def mock_bulk_f(es, actions):
     if len(completed_actions) > MAX_QUEUE_LENGTH:
         called['called'] = True
         raise elasticsearch.TransportError(400, 'Test exception.')
     else:
         completed_actions.extend(actions)