Я пытаюсь установить облако в соответствии с официальным документом OpenStack. Когда я пытаюсь установить панель мониторинга на облачном контроллере: http://docs.openstack.org/diablo/openstack-compute/install/content/configure-dashboard.html При попытке синхронизации базы данных возникла ошибка. :
$ /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.
Мой /usr/share/openstack-dashboard/local/local_settings.py такой же в руководстве. Я установил python-mysqldb, но я не меняюсь.
Затем я пытаюсь установить Dashboard из git, как в вики: http://wiki.openstack.org/OpenStackDashboard Но у меня была та же ошибка.
Я использую VirtualBox для установки 2 серверов, на каждом из которых работает сервер Ubuntu 11.10 amd64. Все хорошо, кроме Dashboard!
Как это исправить? Спасибо!
Похоже, что python не может найти local.local_settings.py, и это выглядит нормально для меня.
Вы находитесь в:
/usr/share/openstack-dashboard/dashboard/
И ваш local_settings.py находится в:
/usr/share/openstack-dashboard/local/local_settings.py
import local.local_settings.py будет искать его в / usr / share /openstack-dashboard/dashboard/local/local_settings.py
В git есть небольшая оболочка в openstack-dashboard, которая может помочь с этой проблемой. Просто создайте новый файл в openstack-dashboard, назовите его manage.py, скопируйте этот код:
#!/usr/bin/env python
import os, sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dashboard.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
И теперь выполните его.
То, что делает этот код, изменяет глобальный так, что default.py для django по умолчанию теперь является dashboard / settings.py (вместо ./settings.py) и вызывает по умолчанию django manage.py.
Это должно устранить ошибку импорта, поскольку теперь существует local / local_settings.py. Конечно, это может создать другие проблемы с импортом, но это стоит попробовать.