Uploaded image for project: 'openATTIC'
  1. openATTIC
  2. OP-2339

Backend: /api/ceph failes, because Mon Command "health" may hang

    XMLWordPrintable

    Details

      Description

      2017-06-15 12:45:09,890 10536 mod_wsgi ERROR exception#custom_handler - Internal Server Error: None
      Traceback (most recent call last):
        File "/usr/lib/python2.7/site-packages/rest_framework/views.py", line 400, in dispatch
          response = handler(request, *args, **kwargs)
        File "/usr/lib/python2.7/site-packages/rest_framework/mixins.py", line 98, in list
          return Response(serializer.data)
        File "/usr/lib/python2.7/site-packages/rest_framework/serializers.py", line 576, in data
          self._data = self.to_native(obj)
        File "/usr/lib/python2.7/site-packages/rest_framework/serializers.py", line 355, in to_native
          value = field.field_to_native(obj, field_name)
        File "/usr/lib/python2.7/site-packages/rest_framework/serializers.py", line 420, in field_to_native
          return [self.to_native(item) for item in value]
        File "/usr/lib/python2.7/site-packages/rest_framework/serializers.py", line 355, in to_native
          value = field.field_to_native(obj, field_name)
        File "/usr/lib/python2.7/site-packages/rest_framework/fields.py", line 336, in field_to_native
          return super(WritableField, self).field_to_native(obj, field_name)
        File "/usr/lib/python2.7/site-packages/rest_framework/fields.py", line 207, in field_to_native
          value = get_component(value, component)
        File "/usr/lib/python2.7/site-packages/rest_framework/fields.py", line 58, in get_component
          val = getattr(obj, attr_name)
        File "/usr/share/openattic/nodb/models.py", line 308, in __get__
          self.eval_func(instance, query_set, self.field_names)
        File "/usr/share/openattic/ceph/models.py", line 168, in set_cluster_health
          self.health = self.mon_api(self.fsid).health()['overall_status']
        File "/usr/share/openattic/ceph/librados.py", line 747, in health
          return self._call_mon_command('health')
        File "/usr/share/openattic/ceph/librados.py", line 755, in _call_mon_command
          timeout)
        File "/usr/share/openattic/ceph/librados.py", line 281, in call_librados
          '({} sec).'.format(p.name, p.pid, timeout))
      ExternalCommandError: Process LibradosProcess-29 with ID 22444 terminated because of timeout (30 sec).
      

      We should make sure, /api/ceph/ is always accessible, even if ceph health doesn't return.

      Dehler, Tatjana fyi

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              swagner Sebastian Wagner
              Reporter:
              swagner Sebastian Wagner
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: