Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-8091

FIWARE.Request.Tech.Security.IDM-KeyRock.KeyRock Error: "A server error occured. Please contact the administrator"

    Details

    • Type: extRequest
    • Status: Closed
    • Priority: Major
    • Resolution: Dismissed
    • Fix Version/s: 2021
    • Component/s: FIWARE-TECH-HELP
    • Labels:
      None

      Description

      Hello,

      I am new to FIWARE and I am using KeyRock for the first time. I have run Keystone and Horizon on a machine. I am able to get access to Keystone server directly via curl. However, whenever I run both try to access Horizon at IP:8000 using a browser from another computer, I get the error:

      A server error occured. Please contact the administrator

      On the Keystone server, I get the following error:

      2017-01-09 11:21:07.212 13053 ERROR keystone.notifications [-] Failed to construct notifier
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications Traceback (most recent call last):
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications File "/keystone/keystone/notifications.py", line 220, in _get_notifier
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications transport = messaging.get_transport(CONF)
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications File "/keystone/.venv/local/lib/python2.7/site-packages/oslo/messaging/transport.py", line 185, in get_transport
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications invoke_kwds=kwargs)
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications File "/keystone/.venv/local/lib/python2.7/site-packages/stevedore/driver.py", line 45, in _init_
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications verify_requirements=verify_requirements,
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications File "/keystone/.venv/local/lib/python2.7/site-packages/stevedore/named.py", line 55, in _init_
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications verify_requirements)
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications File "/keystone/.venv/local/lib/python2.7/site-packages/stevedore/extension.py", line 170, in _load_plugins
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications self._on_load_failure_callback(self, ep, err)
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications File "/keystone/.venv/local/lib/python2.7/site-packages/stevedore/driver.py", line 50, in _default_on_load_failure
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications raise err
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications ImportError: cannot import name _uuid_generate_random
      2017-01-09 11:21:07.212 13053 TRACE keystone.notifications
      2017-01-09 11:21:07.218 13053 WARNING keystone.common.wsgi [-] Authorization failed. The request you have made requires authentication. from 127.0.0.1
      2017-01-09 11:21:07.221 13053 INFO eventlet.wsgi.server [-] 127.0.0.1 - - [09/Jan/2017 11:21:07] "POST /v3/auth/tokens HTTP/1.1" 401 331 0.316112
      2017-01-09 11:21:08.174 13054 ERROR keystone.notifications [-] Failed to construct notifier
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications Traceback (most recent call last):
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications File "/keystone/keystone/notifications.py", line 220, in _get_notifier
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications transport = messaging.get_transport(CONF)
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications File "/keystone/.venv/local/lib/python2.7/site-packages/oslo/messaging/transport.py", line 185, in get_transport
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications invoke_kwds=kwargs)
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications File "/keystone/.venv/local/lib/python2.7/site-packages/stevedore/driver.py", line 45, in _init_
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications verify_requirements=verify_requirements,
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications File "/keystone/.venv/local/lib/python2.7/site-packages/stevedore/named.py", line 55, in _init_
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications verify_requirements)
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications File "/keystone/.venv/local/lib/python2.7/site-packages/stevedore/extension.py", line 170, in _load_plugins
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications self._on_load_failure_callback(self, ep, err)
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications File "/keystone/.venv/local/lib/python2.7/site-packages/stevedore/driver.py", line 50, in _default_on_load_failure
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications raise err
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications ImportError: cannot import name _uuid_generate_random
      2017-01-09 11:21:08.174 13054 TRACE keystone.notifications
      2017-01-09 11:21:08.177 13054 WARNING keystone.common.wsgi [-] Authorization failed. The request you have made requires authentication. from 127.0.0.1
      2017-01-09 11:21:08.183 13054 INFO eventlet.wsgi.server [-] 127.0.0.1 - - [09/Jan/2017 11:21:08] "POST /v3/auth/tokens HTTP/1.1" 401 331 0.258749

      On the Horizon server, I get the following error:

      DEBUG:idm_logger:Creating a new internal keystoneclient connection to http://0.0.0.0:5000/v3.

      Unauthorized: The request you have made requires authentication. (HTTP 401)
      Traceback (most recent call last):
      File "/horizon/openstack_dashboard/fiware_api/keystone.py", line 990, in _get_element_and_cache
      resource_element = function(request, element)
      File "/horizon/openstack_dashboard/fiware_api/keystone.py", line 1022, in <lambda>
      request, basic, lambda req, n: internal_keystoneclient(req).roles.find(name=n), pickle_props=['name'])
      File "/horizon/openstack_dashboard/fiware_api/keystone.py", line 64, in internal_keystoneclient
      cache.set(CACHE_CLIENT, keystoneclient.session.get_token(), INTERNAL_CLIENT_CACHE_TIME)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/session.py", line 610, in get_token
      return (self.get_auth_headers(auth) or {}).get('X-Auth-Token')
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/session.py", line 589, in get_auth_headers
      return auth.get_headers(self, **kwargs)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/auth/base.py", line 114, in get_headers
      token = self.get_token(session)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/auth/identity/base.py", line 104, in get_token
      return self.get_access(session).auth_token
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/auth/identity/base.py", line 144, in get_access
      self.auth_ref = self.get_auth_ref(session)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/auth/identity/v3.py", line 127, in get_auth_ref
      authenticated=False, log=False, **rkwargs)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/session.py", line 488, in post
      return self.request(url, 'POST', **kwargs)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/utils.py", line 318, in inner
      return func(*args, **kwargs)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/session.py", line 389, in request
      raise exceptions.from_response(resp, method, url)
      Unauthorized: The request you have made requires authentication. (HTTP 401)
      Traceback (most recent call last):
      File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
      self.result = application(self.environ, self.start_response)
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 64, in _call_
      return self.application(environ, start_response)
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 168, in _call_
      self.load_middleware()
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 46, in load_middleware
      mw_instance = mw_class()
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/middleware/locale.py", line 23, in _init_
      for url_pattern in get_resolver(None).url_patterns:
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 367, in url_patterns
      patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 361, in urlconf_module
      self._urlconf_module = import_module(self.urlconf_name)
      File "/usr/lib/python2.7/importlib/_init_.py", line 37, in import_module
      _import_(name)
      File "/horizon/openstack_dashboard/urls.py", line 36, in <module>
      from openstack_dashboard.dashboards.idm_admin.user_accounts \
      File "/horizon/openstack_dashboard/dashboards/idm_admin/user_accounts/views.py", line 28, in <module>
      from openstack_dashboard.dashboards.idm_admin.user_accounts \
      File "/horizon/openstack_dashboard/dashboards/idm_admin/user_accounts/forms.py", line 195, in <module>
      class UpdateAccountForm(forms.SelfHandlingForm, UserAccountsLogicMixin):
      File "/horizon/openstack_dashboard/dashboards/idm_admin/user_accounts/forms.py", line 202, in UpdateAccountForm
      choices=get_account_choices())
      File "/horizon/openstack_dashboard/dashboards/idm_admin/user_accounts/forms.py", line 172, in get_account_choices
      use_idm_account=True),
      File "/horizon/openstack_dashboard/fiware_api/keystone.py", line 1022, in get_basic_role
      request, basic, lambda req, n: internal_keystoneclient(req).roles.find(name=n), pickle_props=['name'])
      File "/horizon/openstack_dashboard/fiware_api/keystone.py", line 997, in _get_element_and_cache
      exceptions.handle(request)
      File "/horizon/horizon/exceptions.py", line 291, in handle
      messages.error(request, message or fallback)
      File "/horizon/horizon/messages.py", line 83, in error
      fail_silently=fail_silently)
      File "/horizon/horizon/messages.py", line 41, in add_message
      if not horizon_message_already_queued(request, message):
      File "/horizon/horizon/messages.py", line 28, in horizon_message_already_queued
      if request.is_ajax():
      AttributeError: 'NoneType' object has no attribute 'is_ajax'
      [09/Jan/2017 11:21:07] "GET / HTTP/1.1" 500 59

      DEBUG:idm_logger:Creating a new internal keystoneclient connection to http://0.0.0.0:5000/v3.<http://0.0.0.0:5000/v3>
      Unauthorized: The request you have made requires authentication. (HTTP 401)
      Traceback (most recent call last):
      File "/horizon/openstack_dashboard/fiware_api/keystone.py", line 990, in _get_element_and_cache
      resource_element = function(request, element)
      File "/horizon/openstack_dashboard/fiware_api/keystone.py", line 1022, in <lambda>
      request, basic, lambda req, n: internal_keystoneclient(req).roles.find(name=n), pickle_props=['name'])
      File "/horizon/openstack_dashboard/fiware_api/keystone.py", line 64, in internal_keystoneclient
      cache.set(CACHE_CLIENT, keystoneclient.session.get_token(), INTERNAL_CLIENT_CACHE_TIME)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/session.py", line 610, in get_token
      return (self.get_auth_headers(auth) or {}).get('X-Auth-Token')
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/session.py", line 589, in get_auth_headers
      return auth.get_headers(self, **kwargs)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/auth/base.py", line 114, in get_headers
      token = self.get_token(session)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/auth/identity/base.py", line 104, in get_token
      return self.get_access(session).auth_token
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/auth/identity/base.py", line 144, in get_access
      self.auth_ref = self.get_auth_ref(session)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/auth/identity/v3.py", line 127, in get_auth_ref
      authenticated=False, log=False, **rkwargs)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/session.py", line 488, in post
      return self.request(url, 'POST', **kwargs)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/utils.py", line 318, in inner
      return func(*args, **kwargs)
      File "/horizon/.venv/src/python-keystoneclient/keystoneclient/session.py", line 389, in request
      raise exceptions.from_response(resp, method, url)
      Unauthorized: The request you have made requires authentication. (HTTP 401)
      Traceback (most recent call last):
      File "/usr/lib/python2.7/wsgiref/handlers.py", line 85, in run
      self.result = application(self.environ, self.start_response)
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/contrib/staticfiles/handlers.py", line 64, in _call_
      return self.application(environ, start_response)
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 168, in _call_
      self.load_middleware()
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 46, in load_middleware
      mw_instance = mw_class()
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/middleware/locale.py", line 23, in _init_
      for url_pattern in get_resolver(None).url_patterns:
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 367, in url_patterns
      patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
      File "/horizon/.venv/local/lib/python2.7/site-packages/django/core/urlresolvers.py", line 361, in urlconf_module
      self._urlconf_module = import_module(self.urlconf_name)
      File "/usr/lib/python2.7/importlib/_init_.py", line 37, in import_module
      _import_(name)
      File "/horizon/openstack_dashboard/urls.py", line 36, in <module>
      from openstack_dashboard.dashboards.idm_admin.user_accounts \
      File "/horizon/openstack_dashboard/dashboards/idm_admin/user_accounts/views.py", line 28, in <module>
      from openstack_dashboard.dashboards.idm_admin.user_accounts \
      File "/horizon/openstack_dashboard/dashboards/idm_admin/user_accounts/forms.py", line 195, in <module>
      class UpdateAccountForm(forms.SelfHandlingForm, UserAccountsLogicMixin):
      File "/horizon/openstack_dashboard/dashboards/idm_admin/user_accounts/forms.py", line 202, in UpdateAccountForm
      choices=get_account_choices())
      File "/horizon/openstack_dashboard/dashboards/idm_admin/user_accounts/forms.py", line 172, in get_account_choices
      use_idm_account=True),
      File "/horizon/openstack_dashboard/fiware_api/keystone.py", line 1022, in get_basic_role
      request, basic, lambda req, n: internal_keystoneclient(req).roles.find(name=n), pickle_props=['name'])
      File "/horizon/openstack_dashboard/fiware_api/keystone.py", line 997, in _get_element_and_cache
      exceptions.handle(request)
      File "/horizon/horizon/exceptions.py", line 291, in handle
      messages.error(request, message or fallback)
      File "/horizon/horizon/messages.py", line 83, in error
      fail_silently=fail_silently)
      File "/horizon/horizon/messages.py", line 41, in add_message
      if not horizon_message_already_queued(request, message):
      File "/horizon/horizon/messages.py", line 28, in horizon_message_already_queued
      if request.is_ajax():
      AttributeError: 'NoneType' object has no attribute 'is_ajax'
      [09/Jan/2017 11:21:08] "GET /favicon.ico HTTP/1.1" 500 59

      I think the issue is with improper linking between the Keystone and Horizon. I am sending a GET request via the browser but the keystone server is receiving a POST request. I do not understand why is this so. Please help me as I am really stuck at this point.

      Thank you.

      __________________________________________________________________________________________

      You can get more information about our cookies and privacy policies on the following links:

      Fiware-tech-help mailing list
      Fiware-tech-help@lists.fiware.org
      https://lists.fiware.org/listinfo/fiware-tech-help

      [Created via e-mail received from: "Nadeem, Chaudhary Umair" <umair.nadeem@rwth-aachen.de>]

        Activity

        Hide
        aalonsog Alvaro Alonso added a comment -

        duplicated HELP-8073

        Show
        aalonsog Alvaro Alonso added a comment - duplicated HELP-8073

          People

          • Assignee:
            aalonsog Alvaro Alonso
            Reporter:
            fw.ext.user FW External User
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: