Hi everyone, I'm currently setting a completly new Openstack virtual
environment using NGINX/uWSGI and OpenStack Horizon dashboard (Django WSGI
Python program).

Last time that I tested it succesfully it was on a Debian Wheezy and
OpenStack ESSEX version.
Now and because I'm refreshing our infrastructure, we are using Fedora 19
and OpenStack GRIZZLY.

Because I'm a little bit floating off, and because the debian architecture
was just a lab one, I forget to save the configurations and note some
tricks that I performed to be able to have it well working.

My problem here is that OpenStack doesn't import the
openstack_dashboard.settings module correctly, it seems to be a PYTHONPATH
problem for me but I can't get it.

I did set an clean environnement like this:

uWSGI 1.9 on *NODE01* server is starting correctly with:

*Python version: 2.7.5 (default, Aug 22 2013, 09:31:58)  [GCC 4.8.1
20130603 (Red Hat 4.8.1-1)]*
*Python main interpreter initialized at 0x1a2fde0*
*python threads support enabled*
*your server socket listen backlog is limited to 100 connections*
*your mercy for graceful operations on workers is 60 seconds*
*mapped 518560 bytes (506 KB) for 16 cores*
**** Operational MODE: preforking+threaded ****
*added /home/uwsgi/containers/ to pythonpath.*
*WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x1a2fde0
pid: 27482 (default app)*
*mountpoint  already configured. skip.*
**** uWSGI is running in multiple interpreter mode ****
*spawned uWSGI master process (pid: 27482)*
*spawned uWSGI worker 1 (pid: 27483, cores: 4)*
*spawned uWSGI worker 2 (pid: 27484, cores: 4)*
*spawned uWSGI worker 3 (pid: 27488, cores: 4)*
*spawned uWSGI worker 4 (pid: 27492, cores: 4)*

*Binary is under:*

   - */usr/local/uwsgi/uwsgi*

*Configuration files are under:*

   - */etc/uwsgi/{core,vassals}/ *where core directory host the uWSGI main
   ini config (emperor.ini) and vassals directory host the uWSGI vassals
   configs like openstack_dashboard.ini.

*Applications files are under:*

   - */home/uwsgi/containers/ *where all applications have their own
   subdirectory, so here in my exemple it means *
   /home/uwsgi/containers/openstack_dashboard/ *


Now that we got the file system hierarchy, here is the content of the
emperor.ini file and openstack_dashboard.ini file.

*core/emperor.ini:*
*
*
*[uwsgi]*
*master = true*
*enable-threads = true*
*emperor-tyrant = true*
*emperor = /etc/uwsgi/vassals*
*socket = NODE01:3031*
*workers = 4*
*processes = 4*
*threads = 4*
*uid = uwsgi*
*gid = uwsgi*

Where *NODE01* is the hostname of the server

*vassals/openstack_dashboard.ini:*
*
*
[uwsgi]
pythonpath = /home/uwsgi/containers
chdir = /home/uwsgi/containers/openstack_dashboard/
wsgi-file = /home/uwsgi/containers/openstack_dashboard/wsgi/django.wsgi
env = DJANGO_SETTINGS_MODULE=openstack_dashboard.settings
module = django.core.handlers.wsgi:WSGIHandler()

Now that I've got my uWSGI binary, my configurations files etc, I try to
run uWSGI and ask my NGINX server for my dashboard.domain.tld and I've a
500 Internal Server Error plus a Python stack claiming that it was not able
to find a module.

*ERROR:*
*
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/django/core/handlers/wsgi.py",
line 236, in __call__
    self.load_middleware()
  File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py",
line 45, in load_middleware
    for middleware_path in settings.MIDDLEWARE_CLASSES:
  File "/usr/lib/python2.7/site-packages/django/conf/__init__.py", line 53,
in __getattr__
    self._setup(name)
  File "/usr/lib/python2.7/site-packages/django/conf/__init__.py", line 48,
in _setup
    self._wrapped = Settings(settings_module)
  File "/usr/lib/python2.7/site-packages/django/conf/__init__.py", line
134, in __init__
    raise ImportError("Could not import settings '%s' (Is it on sys.path?):
%s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'openstack_dashboard.settings' (Is
it on sys.path?): No module named cinderclient
[pid: 27488|app: 0|req: 1/1] 172.21.150.91 () {38 vars in 665 bytes} [Thu
Aug 29 15:29:32 2013] GET / => generated 0 bytes in 3 msecs (HTTP/1.1 500)
0 headers in 0 bytes (0 switches on core 0)

*
For me it's a PythonPath problem but I can't get it, so I'm a little bit
stuck on this project.
So, if anyone already perform such an installation or if I've missed
something on my own, I'll be happy to have the correction :D

Thanks in advance!
_______________________________________________
uWSGI mailing list
[email protected]
http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi

Reply via email to