Alignak-monitoring-contrib / alignak-webui

Web User Interface for Alignak monitoring framework
GNU Affero General Public License v3.0
8 stars 4 forks source link

Error 500 on user profile #333

Closed mohierf closed 6 years ago

mohierf commented 7 years ago

Error 500 internal server error when clicking on View my user profile:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/bottle.py", line 862, in _handle
    return route.call(**args)
  File "/usr/local/lib/python2.7/site-packages/bottle.py", line 1740, in wrapper
    rv = callback(*a, **ka)
  File "/usr/local/lib/python2.7/site-packages/bottle.py", line 3639, in wrapper
    result = func(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/alignak_webui/utils/plugin.py", line 540, in get_one
    element = f(search={'max_results': 1, 'where': {'name': element_name}})
  File "/usr/local/lib/python2.7/site-packages/alignak_webui/backend/datamanager.py", line 2003, in get_user
    items = self.get_users(search=search)
  File "/usr/local/lib/python2.7/site-packages/alignak_webui/backend/datamanager.py", line 1966, in get_users
    if not self.logged_in_user.is_super_administrator() \
AttributeError: 'NoneType' object has no attribute 'is_super_administrator'

Navigate back to the home page and then click again on the same link, no more error!

mohierf commented 7 years ago

Same error for a data table:

[2017-09-27 15:21:55,043] ERROR: [alignak_backend_client.client] Authentication is required for getting an object.
[2017-09-27 15:21:55,068] WARNING: [alignak_webui.backend.backend] get, backend exception for grafana: Backend error code 1001: Access denied, please login before trying to get, response: None
[2017-09-27 15:21:55,068] ERROR: [alignak_webui.backend.datamanager] find_object, exception: Backend error code 1001: Access denied, please login before trying to get, response: None
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/alignak_webui/backend/datamanager.py", line 258, in find_object
    result = self.backend.get(object_type, params, all_elements)
  File "/usr/local/lib/python2.7/site-packages/alignak_webui/backend/backend.py", line 213, in get
    raise BackendException(code=e.code, message=e.message)
BackendException: Backend error code 1001: Access denied, please login before trying to get, response: None
[2017-09-27 15:21:55,164] INFO: [alignak_webui.utils.plugin] request data table: graphite, templates: False
[2017-09-27 15:21:55,170] INFO: [alignak_webui.utils.datatable] request data for table: graphite, templates: False
[2017-09-27 15:21:55,171] INFO: [alignak_webui.utils.datatable] backend order request parameters: {'sort': u'-name', 'max_results': 25, 'page': 1}
[2017-09-27 15:21:55,171] INFO: [alignak_webui.utils.datatable] backend search individual columns parameters: []
[2017-09-27 15:21:55,171] INFO: [alignak_webui.utils.datatable] global search requested: {u'regex': False, u'value': u''}
[2017-09-27 15:21:55,171] INFO: [alignak_webui.utils.datatable] backend search global parameters: {}
[2017-09-27 15:21:55,177] INFO: [alignak_webui.utils.datatable] table data get parameters: {'sort': u'-name', 'max_results': 25, 'page': 1, 'embedded': {u'statsd': 1, u'grafana': 1}}
[2017-09-27 15:21:55,183] INFO: [alignak_webui.utils.datatable] table data got 1 items
[2017-09-27 15:21:55,183] WARNING: [alignak_webui.utils.datatable] Table field is supposed to be an object: Demo, statsd = statsd
[2017-09-27 15:21:55,400] ERROR: [alignak_backend_client.client] Authentication is required for patching an object.
[2017-09-27 15:21:55,400] ERROR: [alignak_webui.backend.backend] update, backend exception: Backend error code 1001: Access denied, please login before trying to patch, response: None
[2017-09-27 15:21:58,662] ERROR: [alignak_webui.utils.helper] get_html_livestate, livestate -1 ({'sort': '-ls_state_id, -ls_last_state_changed', 'where': {'ls_state_id': {'$nin': [0, 4]}, 'ls_state_type': 'HARD', '_is_template': False, 'ls_acknowledged': False, 'ls_downtimed': False}}), 4 hosts
mohierf commented 7 years ago

It looks like some user session problems ... note that uWsgi is stred with 4 processes ... ay thread switching behavior ???

mohierf commented 6 years ago
[2017-10-12 04:38:51,017] INFO: [alignak_webui] client: 82.242.181.90, cookie: Alignak-WebUI=6b2fbb4a39b54131b57c605840e8cca0
[2017-10-12 04:38:51,017] INFO: [alignak_webui] session: 6b2fbb4a39b54131b57c605840e8cca0 / 2017-10-12 03:18:22 / {'_creation_time': 1507771102.263918, 'current_user': <Authenticated user, id: 597d88da99fe63f4a2e8945b, name: admin, role: administrator, level: 2>, 'edition_mode': False, 'login_message': None, '_accessed_time': 1507775931.004458, 'current_realm': <realm, id: 597d887299fe63f21ab2060b, name: All, status: unknown>}
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/bottle.py", line 862, in _handle
    return route.call(**args)
  File "/usr/local/lib/python2.7/site-packages/bottle.py", line 1740, in wrapper
    rv = callback(*a, **ka)
  File "/usr/local/lib/python2.7/site-packages/bottle.py", line 3639, in wrapper
    result = func(*args, **kwargs)
  File "./alignak_webui/utils/plugin.py", line 1084, in get_table
    dt = Datatable(self.backend_endpoint, request.app.datamgr, self.table, templates=templates)
  File "./alignak_webui/utils/datatable.py", line 106, in __init__
    self.get_data_model(plugin_table)
  File "./alignak_webui/utils/datatable.py", line 140, in get_data_model
    user_level = self.datamgr.logged_in_user.skill_level
AttributeError: 'NoneType' object has no attribute 'skill_level'
[pid: 61888|app: 0|req: 4345/9158] 10.0.4.254 () {42 vars in 870 bytes} [Thu Oct 12 04:38:51 2017] GET /users/table => generated 771 bytes in 33 msecs (HTTP/1.0 500) 2 headers in 99 bytes (1 switches on core 0)

No logged-in user !!!

mohierf commented 6 years ago

Fixed with https://github.com/Alignak-monitoring-contrib/alignak-webui/pull/337