eucalyptus

Eucalyptus 4.4.4 Eucaconsole Crash After Login


With the help of folks here and at github I have a clean startup log and working login page for my Eucaconsole. I've configured an account and user for the console via

euare-accountcreate -a myconsoleaccount

euare-useraddloginprofile --as-account myconsoleaccount -u admin -p cleverpassword

-On the user-side I can reliably generate a failed login message using a known bad password. I do this so I can see the difference between good/bad password behavior.

-When I authenticate, seemingly successfuly, my browser moves to a 504 Gateway Timeout error and I find the following error info in my /var/log/eucaconsole.log:

2018-11-05 15:37:53 INFO Authenticated Eucalyptus user: myconsoleaccount/admin from 10.0.0.7
2018-11-05 15:40:54 ERROR Error handling request
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/gunicorn/workers/async.py", line 45, in handle
    self.handle_request(listener, req, client, addr)
  File "/usr/lib/python2.7/site-packages/gunicorn/workers/async.py", line 93, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
  File "/usr/lib/python2.7/site-packages/pyramid/router.py", line 242, in __call__
    response = self.invoke_subrequest(request, use_tweens=True)
  File "/usr/lib/python2.7/site-packages/pyramid/router.py", line 217, in invoke_subrequest
    response = handle_request(request)
  File "/usr/lib/python2.7/site-packages/eucaconsole/tweens.py", line 126, in __call__
    response = self.handler(request)
  File "/usr/lib/python2.7/site-packages/eucaconsole/tweens.py", line 88, in tween
    response = handler(request)
  File "/usr/lib/python2.7/site-packages/eucaconsole/tweens.py", line 62, in tween
    response = handler(request)
  File "/usr/lib/python2.7/site-packages/eucaconsole/tweens.py", line 51, in tween
    response = handler(request)
  File "/usr/lib/python2.7/site-packages/pyramid/tweens.py", line 21, in excview_tween
    response = handler(request)
  File "/usr/lib/python2.7/site-packages/pyramid/router.py", line 163, in handle_request
    response = view_callable(context, request)
  File "/usr/lib/python2.7/site-packages/pyramid/config/views.py", line 596, in __call__
    return view(context, request)
  File "/usr/lib/python2.7/site-packages/pyramid/config/views.py", line 329, in attr_view
    return view(context, request)
  File "/usr/lib/python2.7/site-packages/pyramid/config/views.py", line 305, in predicate_wrapper
    return view(context, request)
  File "/usr/lib/python2.7/site-packages/pyramid/config/views.py", line 355, in rendered_view
    result = view(context, request)
  File "/usr/lib/python2.7/site-packages/pyramid/config/views.py", line 477, in _class_requestonly_view
    response = getattr(inst, attr)()
  File "/usr/lib/python2.7/site-packages/eucaconsole/views/login.py", line 214, in handle_login
    return self.handle_euca_login()
  File "/usr/lib/python2.7/site-packages/eucaconsole/views/login.py", line 306, in handle_euca_login
    session['supported_platforms'] = self.get_account_attributes(['supported-platforms'])
  File "/usr/lib/python2.7/site-packages/eucaconsole/views/__init__.py", line 318, in get_account_attributes
    attributes = conn.describe_account_attributes(attribute_names=attribute_names)
  File "/usr/lib/python2.7/site-packages/boto/ec2/connection.py", line 4447, in describe_account_attributes
    [('item', AccountAttribute)], verb='POST')
  File "/usr/lib/python2.7/site-packages/boto/connection.py", line 1170, in get_list
    response = self.make_request(action, params, path, verb)
  File "/usr/lib/python2.7/site-packages/boto/connection.py", line 1116, in make_request
    return self._mexe(http_request)
  File "/usr/lib/python2.7/site-packages/boto/connection.py", line 1030, in _mexe
    raise ex
BadStatusLine: ''

Is there another log with more details? I'm not seeing any explicit version conflicts as were present in my previous issues. Any other ideas?

[Solved. Above is red-herring info that was generated because of basic connectivity issues.]

Steve Jones comment on his answer below is correct. I find the documentation a bit lacking here because I did have the ufshost value pointing to the UFS host...by IP, by DNS Name and even right there by pointing at localhost. In all of these cases I could use my traditional admin toolset to confirm connectivity from the eucaconsole to the target ufs host via tcpdumps generated when making a login attempt with the eucaconsole. But there's a big difference between providing the ufshost value with a good target host and making sure it matches the system.dns.dnsdomain value specified when following the Runtime Environment config instructions. The documentation for the eucaconsole handles information about this setting with no nuance and effectively just tells us the IP or hostname is fine when in fact most users will find themselves in a config scenario where they have configured Euca DNS and require a much more specific value. Thank you for clarifying Steve!!


Solution

  • Have you followed the rest of the configuration steps?:

    http://docs.eucalyptus.cloud/eucalyptus/4.4.4/index.html#shared/console_config_server_address.html

    From the error it looks like the console cannot connect to your eucalyptus cloud, so I would first check this setting:

    ufshost=127.0.0.1

    in the console configuration ("/etc/eucaconsole/console.ini") and perhaps verify that you are able to use euca2ools from wherever you have installed the console.

    You should also use euserv-describe-services to verify that all services are running on your eucalyptus cloud.

    If still having issues it would be useful to describe what settings you have configured and what you are trying to set up (e.g. ssl/nginx)