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