J'essaie d'installer un cloud en suivant le document officiel d'OpenStack. Lorsque j'essaie d'installer le tableau de bord sur le contrôleur cloud: http://docs.openstack.org/diablo/openstack-compute/install/content/configure-dashboard.html J'ai eu une erreur lors de la tentative de synchronisation base de données:
$ /usr/share/openstack-dashboard/dashboard/manage.py syncdb
ERROR:root:No module named local.local_settings
Traceback (most recent call last):
File "/usr/share/openstack-dashboard/dashboard/settings.py", line 117, in <module>
from local.local_settings import *
ImportError: No module named local.local_settings
ERROR:root:No module named local.local_settings
Traceback (most recent call last):
File "/usr/share/openstack-dashboard/dashboard/../dashboard/settings.py", line 117, in <module>
from local.local_settings import *
ImportError: No module named local.local_settings
Traceback (most recent call last):
File "./dashboard/manage.py", line 31, in <module>
execute_manager(settings)
File "/usr/lib/pymodules/python2.7/Django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/usr/lib/pymodules/python2.7/Django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/pymodules/python2.7/Django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/lib/pymodules/python2.7/Django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/usr/lib/pymodules/python2.7/Django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/usr/lib/pymodules/python2.7/Django/core/management/commands/syncdb.py", line 56, in handle_noargs
cursor = connection.cursor()
File "/usr/lib/pymodules/python2.7/Django/db/backends/dummy/base.py", line 15, in complain
raise ImproperlyConfigured("You haven't set the database ENGINE setting yet.")
Django.core.exceptions.ImproperlyConfigured: You haven't set the database ENGINE setting yet.
Mon /usr/share/openstack-dashboard/local/local_settings.py est le même dans le guide. J'ai installé python-mysqldb, mais je ne change pas.
Ensuite, j'essaie d'installer Dashboard à partir de git comme dans wiki: http://wiki.openstack.org/OpenStackDashboard Mais j'ai eu la même erreur.
J'utilise VirtualBox pour installer 2 serveurs, chacun exécute le serveur Ubuntu 11.10 AMD64. Tout va bien, sauf Dashboard!
Comment puis-je le réparer? Je vous remercie!
Il ressemble à python ne peut pas trouver local.local_settings.py, et cela me semble normal.
Vous êtes dans:
/usr/share/openstack-dashboard/dashboard/
Et votre local_settings.py est dans:
/usr/share/openstack-dashboard/local/local_settings.py
import local.local_settings.py va le chercher dans /usr/share/openstack-dashboard/dashboard/local/local_settings.py
Dans le git il y a un petit wrapper dans openstack-dashboard qui pourrait aider avec ce problème. Créez simplement un nouveau fichier dans openstack-dashboard, appelez-le manage.py, copiez ce code:
#!/usr/bin/env python
import os, sys
if __== "__main__":
os.environ.setdefault("Django_SETTINGS_MODULE", "dashboard.settings")
from Django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
Et maintenant, exécutez-le.
Ce que ce code fait, c'est de changer un global de sorte que le fichier settings.py par défaut pour Django est maintenant dashboard/settings.py (au lieu de ./settings.py), et appelle le défaut Django manage.py.
Cela devrait résoudre l'erreur d'importation car il existe maintenant local/local_settings.py. Bien sûr, cela pourrait créer d'autres problèmes d'importation, mais cela vaut la peine d'essayer.