quantum plugin missing some file(nova/networks/ports/*)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Dashboard (Horizon) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
main error log:
/opt/stack/
detail:
When I installed quantum plugin to OpenStack, the 'Network' item is added into project tag in Dashboard.
click network, and add a new network. click the new network item, we saw Network Port Detail page.
at this time click "create ports" button, I got a error pages:
Network Port DetailsCreate Ports
Port Id State Attachment Actions
No items to display.
Displaying 0 items
no this directory: /opt/stack/
TemplateDoesNot
nova/networks/
Request Method: GET
Request URL: http://
Django Version: 1.3
Exception Type: TemplateDoesNot
Exception Value:
nova/networks/
Exception Location: /usr/lib/
Python Executable: /usr/bin/python
Python Version: 2.7.2
Python Path:
['/opt/
'/opt/
'/usr/
'/opt/
'/opt/
'/opt/
'/opt/stack/nova',
'/opt/
'/usr/
'/usr/
'/opt/
'/opt/
'/usr/
'/usr/
'/usr/
'/usr/
'/usr/
'/usr/
'/usr/
'/usr/
'/usr/
'/opt/
Server time: 星期一, 5 三月 2012 18:18:47 +0800
Template-loader postmortem
Django tried loading these templates, in this order:
Using loader django.
/opt/stack/
Using loader django.
/opt/stack/
/opt/stack/
/opt/stack/
/opt/stack/
/opt/stack/
Traceback Switch to copy-and-paste view
/usr/lib/
# If the response supports deferred rendering, apply template
# response middleware and the render the response
if hasattr(response, 'render') and callable(
except http.Http404, e:
▶ Local vars
Variable Value
exceptions
<module 'django.
callback_args
()
receivers
[(<function _rollback_
middleware_method
<bound method XViewMiddleware
self
<django.
settings
<django.
request
<WSGIRequest
GET:<QueryDict: {}>,
POST:<QueryDict: {}>,
COOKIES:
'sessionid': '3e0757db98c139
META:{'
'APACHE_RUN_USER': 'stack',
'CSRF_COOKIE': 'dfc6093e8db892
'DOCUMENT_ROOT': '/opt/stack/
'GATEWAY_
'HTTP_ACCEPT': '*/*',
'HTTP_
'HTTP_
'HTTP_
'HTTP_CONNECTION': 'keep-alive',
'HTTP_COOKIE': 'sessionid=
'HTTP_HOST': '10.218.89.226',
'HTTP_REFERER': 'http://
'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11',
'HTTP_
'PATH_INFO': u'/nova/
'PATH_TRANSLATED': '/opt/stack/
'QUERY_STRING': '',
'REMOTE_ADDR': '10.218.89.225',
'REMOTE_PORT': '46928',
'REQUEST_METHOD': 'GET',
'REQUEST_URI': '/nova/
'SCRIPT_FILENAME': '/opt/stack/
'SCRIPT_NAME': u'',
'SERVER_ADDR': '10.218.89.226',
'SERVER_ADMIN': '[no address given]',
'SERVER_NAME': '10.218.89.226',
'SERVER_PORT': '80',
'SERVER_PROTOCOL': 'HTTP/1.1',
'SERVER_
'SERVER_SOFTWARE': 'Apache/2.2.20 (Ubuntu)',
'mod_wsgi.
'mod_wsgi.
'mod_wsgi.
'mod_wsgi.
'mod_wsgi.
'mod_wsgi.
'mod_wsgi.
'mod_wsgi.
'mod_wsgi.
'mod_wsgi.
'wsgi.errors': <mod_wsgi.Log object at 0x22e372c8>,
'wsgi.
'wsgi.input': <mod_wsgi.Input object at 0x22eb0a48>,
'wsgi.
'wsgi.
'wsgi.run_once': False,
'wsgi.url_scheme': 'http',
'wsgi.version': (1, 1)}>
callback
<function CreatePortView at 0x22e2202c>
resolver
<RegexURLResolver dashboard.urls (None:None) ^/>
urlresolvers
<module 'django.
callback_kwargs
{'network_id': u'91741107-
response
<django.
urlconf
'dashboard.urls'
/usr/lib/
"""Render (thereby finalizing) the content of the response.
If the content has already been rendered, this is a no-op.
Returns the baked response instance.
"""
if not self._is_rendered:
for post_callback in self._post_
return self
is_rendered = property(lambda self: self._is_rendered)
▶ Local vars
Variable Value
self
<django.
/usr/lib/
"""Returns the freshly rendered content for the template and context
described by the TemplateResponse.
This *does not* set the final content of the response. To set the
response content, you must either call render(), or set the
content explicitly using the value of this property.
"""
template = self.resolve_
context = self.resolve_
content = template.
return content
def add_post_
"""Add a new post-rendering callback.
▶ Local vars
Variable Value
self
<django.
/usr/lib/
return obj_dict
def resolve_
"Accepts a template object, path-to-template or list of paths"
if isinstance(
return loader.
elif isinstance(
return loader.
else:
return template
def resolve_
"""Convert context data into a full Context object
(assuming it isn't already a Context object).
▶ Local vars
Variable Value
self
<django.
template
'nova/networks/
/usr/lib/
return template, origin
def get_template(
"""
Returns a compiled Template object for the given template name,
handling template inheritance recursively.
"""
template, origin = find_template(
if not hasattr(template, 'render'):
# template needs to be compiled
template = get_template_
return template
def get_template_
▶ Local vars
Variable Value
template_name
'nova/networks/
/usr/lib/
for loader in template_
try:
source, display_name = loader(name, dirs)
return (source, make_origin(
except TemplateDoesNot
pass
raise TemplateDoesNot
def find_template_
# For backward compatibility
import warnings
warnings.warn(
▶ Local vars
Variable Value
dirs
None
name
'nova/networks/
loader
<django.
Request information
GET
No GET data
POST
No POST data
FILES
No FILES data
COOKIES
Variable Value
csrftoken
'dfc6093e8db892
sessionid
'3e0757db98c139
META
Variable Value
mod_wsgi.
'80'
HTTP_REFERER
'http://
mod_wsgi.
''
SERVER_SOFTWARE
'Apache/2.2.20 (Ubuntu)'
SCRIPT_NAME
u''
mod_wsgi.
''
SERVER_SIGNATURE
'<address>
REQUEST_METHOD
'GET'
PATH_INFO
u'/nova/
SERVER_PROTOCOL
'HTTP/1.1'
QUERY_STRING
''
HTTP_ACCEPT_CHARSET
'GBK,utf-
HTTP_USER_AGENT
'Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11'
HTTP_CONNECTION
'keep-alive'
HTTP_COOKIE
'sessionid=
SERVER_NAME
'10.218.89.226'
REMOTE_ADDR
'10.218.89.225'
mod_wsgi.
'wsgi-script'
wsgi.url_scheme
'http'
APACHE_RUN_GROUP
'stack'
PATH_TRANSLATED
'/opt/stack/
SERVER_PORT
'80'
wsgi.multiprocess
True
mod_wsgi.
'0'
SERVER_ADDR
'10.218.89.226'
DOCUMENT_ROOT
'/opt/stack/
mod_wsgi.
'horizon'
HTTP_X_
'XMLHttpRequest'
SCRIPT_FILENAME
'/opt/stack/
SERVER_ADMIN
'[no address given]'
wsgi.input
<mod_wsgi.Input object at 0x22eb0a48>
HTTP_HOST
'10.218.89.226'
wsgi.multithread
True
mod_wsgi.
'application'
REQUEST_URI
'/nova/
HTTP_ACCEPT
'*/*'
wsgi.version
(1, 1)
GATEWAY_INTERFACE
'CGI/1.1'
wsgi.run_once
False
APACHE_RUN_USER
'stack'
wsgi.errors
<mod_wsgi.Log object at 0x22e372c8>
REMOTE_PORT
'46928'
HTTP_ACCEPT_
'zh-CN,zh;q=0.8'
mod_wsgi.version
(3, 3)
mod_wsgi.
'127.0.1.1|'
mod_wsgi.
'1'
wsgi.file_wrapper
''
CSRF_COOKIE
'dfc6093e8db892
HTTP_ACCEPT_
'gzip,deflate,sdch'
Settings
Using settings module dashboard.settings
Setting Value
MAILER_
'django.
USE_L10N
False
USE_THOUSAND_
False
LANGUAGE_CODE
'en'
ROOT_URLCONF
'dashboard.urls'
MANAGERS
()
ACCOUNT_
7
STATIC_ROOT
'/opt/stack/
TEST_DATABASE_
None
MESSAGE_STORAGE
'django.
DATABASE_HOST
''
IGNORABLE_
('/cgi-bin/', '/_vti_bin', '/_vti_inf')
SEND_BROKEN_
False
URL_VALIDATOR_
'Django/1.3 (http://
STATICFILES_FINDERS
('django.
'django.
SESSION_
None
SESSION_COOKIE_NAME
'sessionid'
CREDENTIAL_
'5'
COMMENTS_
None
TIME_INPUT_FORMATS
('%H:%M:%S', '%H:%M')
DATABASES
{'default': {'ENGINE': 'django.
SITE_BRANDING
'OpenStack'
TEST_DATABASE_NAME
None
FILE_UPLOAD_
None
FILE_UPLOAD_
('django.
'django.
DEFAULT_
'text/html'
COMPUTE_HOST_RAM_GB
16
APPEND_SLASH
True
FIRST_DAY_OF_WEEK
0
DATABASE_ROUTERS
[]
YEAR_MONTH_FORMAT
'F Y'
STATICFILES_STORAGE
'django.
CACHES
{'default': {'BACKEND': 'django.
SERVER_EMAIL
'root@localhost'
SESSION_COOKIE_PATH
'/'
SWIFT_PAGINATE_
100
USE_X_FORWARDED
False
IGNORABLE_404_ENDS
('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php')
MIDDLEWARE_CLASSES
('django.
'django.
'django.
'django.
'dashboard.
'horizon.
'django.
'django.
USE_I18N
True
THOUSAND_SEPARATOR
','
SECRET_KEY
'******
LANGUAGE_
'django_language'
FILE_UPLOAD_
None
TRANSACTIONS_
False
LOGGING_CONFIG
'django.
TEMPLATE_LOADERS
('django.
'django.
OPENSTACK_
'http://
TEMPLATE_DEBUG
True
CSRF_COOKIE_NAME
'csrftoken'
ENABLE_VNC
True
TEST_DATABASE_
None
FORCE_SCRIPT_NAME
None
CACHE_BACKEND
'dummy://'
DEFAULT_CHARSET
'utf-8'
SESSION_
False
LOCAL_PATH
'/opt/stack/
CSRF_COOKIE_DOMAIN
None
FILE_CHARSET
'utf-8'
DEBUG
True
USE_SSL
False
SESSION_FILE_PATH
None
DEFAULT_
'django.
INSTALLED_APPS
['dashboard',
'django.
'django.
'django.
'django_nose',
'horizon',
'horizon.
'horizon.
'horizon.
LANGUAGES_BIDI
('he', 'ar', 'fa')
DATABASE_ENGINE
''
EMAIL_HOST_USER
''
DATABASE_NAME
''
COMMENTS_FIRST_FEW
0
TOTAL_CLOUD_RAM_GB
10
PREPEND_WWW
False
SESSION_
False
DATABASE_PORT
''
DEBUG_PROPAGATE
False
PROD
False
MONTH_DAY_FORMAT
'F j'
LOGIN_URL
'/auth/login'
SESSION_
True
OPENSTACK_
'http://
TIME_FORMAT
'P'
HORIZON_CONFIG
{'dashboards': ('nova', 'syspanel', 'settings'),
'default_
'user_home': 'dashboard.
DATE_INPUT_FORMATS
('%Y-%m-%d',
'%m/%d/%Y',
'%m/%d/%y',
'%b %d %Y',
'%b %d, %Y',
'%d %b %Y',
'%d %b, %Y',
'%B %d %Y',
'%B %d, %Y',
'%d %B %Y',
'%d %B, %Y')
AUTHENTICATION_
('django.
EMAIL_HOST_PASSWORD
'******
PASSWORD_
'******
CACHE_MIDDLEWAR
'default'
ROOT_PATH
'/opt/stack/
SESSION_
False
ADMIN_MEDIA_PREFIX
'/static/admin/'
NUMBER_GROUPING
0
SESSION_ENGINE
'django.
CSRF_FAILURE_VIEW
'django.
COMMENTS_
None
LOGIN_REDIRECT_URL
'/'
LOGGING
{'disable_
'handlers': {'mail_admins': {'class': 'django.
'loggers': {'django.request': {'handlers': ['mail_admins'],
'version': 1}
CACHE_MIDDLEWAR
''
LOCALE_PATHS
()
TEMPLATE_
''
COMMENTS_
False
LOGOUT_URL
'/accounts/logout/'
EMAIL_USE_TLS
False
TEMPLATE_DIRS
('/opt/
FIXTURE_DIRS
()
EMAIL_HOST
'localhost'
DATE_FORMAT
'N j, Y'
MEDIA_ROOT
'/opt/stack/
ADMINS
()
FORMAT_MODULE_PATH
None
DEFAULT_FROM_EMAIL
'webmaster@
STATICFILES_DIRS
('/opt/
MEDIA_URL
'/media/'
DATETIME_FORMAT
'N j, Y, P'
EMAIL_SUBJECT_
'[Django] '
OPENSTACK_
'Member'
SITE_ID
1
DISALLOWED_
()
ALLOWED_
()
DECIMAL_SEPARATOR
'.'
SHORT_DATE_FORMAT
'm/d/Y'
DATABASE_USER
''
TEST_RUNNER
'django_
TIME_ZONE
None
FILE_UPLOAD_
2621440
EMAIL_BACKEND
'django.
DEFAULT_TABLESPACE
''
TEMPLATE_
('django.
'django.
'django.
'django.
'django.
'django.
'horizon.
OPENSTACK_HOST
'127.0.0.1'
SITE_NAME
'openstack'
SESSION_COOKIE_AGE
1209600
SETTINGS_MODULE
'dashboard.
USE_ETAGS
False
LANGUAGES
(('en', 'English'),
('it', 'Italiano'),
('es', 'Spanish'),
('fr', 'French'),
('ja', 'Japanese'),
('pt', 'Portuguese'),
('pl', 'Polish'),
('zh-cn', 'Simplified Chinese'),
('zh-tw', 'Traditional Chinese'))
DEFAULT_
''
INTERNAL_IPS
()
STATIC_URL
'/static/'
EMAIL_PORT
25
SHORT_DATETIME_
'm/d/Y P'
ABSOLUTE_
{}
DATABASE_OPTIONS
{}
CACHE_MIDDLEWAR
600
BANNED_IPS
()
DATETIME_
('%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M',
'%Y-%m-%d',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M',
'%m/%d/%Y',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M',
'%m/%d/%y')
DATABASE_PASSWORD
'******
ADMIN_FOR
()
PROFANITIES_LIST
'******
LIVE_SERVER_PORT
8000
COMMENTS_
None
It looks like some file is missing,then I run ls in term:
stack@vm1:~$ ls /opt/stack/
_create.html detail.html rename.html
create.html index.html _rename.html
I found no port directory in this path.
Ubuntu 11.10 Desktop
stack@vm1:~$ nova-manage version list LOCALBRANCH: LOCALREVISION)
2012.1-dev (2012.1-
OpenStack in VirtualBox