yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #23949
[Bug 1383630] [NEW] TemplateSyntaxError at /identity/users/ when filter button is clicked in user panel under Identity dashboard
Public bug reported:
Testing step :
1:git clone https://github.com/openstack-dev/devstack.git
2:cd devstack && ./stack.sh
3:login as admin and go to user panel under Identity dashboard
4:type demo and click filter button
5:browser report the following error
TemplateSyntaxError at /identity/users/
'NoneType' object has no attribute 'lower'
Request Method: POST
Request URL: http://192.168.1.101/identity/users/
Django Version: 1.6.5
Exception Type: TemplateSyntaxError
Exception Value:
'NoneType' object has no attribute 'lower'
Exception Location: /opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/identity/users/tables.py in filter, line 159
Python Executable: /usr/bin/python
Python Version: 2.7.6
Python Path:
['/opt/stack/horizon/openstack_dashboard/wsgi/../..',
'/opt/stack/python-keystoneclient',
'/opt/stack/python-glanceclient',
'/opt/stack/python-cinderclient',
'/opt/stack/python-novaclient',
'/opt/stack/python-swiftclient',
'/opt/stack/python-neutronclient',
'/opt/stack/python-heatclient',
'/opt/stack/python-openstackclient',
'/opt/stack/keystone',
'/opt/stack/glance',
'/opt/stack/cinder',
'/opt/stack/nova',
'/opt/stack/horizon',
'/opt/stack/heat',
'/opt/stack/tempest',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/opt/stack/horizon/openstack_dashboard']
Server time: Tue, 21 Oct 2014 09:15:45 +0000
Error during template rendering
In template /opt/stack/horizon/horizon/templates/horizon/common/_data_table.html, error at line 5
'NoneType' object has no attribute 'lower'
1 {% load i18n %}
2 {% with table.needs_form_wrapper as needs_form_wrapper %}
3 <div class="table_wrapper">
4 {% if needs_form_wrapper %}<form action="{{ table.get_full_url }}" method="POST">{% csrf_token %}{% endif %}
5 {% with columns=table.get_columns rows=table.get_rows %}
6 {% block table %}
7 <table id="{{ table.slugify_name }}" class="{% block table_css_classes %}table table-bordered table-striped datatable {{ table.css_classes }}{% endblock %}">
8 <thead>
9 {% block table_caption %}
10 <tr class='table_caption'>
11 <th class='table_header' colspan='{{ columns|length }}'>
12 <h3 class='table_title'>{{ table }}</h3>
13 {{ table.render_table_actions }}
14 </th>
15 </tr>
Traceback Switch to copy-and-paste view
/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response
response = response.render() ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/response.py in render
self.content = self.rendered_content ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/response.py in rendered_content
content = template.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
return self._render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _render
return self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py in render
return compiled_parent._render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _render
return self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py in render
result = block.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py in render
result = block.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render
output = self.filter_expression.resolve(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
obj = self.var.resolve(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
value = self._resolve_lookup(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _resolve_lookup
current = current() ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in render
return table_template.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
return self._render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _render
return self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py in render
output = self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py in render
six.iteritems(self.extra_context)]) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
obj = self.var.resolve(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
value = self._resolve_lookup(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _resolve_lookup
current = current() ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in get_rows
exc_info[2]) ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in get_rows
for datum in self.filtered_data: ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in filtered_data
filter_string) ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/identity/users/tables.py in filter
or q in getattr(user, 'email', '').lower()] ...
? Local vars
Request information
GET
No GET data
POST
Variable Value
csrfmiddlewaretoken
u'ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1'
users__filter__q
u'do'
FILES
No FILES data
COOKIES
Variable Value
csrftoken
'ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1'
horizon_language
'en'
horizon_pagesize
'20'
sessionid
'.eJytV1tz20QULmkStw5JeqFJA6UNUIoLxN6LpJVKC_RCYYApM5lqxi8Zz2ovkYgteS0pbR80Ay_8TH4LR7IcCoxlQ_GMx7va1Tnn-863Z49_WSnMWx1_K49TkYyVHGTJiYr9faYVtzyNEREES0E9RxNsK8YkF0wI5LfyVE0Gkezvnzt3zlUBd5hCGCNsScZcbAUeCbSwEUFKMLPib0zUcZTEg5iPlL_1RGmeD7P9w-qhvzngeRYOapPhir9d71axHCdRnPVvgpcwy8b3ej3skS523C7ugrd7NkKod0q6yJz3t-H900iodDB9vX8R3pq6-ClWZtXfjUb8GJYHOhpm4GtgYKSGsr8KG8vI-m0YZCrNRJKcRKq_DtMXyeRESf_KazEGXABL0r8DlMVpBrNqsVs_7_6gXqVZEqtH9b7NIU-zARdZdBplr76_f_vpc3-tYlr8zUJpvv28XGmbtbu_mvXCtDr-ukxGPIrNhcJc7PgrkTTtZ_5qGbDZeJb7WzXuxzzjw-TYvH1kNjuF2epUBMw4TM32kblUmMud_gV4zOUoiv3DH82V_oN55LqMWUBuz1OESMeTzHaphS3PdeBLbc-xMZKu8iqeppybq-FqfwWmEOQ7lTg8zt1AI1cEWlvC1QEVCARFiC2V7XLR3yh3x5CPmA_LgK79DwGVwMd5MIxEaXHnzS3mvL_9OpmDYRSfpGb3qNJO9mqszPV-C4YiGY3zTJ1JyuxNh8kpzwvzbieELLxXmBudsJl4Z5mowqt_1Xg4pZw4yKaIC4tjzwpsx3M9jYQWjoftwJM0bKZ4OdfNpC5lI-fh7lF4vdLjaTLMR-qUhHvVVESxBFUT4Oz9irObhblVcnajOZN0DiXMlo60KZOUK0sRHmDiSE6UVJw6DHtAyULLOwu3zABd_FMI8N5edT5KBcCOwuxXeD4ozIclnr15Jil85oChLqdcChEwYNTxBMecaReSzpCmSDkAptnsTvP6DEZ5jtMy_ukAYv-oiv12YT5ujN0jHpkTO7alqylkXyNtcaZ4QAmIEgfCwohx3hR7ZbYh9nJ9FvtaWVXKcl_TfzzksVAA4U4F4ZPCdJrlVF0seN4JI8QRDAvKbccSlg5cW2KBkYU08VzLbZRTbblJTtMtMyxbpZyGSS51MhnxDCKpT0moeHYgdAyw7lawPi3MZ0tUFvxfK4utPe1SV2LkMcuhmgeQQEicJJJQzeTiyrKE64WVZbGNGXPrZ5WllsG0rgBfn1d8HRSmW_LVaXBIe7O-ovewvDTnUWMTy2GICsuzLYdoTyCsEVFCMUlEVXSX9PK4TDWw8G-2zwCfLy8pUVbRegRQexVUVBjcLA2ErDeQBvEC5EmOXItTy0WsbBklDaDuKu7gwGmUxrKum6SxpI0ZU5tgKJmIELq9yexMrdZnCkgjFWm0MFZJ2q255dKmNqsa0Hn1jnBOGLGhvBGoDkGAsUsJswjRRFGMgZbFzW24E55__bKMpIozaCXrMnBS95u58tcmyVClxj4yDrSADDaszZq9tDAuzC_VGAfTtjN5EatJCj151dlOG01owo3nt-S0Szf3_JZ6OY4mYPcLIXmmsmik2mcDc99vt35vX2uvWdUBSxO4inC3_m37mWibB3cPzZe_HZqv_NZ4kvysRGa-LszDTtie9ogLcmYehRtVcqQaJeZx7q-W0ZonhfkGTIQrsHoG0zzNqxb5W3_fdjSDfjOgtoOFy6BaKwHlGsqWwOBM-uuZinmcme_Ch3ngX_7H34P-boVoMknSA9SlXXLw0nUGjnWQK5F3_wB6239I:1XgVXY:bhv2HejeAfFWszWpeBAYDfWw3rg'
django_timezone
'Asia/Shanghai'
META
Variable Value
mod_wsgi.listener_port
'80'
HTTP_REFERER
'http://192.168.1.101/identity/users/'
mod_wsgi.listener_host
''
CONTEXT_DOCUMENT_ROOT
'/opt/stack/horizon/.blackhole/'
SERVER_SOFTWARE
'Apache/2.4.7 (Ubuntu)'
SCRIPT_NAME
u''
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
SERVER_SIGNATURE
'<address>Apache/2.4.7 (Ubuntu) Server at 192.168.1.101 Port 80</address>\n'
REQUEST_METHOD
'POST'
PATH_INFO
u'/identity/users/'
HTTP_ORIGIN
'http://192.168.1.101'
SERVER_PROTOCOL
'HTTP/1.1'
QUERY_STRING
''
CONTENT_LENGTH
'72'
HTTP_USER_AGENT
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36'
HTTP_CONNECTION
'keep-alive'
HTTP_COOKIE
'horizon_language=en; django_timezone="Asia/Shanghai"; horizon_pagesize=20; csrftoken=ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1; sessionid=".eJytV1tz20QULmkStw5JeqFJA6UNUIoLxN6LpJVKC_RCYYApM5lqxi8Zz2ovkYgteS0pbR80Ay_8TH4LR7IcCoxlQ_GMx7va1Tnn-863Z49_WSnMWx1_K49TkYyVHGTJiYr9faYVtzyNEREES0E9RxNsK8YkF0wI5LfyVE0Gkezvnzt3zlUBd5hCGCNsScZcbAUeCbSwEUFKMLPib0zUcZTEg5iPlL_1RGmeD7P9w-qhvzngeRYOapPhir9d71axHCdRnPVvgpcwy8b3ej3skS523C7ugrd7NkKod0q6yJz3t-H900iodDB9vX8R3pq6-ClWZtXfjUb8GJYHOhpm4GtgYKSGsr8KG8vI-m0YZCrNRJKcRKq_DtMXyeRESf_KazEGXABL0r8DlMVpBrNqsVs_7_6gXqVZEqtH9b7NIU-zARdZdBplr76_f_vpc3-tYlr8zUJpvv28XGmbtbu_mvXCtDr-ukxGPIrNhcJc7PgrkTTtZ_5qGbDZeJb7WzXuxzzjw-TYvH1kNjuF2epUBMw4TM32kblUmMud_gV4zOUoiv3DH82V_oN55LqMWUBuz1OESMeTzHaphS3PdeBLbc-xMZKu8iqeppybq-FqfwWmEOQ7lTg8zt1AI1cEWlvC1QEVCARFiC2V7XLR3yh3x5CPmA_LgK79DwGVwMd5MIxEaXHnzS3mvL_9OpmDYRSfpGb3qNJO9mqszPV-C4YiGY3zTJ1JyuxNh8kpzwvzbieELLxXmBudsJl4Z5mowqt_1Xg4pZw4yKaIC4tjzwpsx3M9jYQWjoftwJM0bKZ4OdfNpC5lI-fh7lF4vdLjaTLMR-qUhHvVVESxBFUT4Oz9irObhblVcnajOZN0DiXMlo60KZOUK0sRHmDiSE6UVJw6DHtAyULLOwu3zABd_FMI8N5edT5KBcCOwuxXeD4ozIclnr15Jil85oChLqdcChEwYNTxBMecaReSzpCmSDkAptnsTvP6DEZ5jtMy_ukAYv-oiv12YT5ujN0jHpkTO7alqylkXyNtcaZ4QAmIEgfCwohx3hR7ZbYh9nJ9FvtaWVXKcl_TfzzksVAA4U4F4ZPCdJrlVF0seN4JI8QRDAvKbccSlg5cW2KBkYU08VzLbZRTbblJTtMtMyxbpZyGSS51MhnxDCKpT0moeHYgdAyw7lawPi3MZ0tUFvxfK4utPe1SV2LkMcuhmgeQQEicJJJQzeTiyrKE64WVZbGNGXPrZ5WllsG0rgBfn1d8HRSmW_LVaXBIe7O-ovewvDTnUWMTy2GICsuzLYdoTyCsEVFCMUlEVXSX9PK4TDWw8G-2zwCfLy8pUVbRegRQexVUVBjcLA2ErDeQBvEC5EmOXItTy0WsbBklDaDuKu7gwGmUxrKum6SxpI0ZU5tgKJmIELq9yexMrdZnCkgjFWm0MFZJ2q255dKmNqsa0Hn1jnBOGLGhvBGoDkGAsUsJswjRRFGMgZbFzW24E55__bKMpIozaCXrMnBS95u58tcmyVClxj4yDrSADDaszZq9tDAuzC_VGAfTtjN5EatJCj151dlOG01owo3nt-S0Szf3_JZ6OY4mYPcLIXmmsmik2mcDc99vt35vX2uvWdUBSxO4inC3_m37mWibB3cPzZe_HZqv_NZ4kvysRGa-LszDTtie9ogLcmYehRtVcqQaJeZx7q-W0ZonhfkGTIQrsHoG0zzNqxb5W3_fdjSDfjOgtoOFy6BaKwHlGsqWwOBM-uuZinmcme_Ch3ngX_7H34P-boVoMknSA9SlXXLw0nUGjnWQK5F3_wB6239I:1XgVXY:bhv2HejeAfFWszWpeBAYDfWw3rg"'
SERVER_NAME
'192.168.1.101'
REMOTE_ADDR
'192.168.1.100'
mod_wsgi.queue_start
'1413882945308681'
mod_wsgi.request_handler
'wsgi-script'
wsgi.url_scheme
'http'
APACHE_RUN_GROUP
'whg'
PATH_TRANSLATED
'/opt/stack/horizon/openstack_dashboard/wsgi/django.wsgi/identity/users/'
SERVER_PORT
'80'
wsgi.multiprocess
True
mod_wsgi.input_chunked
'0'
SERVER_ADDR
'192.168.1.101'
DOCUMENT_ROOT
'/opt/stack/horizon/.blackhole/'
mod_wsgi.process_group
'horizon'
SCRIPT_FILENAME
'/opt/stack/horizon/openstack_dashboard/wsgi/django.wsgi'
SERVER_ADMIN
'[no address given]'
wsgi.input
<mod_wsgi.Input object at 0x7f894c6933b0>
HTTP_HOST
'192.168.1.101'
CONTEXT_PREFIX
''
wsgi.multithread
True
mod_wsgi.callable_object
'application'
HTTP_CACHE_CONTROL
'max-age=0'
REQUEST_URI
'/identity/users/'
HTTP_ACCEPT
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
wsgi.version
(1, 0)
GATEWAY_INTERFACE
'CGI/1.1'
wsgi.run_once
False
APACHE_RUN_USER
'whg'
wsgi.errors
<mod_wsgi.Log object at 0x7f894c315a70>
REMOTE_PORT
'65469'
HTTP_ACCEPT_LANGUAGE
'en-US,zh-CN;q=0.8'
REQUEST_SCHEME
'http'
mod_wsgi.version
(3, 4)
CSRF_COOKIE_USED
True
CONTENT_TYPE
'application/x-www-form-urlencoded'
mod_wsgi.application_group
''
mod_wsgi.script_reloading
'1'
wsgi.file_wrapper
''
CSRF_COOKIE
u'ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
Settings
Using settings module openstack_dashboard.settings
Setting Value
COMPRESS_URL
'/static/'
POLICY_FILES_PATH
'/opt/stack/horizon/openstack_dashboard/conf'
COMPRESS_OUTPUT_DIR
'dashboard'
COMPRESS_TEMPLATE_FILTER_CONTEXT
{u'STATIC_URL': '/static/'}
USE_L10N
True
COMPRESS_DATA_URI_MAX_SIZE
1024
CSRF_COOKIE_SECURE
False
LANGUAGE_CODE
'en'
ROOT_URLCONF
'openstack_dashboard.urls'
MANAGERS
()
COMPRESS_CSS_HASHING_METHOD
'hash'
SESSION_EXPIRE_AT_BROWSER_CLOSE
True
DEFAULT_CHARSET
'utf-8'
IGNORABLE_404_URLS
()
SESSION_SERIALIZER
'django.contrib.sessions.serializers.PickleSerializer'
STATIC_ROOT
'/opt/stack/horizon/static'
COMPRESS_CLOSURE_COMPILER_ARGUMENTS
u''
USE_THOUSAND_SEPARATOR
False
COMPRESS_OFFLINE_MANIFEST
u'manifest.json'
ALLOWED_HOSTS
[]
MESSAGE_STORAGE
'django.contrib.messages.storage.cookie.CookieStorage'
EMAIL_SUBJECT_PREFIX
'[Django] '
IMAGE_RESERVED_CUSTOM_PROPERTIES
[]
STATICFILES_FINDERS
('compressor.finders.CompressorFinder',
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder')
SESSION_CACHE_ALIAS
'default'
COMPRESS_CSSTIDY_ARGUMENTS
u'--template=highest'
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_NAME
'sessionid'
COMPRESS_YUGLIFY_JS_ARGUMENTS
u'--terminal'
ADMIN_FOR
()
TIME_INPUT_FORMATS
('%H:%M:%S', '%H:%M:%S.%f', '%H:%M')
DATABASES
{}
SITE_BRANDING
'OpenStack Dashboard'
COMPRESS_YUI_BINARY
u'java -jar yuicompressor.jar'
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
('django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler')
DEFAULT_CONTENT_TYPE
'text/html'
COMPRESS_CSS_COMPRESSOR
u'compressor.css.CssCompressor'
APPEND_SLASH
True
FIRST_DAY_OF_WEEK
0
DATABASE_ROUTERS
[]
OPENSTACK_NEUTRON_NETWORK
{'enable_distributed_router': True,
'enable_firewall': True,
'enable_ipv6': True,
'enable_lb': True,
'enable_quotas': True,
'enable_router': True,
'enable_vpn': True,
'profile_support': None,
'supported_provider_types': ['*']}
YEAR_MONTH_FORMAT
'F Y'
COMPRESS_OFFLINE_TIMEOUT
31536000
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
SERVER_EMAIL
'root@localhost'
SESSION_COOKIE_PATH
'/'
HORIZON_IMAGES_ALLOW_UPLOAD
True
COMPRESS_PARSER
'compressor.parser.HtmlParser'
COMPRESS_OFFLINE_CONTEXT
{'HORIZON_CONFIG': {'ajax_queue_limit': 10,
'angular_modules': [],
'auto_fade_alerts': {'delay': 3000,
'fade_duration': 1500,
'types': ['alert-success',
'alert-info']},
'dashboards': ('project',
'admin',
'settings',
'identity'),
'default_dashboard': 'project',
'exceptions': {'not_found': (<class 'keystoneclient.openstack.common.apiclient.exceptions.NotFound'>,
<class 'cinderclient.exceptions.NotFound'>,
<class 'novaclient.exceptions.NotFound'>,
<class 'glanceclient.exc.NotFound'>,
<class 'neutronclient.common.exceptions.NotFound'>,
<class 'heatclient.exc.HTTPNotFound'>,
<class 'troveclient.exceptions.NotFound'>),
'recoverable': (<class 'keystoneclient.openstack.common.apiclient.exceptions.ClientException'>,
<class 'keystoneclient.openstack.common.apiclient.exceptions.AuthorizationFailure'>,
<class 'keystoneclient.openstack.common.apiclient.exceptions.Forbidden'>,
<class 'cinderclient.exceptions.ClientException'>,
<class 'cinderclient.exceptions.ConnectionError'>,
<class 'cinderclient.exceptions.Forbidden'>,
<class 'novaclient.exceptions.ClientException'>,
<class 'novaclient.exceptions.Forbidden'>,
<class 'glanceclient.exc.ClientException'>,
<class 'neutronclient.common.exceptions.Forbidden'>,
<class 'neutronclient.common.exceptions.NeutronClientException'>,
<class 'swiftclient.exceptions.ClientException'>,
<class 'heatclient.exc.HTTPForbidden'>,
<class 'heatclient.exc.HTTPException'>,
<class 'troveclient.exceptions.ClientException'>,
<class 'saharaclient.api.base.APIException'>,
<class 'requests.exceptions.RequestException'>),
'unauthorized': (<class 'keystoneclient.openstack.common.apiclient.exceptions.Unauthorized'>,
<class 'cinderclient.exceptions.Unauthorized'>,
<class 'novaclient.exceptions.Unauthorized'>,
<class 'glanceclient.exc.Unauthorized'>,
<class 'neutronclient.common.exceptions.Unauthorized'>,
<class 'heatclient.exc.HTTPUnauthorized'>,
<class 'troveclient.exceptions.Unauthorized'>)},
'help_url': 'http://docs.openstack.org',
'js_files': [],
'panel_customization': [],
'user_home': 'openstack_dashboard.views.get_user_home'},
'STATIC_URL': '/static/'}
COMPRESS_CACHE_BACKEND
u'default'
MIDDLEWARE_CLASSES
('django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'horizon.middleware.HorizonMiddleware',
'django.middleware.doc.XViewMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
USE_I18N
True
THOUSAND_SEPARATOR
','
SECRET_KEY
u'********************'
LANGUAGE_COOKIE_NAME
'horizon_language'
DEFAULT_INDEX_TABLESPACE
''
BIN_DIR
'/opt/stack/horizon/bin'
TRANSACTIONS_MANAGED
False
LOGGING_CONFIG
'django.utils.log.dictConfig'
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SEND_BROKEN_LINK_EMAILS
False
TEMPLATE_LOADERS
('django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'horizon.loaders.TemplateLoader')
WSGI_APPLICATION
None
TEMPLATE_DEBUG
True
X_FRAME_OPTIONS
'SAMEORIGIN'
CSRF_COOKIE_NAME
'csrftoken'
POLICY_FILES
{'compute': 'nova_policy.json',
'identity': 'keystone_policy.json',
'image': 'glance_policy.json',
'network': 'neutron_policy.json',
'orchestration': 'heat_policy.json',
'volume': 'cinder_policy.json'}
FORCE_SCRIPT_NAME
None
USE_X_FORWARDED_HOST
False
COMPRESS_CSSTIDY_BINARY
u'csstidy'
SESSION_COOKIE_SECURE
False
IMAGE_CUSTOM_PROPERTY_TITLES
{'architecture': <django.utils.functional.__proxy__ object at 0x7f894f6cec50>,
'image_state': <django.utils.functional.__proxy__ object at 0x7f894f6ced10>,
'image_type': <django.utils.functional.__proxy__ object at 0x7f894f6ced90>,
'kernel_id': <django.utils.functional.__proxy__ object at 0x7f894f6cec90>,
'project_id': <django.utils.functional.__proxy__ object at 0x7f894f6ced50>,
'ramdisk_id': <django.utils.functional.__proxy__ object at 0x7f894f6cecd0>}
COMPRESS_DEBUG_TOGGLE
None
COMPRESS_VERBOSE
False
CSRF_COOKIE_DOMAIN
None
FILE_CHARSET
'utf-8'
DEBUG
True
SESSION_FILE_PATH
None
COMPRESS_JS_FILTERS
[u'compressor.filters.jsmin.JSMinFilter']
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
INSTALLED_APPS
['openstack_dashboard.dashboards.project',
'openstack_dashboard.dashboards.admin',
'openstack_dashboard.dashboards.identity',
'openstack_dashboard.dashboards.settings',
'openstack_dashboard',
'django.contrib.contenttypes',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'django_pyscss',
'compressor',
'horizon',
'openstack_auth']
LANGUAGES_BIDI
('he', 'ar', 'fa', 'ur')
COMMENTS_ALLOW_PROFANITIES
False
COMPRESS_YUI_CSS_ARGUMENTS
u''
STATICFILES_DIRS
(('horizon/lib/angular',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular/data'),
('horizon/lib/angular',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular_cookies/data'),
('horizon/lib/angular',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular_mock/data'),
('horizon/lib/bootstrap_datepicker',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/bootstrap_datepicker/data'),
('horizon/lib', '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/d3/data'),
('horizon/lib',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/hogan/data'),
('horizon/lib/font-awesome',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/font_awesome/data'),
('horizon/lib/jasmine-1.3.1',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jasmine/data'),
('horizon/lib/jquery',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery/data'),
('horizon/lib/jquery',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_migrate/data'),
('horizon/lib/jquery',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_quicksearch/data'),
('horizon/lib/jquery',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_tablesorter/data'),
('horizon/lib/jsencrypt',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jsencrypt/data'),
('horizon/lib/qunit',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/qunit/data'),
('horizon/lib',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/rickshaw/data'),
('horizon/lib',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/spin/data'))
PREPEND_WWW
False
SECURE_PROXY_SSL_HEADER
None
LOCAL_PATH
'/opt/stack/horizon/openstack_dashboard/local'
SESSION_COOKIE_HTTPONLY
True
DEBUG_PROPAGATE_EXCEPTIONS
False
MONTH_DAY_FORMAT
'F j'
LOGIN_URL
'/auth/login/'
POLICY_CHECK_FUNCTION
''
OPENSTACK_KEYSTONE_URL
u'********************'
SECURITY_GROUP_RULES
{'all_icmp': {'from_port': '-1',
'ip_protocol': 'icmp',
'name': <django.utils.functional.__proxy__ object at 0x7f894f6cee50>,
'to_port': '-1'},
'all_tcp': {'from_port': '1',
'ip_protocol': 'tcp',
'name': <django.utils.functional.__proxy__ object at 0x7f894f6cedd0>,
'to_port': '65535'},
'all_udp': {'from_port': '1',
'ip_protocol': 'udp',
'name': <django.utils.functional.__proxy__ object at 0x7f894f6cee10>,
'to_port': '65535'},
'dns': {'from_port': '53',
'ip_protocol': 'tcp',
'name': 'DNS',
'to_port': '53'},
'http': {'from_port': '80',
'ip_protocol': 'tcp',
'name': 'HTTP',
'to_port': '80'},
'https': {'from_port': '443',
'ip_protocol': 'tcp',
'name': 'HTTPS',
'to_port': '443'},
'imap': {'from_port': '143',
'ip_protocol': 'tcp',
'name': 'IMAP',
'to_port': '143'},
'imaps': {'from_port': '993',
'ip_protocol': 'tcp',
'name': 'IMAPS',
'to_port': '993'},
'ldap': {'from_port': '389',
'ip_protocol': 'tcp',
'name': 'LDAP',
'to_port': '389'},
'ms_sql': {'from_port': '1433',
'ip_protocol': 'tcp',
'name': 'MS SQL',
'to_port': '1433'},
'mysql': {'from_port': '3306',
'ip_protocol': 'tcp',
'name': 'MYSQL',
'to_port': '3306'},
'pop3': {'from_port': '110',
'ip_protocol': 'tcp',
'name': 'POP3',
'to_port': '110'},
'pop3s': {'from_port': '995',
'ip_protocol': 'tcp',
'name': 'POP3S',
'to_port': '995'},
'rdp': {'from_port': '3389',
'ip_protocol': 'tcp',
'name': 'RDP',
'to_port': '3389'},
'smtp': {'from_port': '25',
'ip_protocol': 'tcp',
'name': 'SMTP',
'to_port': '25'},
'smtps': {'from_port': '465',
'ip_protocol': 'tcp',
'name': 'SMTPS',
'to_port': '465'},
'ssh': {'from_port': '22',
'ip_protocol': 'tcp',
'name': 'SSH',
'to_port': '22'}}
TIME_FORMAT
'P'
COMPRESS_STORAGE
u'compressor.storage.CompressorFileStorage'
HORIZON_CONFIG
{'ajax_queue_limit': 10,
'angular_modules': [],
'auto_fade_alerts': {'delay': 3000,
'fade_duration': 1500,
'types': ['alert-success', 'alert-info']},
'dashboards': ('project', 'admin', 'settings', 'identity'),
'default_dashboard': 'project',
'exceptions': {'not_found': (<class 'keystoneclient.openstack.common.apiclient.exceptions.NotFound'>,
<class 'cinderclient.exceptions.NotFound'>,
<class 'novaclient.exceptions.NotFound'>,
<class 'glanceclient.exc.NotFound'>,
<class 'neutronclient.common.exceptions.NotFound'>,
<class 'heatclient.exc.HTTPNotFound'>,
<class 'troveclient.exceptions.NotFound'>),
'recoverable': (<class 'keystoneclient.openstack.common.apiclient.exceptions.ClientException'>,
<class 'keystoneclient.openstack.common.apiclient.exceptions.AuthorizationFailure'>,
<class 'keystoneclient.openstack.common.apiclient.exceptions.Forbidden'>,
<class 'cinderclient.exceptions.ClientException'>,
<class 'cinderclient.exceptions.ConnectionError'>,
<class 'cinderclient.exceptions.Forbidden'>,
<class 'novaclient.exceptions.ClientException'>,
<class 'novaclient.exceptions.Forbidden'>,
<class 'glanceclient.exc.ClientException'>,
<class 'neutronclient.common.exceptions.Forbidden'>,
<class 'neutronclient.common.exceptions.NeutronClientException'>,
<class 'swiftclient.exceptions.ClientException'>,
<class 'heatclient.exc.HTTPForbidden'>,
<class 'heatclient.exc.HTTPException'>,
<class 'troveclient.exceptions.ClientException'>,
<class 'saharaclient.api.base.APIException'>,
<class 'requests.exceptions.RequestException'>),
'unauthorized': (<class 'keystoneclient.openstack.common.apiclient.exceptions.Unauthorized'>,
<class 'cinderclient.exceptions.Unauthorized'>,
<class 'novaclient.exceptions.Unauthorized'>,
<class 'glanceclient.exc.Unauthorized'>,
<class 'neutronclient.common.exceptions.Unauthorized'>,
<class 'heatclient.exc.HTTPUnauthorized'>,
<class 'troveclient.exceptions.Unauthorized'>)},
'help_url': 'http://docs.openstack.org',
'js_files': [],
'panel_customization': [],
'user_home': 'openstack_dashboard.views.get_user_home'}
AUTH_USER_MODEL
'auth.User'
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')
COMPRESS_CSS_FILTERS
('compressor.filters.css_default.CssAbsoluteFilter',)
AUTHENTICATION_BACKENDS
('openstack_auth.backend.KeystoneBackend',)
EMAIL_HOST_PASSWORD
u'********************'
COMPRESS_REBUILD_TIMEOUT
2592000
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
CACHE_MIDDLEWARE_ALIAS
'default'
ROOT_PATH
'/opt/stack/horizon/openstack_dashboard'
SESSION_SAVE_EVERY_REQUEST
False
NUMBER_GROUPING
0
SESSION_ENGINE
'django.contrib.sessions.backends.signed_cookies'
COMPRESS_YUGLIFY_BINARY
u'yuglify'
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_COOKIE_PATH
'/'
COMPRESS_CACHE_KEY_FUNCTION
u'********************'
LOGIN_REDIRECT_URL
'/'
DECIMAL_SEPARATOR
'.'
COMPRESS_PRECOMPILERS
(('text/scss', 'django_pyscss.compressor.DjangoScssFilter'),)
COMPRESS_MTIME_DELAY
10
LOCALE_PATHS
()
TEMPLATE_STRING_IF_INVALID
''
LOGOUT_URL
'/auth/logout/'
EMAIL_USE_TLS
False
TEMPLATE_DIRS
('/opt/stack/horizon/openstack_dashboard/templates',)
FIXTURE_DIRS
()
EMAIL_HOST
'localhost'
DATE_FORMAT
'N j, Y'
SESSION_COOKIE_MAX_SIZE
4093
MEDIA_ROOT
'/opt/stack/horizon/media'
DEFAULT_EXCEPTION_REPORTER_FILTER
'horizon.exceptions.HorizonReporterFilter'
ADMINS
()
SESSION_TIMEOUT
1800
FORMAT_MODULE_PATH
None
DEFAULT_FROM_EMAIL
'webmaster@localhost'
COMPRESS_ROOT
'/opt/stack/horizon/static'
MEDIA_URL
'/media/'
DATETIME_FORMAT
'N j, Y, P'
COMPRESS_YUI_JS_ARGUMENTS
u''
OPENSTACK_KEYSTONE_BACKEND
u'********************'
API_RESULT_PAGE_SIZE
u'********************'
OPENSTACK_KEYSTONE_DEFAULT_ROLE
u'********************'
COMPRESS_JS_COMPRESSOR
u'compressor.js.JsCompressor'
DISALLOWED_USER_AGENTS
()
ALLOWED_INCLUDE_ROOTS
()
COMPRESS_MINT_DELAY
30
LOGGING
{'disable_existing_loggers': False,
'handlers': {'console': {'class': 'logging.StreamHandler', 'level': 'INFO'},
'null': {'class': 'django.utils.log.NullHandler',
'level': 'DEBUG'}},
'loggers': {'ceilometerclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'cinderclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'django': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'], 'propagate': False},
'glanceclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'heatclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'horizon': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'iso8601': {'handlers': ['null'], 'propagate': False},
'keystoneclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'neutronclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'nose.plugins.manager': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'novaclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'openstack_auth': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'openstack_dashboard': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'requests': {'handlers': ['null'], 'propagate': False},
'scss': {'handlers': ['null'], 'propagate': False},
'swiftclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'troveclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False}},
'version': 1}
SHORT_DATE_FORMAT
'm/d/Y'
TEST_RUNNER
'django_nose.NoseTestSuiteRunner'
COMPRESS_ENABLED
True
OPENSTACK_HYPERVISOR_FEATURES
{'can_set_mount_point': False, 'can_set_password': False}
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
COMPRESS_OFFLINE
False
TIME_ZONE
'UTC'
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
COMPRESS_YUGLIFY_CSS_ARGUMENTS
u'--terminal'
EMAIL_BACKEND
'django.core.mail.backends.console.EmailBackend'
COMPRESS_JINJA2_GET_ENVIRONMENT
<jinja2.environment.Environment object at 0x7f894c2ee990>
DEFAULT_TABLESPACE
''
TEMPLATE_CONTEXT_PROCESSORS
('django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.request',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.contrib.messages.context_processors.messages',
'horizon.context_processors.horizon',
'openstack_dashboard.context_processors.openstack')
OPENSTACK_IMAGE_BACKEND
{'image_formats': [('',
<django.utils.functional.__proxy__ object at 0x7f894f6a12d0>),
('aki',
<django.utils.functional.__proxy__ object at 0x7f894f6a13d0>),
('ami',
<django.utils.functional.__proxy__ object at 0x7f894f6a1410>),
('ari',
<django.utils.functional.__proxy__ object at 0x7f894f6a1450>),
('iso',
<django.utils.functional.__proxy__ object at 0x7f894f6a1a50>),
('qcow2',
<django.utils.functional.__proxy__ object at 0x7f894f6a1ad0>),
('raw',
<django.utils.functional.__proxy__ object at 0x7f894f6a1b10>),
('vdi',
<django.utils.functional.__proxy__ object at 0x7f894f6a1b50>),
('vhd',
<django.utils.functional.__proxy__ object at 0x7f894f6a1b90>),
('vmdk',
<django.utils.functional.__proxy__ object at 0x7f894f6a1bd0>)]}
OPENSTACK_HOST
'192.168.1.101'
SESSION_COOKIE_AGE
1209600
SETTINGS_MODULE
'openstack_dashboard.settings'
USE_ETAGS
False
LANGUAGES
(('de', 'German'),
('en', 'English'),
('en-au', 'Australian English'),
('en-gb', 'British English'),
('es', 'Spanish'),
('fr', 'French'),
('hi', 'Hindi'),
('ja', 'Japanese'),
('ko', 'Korean (Korea)'),
('nl', 'Dutch (Netherlands)'),
('pl', 'Polish'),
('pt-br', 'Portuguese (Brazil)'),
('sr', 'Serbian'),
('zh-cn', 'Simplified Chinese'),
('zh-tw', 'Chinese (Taiwan)'))
COMPRESS_CLOSURE_COMPILER_BINARY
u'java -jar compiler.jar'
FILE_UPLOAD_TEMP_DIR
None
INTERNAL_IPS
()
STATIC_URL
'/static/'
EMAIL_PORT
25
USE_TZ
True
SHORT_DATETIME_FORMAT
'm/d/Y P'
PASSWORD_HASHERS
u'********************'
ABSOLUTE_URL_OVERRIDES
{}
CACHE_MIDDLEWARE_SECONDS
600
CSRF_COOKIE_HTTPONLY
False
DATETIME_INPUT_FORMATS
('%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M',
'%Y-%m-%d',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M:%S.%f',
'%m/%d/%Y %H:%M',
'%m/%d/%Y',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M:%S.%f',
'%m/%d/%y %H:%M',
'%m/%d/%y')
API_RESULT_LIMIT
u'********************'
PROFANITIES_LIST
u'********************'
EMAIL_HOST_USER
''
OPENSTACK_CINDER_FEATURES
{'enable_backup': False}
** Affects: horizon
Importance: Undecided
Status: New
** Description changed:
Testing step :
1:git clone https://github.com/openstack-dev/devstack.git
2:cd devstack && ./stack.sh
3:login as admin and go to user panel under Identity dashboard
4:type demo and click filter button
-
-
+ 5:browser report the following error
TemplateSyntaxError at /identity/users/
'NoneType' object has no attribute 'lower'
Request Method: POST
Request URL: http://192.168.1.101/identity/users/
Django Version: 1.6.5
Exception Type: TemplateSyntaxError
- Exception Value:
+ Exception Value:
'NoneType' object has no attribute 'lower'
Exception Location: /opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/identity/users/tables.py in filter, line 159
Python Executable: /usr/bin/python
Python Version: 2.7.6
- Python Path:
+ Python Path:
['/opt/stack/horizon/openstack_dashboard/wsgi/../..',
- '/opt/stack/python-keystoneclient',
- '/opt/stack/python-glanceclient',
- '/opt/stack/python-cinderclient',
- '/opt/stack/python-novaclient',
- '/opt/stack/python-swiftclient',
- '/opt/stack/python-neutronclient',
- '/opt/stack/python-heatclient',
- '/opt/stack/python-openstackclient',
- '/opt/stack/keystone',
- '/opt/stack/glance',
- '/opt/stack/cinder',
- '/opt/stack/nova',
- '/opt/stack/horizon',
- '/opt/stack/heat',
- '/opt/stack/tempest',
- '/usr/lib/python2.7',
- '/usr/lib/python2.7/plat-x86_64-linux-gnu',
- '/usr/lib/python2.7/lib-tk',
- '/usr/lib/python2.7/lib-old',
- '/usr/lib/python2.7/lib-dynload',
- '/usr/local/lib/python2.7/dist-packages',
- '/usr/lib/python2.7/dist-packages',
- '/usr/lib/python2.7/dist-packages/PILcompat',
- '/usr/lib/python2.7/dist-packages/gtk-2.0',
- '/usr/lib/pymodules/python2.7',
- '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
- '/opt/stack/horizon/openstack_dashboard']
+ '/opt/stack/python-keystoneclient',
+ '/opt/stack/python-glanceclient',
+ '/opt/stack/python-cinderclient',
+ '/opt/stack/python-novaclient',
+ '/opt/stack/python-swiftclient',
+ '/opt/stack/python-neutronclient',
+ '/opt/stack/python-heatclient',
+ '/opt/stack/python-openstackclient',
+ '/opt/stack/keystone',
+ '/opt/stack/glance',
+ '/opt/stack/cinder',
+ '/opt/stack/nova',
+ '/opt/stack/horizon',
+ '/opt/stack/heat',
+ '/opt/stack/tempest',
+ '/usr/lib/python2.7',
+ '/usr/lib/python2.7/plat-x86_64-linux-gnu',
+ '/usr/lib/python2.7/lib-tk',
+ '/usr/lib/python2.7/lib-old',
+ '/usr/lib/python2.7/lib-dynload',
+ '/usr/local/lib/python2.7/dist-packages',
+ '/usr/lib/python2.7/dist-packages',
+ '/usr/lib/python2.7/dist-packages/PILcompat',
+ '/usr/lib/python2.7/dist-packages/gtk-2.0',
+ '/usr/lib/pymodules/python2.7',
+ '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
+ '/opt/stack/horizon/openstack_dashboard']
Server time: Tue, 21 Oct 2014 09:15:45 +0000
Error during template rendering
In template /opt/stack/horizon/horizon/templates/horizon/common/_data_table.html, error at line 5
'NoneType' object has no attribute 'lower'
1 {% load i18n %}
2 {% with table.needs_form_wrapper as needs_form_wrapper %}
3 <div class="table_wrapper">
4 {% if needs_form_wrapper %}<form action="{{ table.get_full_url }}" method="POST">{% csrf_token %}{% endif %}
5 {% with columns=table.get_columns rows=table.get_rows %}
6 {% block table %}
7 <table id="{{ table.slugify_name }}" class="{% block table_css_classes %}table table-bordered table-striped datatable {{ table.css_classes }}{% endblock %}">
8 <thead>
9 {% block table_caption %}
10 <tr class='table_caption'>
11 <th class='table_header' colspan='{{ columns|length }}'>
12 <h3 class='table_title'>{{ table }}</h3>
13 {{ table.render_table_actions }}
14 </th>
15 </tr>
Traceback Switch to copy-and-paste view
/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response
- response = response.render() ...
+ response = response.render() ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/response.py in render
- self.content = self.rendered_content ...
+ self.content = self.rendered_content ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/response.py in rendered_content
- content = template.render(context) ...
+ content = template.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
- return self._render(context) ...
+ return self._render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _render
- return self.nodelist.render(context) ...
+ return self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
- bit = self.render_node(node, context) ...
+ bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
- return node.render(context) ...
+ return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py in render
- return compiled_parent._render(context) ...
+ return compiled_parent._render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _render
- return self.nodelist.render(context) ...
+ return self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
- bit = self.render_node(node, context) ...
+ bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
- return node.render(context) ...
+ return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py in render
- result = block.nodelist.render(context) ...
+ result = block.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
- bit = self.render_node(node, context) ...
+ bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
- return node.render(context) ...
+ return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py in render
- result = block.nodelist.render(context) ...
+ result = block.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
- bit = self.render_node(node, context) ...
+ bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
- return node.render(context) ...
+ return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render
- output = self.filter_expression.resolve(context) ...
+ output = self.filter_expression.resolve(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
- obj = self.var.resolve(context) ...
+ obj = self.var.resolve(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
- value = self._resolve_lookup(context) ...
+ value = self._resolve_lookup(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _resolve_lookup
- current = current() ...
+ current = current() ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in render
- return table_template.render(context) ...
+ return table_template.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
- return self._render(context) ...
+ return self._render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _render
- return self.nodelist.render(context) ...
+ return self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
- bit = self.render_node(node, context) ...
+ bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
- return node.render(context) ...
+ return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py in render
- output = self.nodelist.render(context) ...
+ output = self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
- bit = self.render_node(node, context) ...
+ bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
- return node.render(context) ...
+ return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py in render
- six.iteritems(self.extra_context)]) ...
+ six.iteritems(self.extra_context)]) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
- obj = self.var.resolve(context) ...
+ obj = self.var.resolve(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
- value = self._resolve_lookup(context) ...
+ value = self._resolve_lookup(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _resolve_lookup
- current = current() ...
+ current = current() ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in get_rows
- exc_info[2]) ...
+ exc_info[2]) ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in get_rows
- for datum in self.filtered_data: ...
+ for datum in self.filtered_data: ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in filtered_data
- filter_string) ...
+ filter_string) ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/identity/users/tables.py in filter
- or q in getattr(user, 'email', '').lower()] ...
+ or q in getattr(user, 'email', '').lower()] ...
? Local vars
Request information
GET
No GET data
POST
Variable Value
- csrfmiddlewaretoken
+ csrfmiddlewaretoken
u'ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1'
- users__filter__q
+ users__filter__q
u'do'
FILES
No FILES data
COOKIES
Variable Value
- csrftoken
+ csrftoken
'ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1'
- horizon_language
+ horizon_language
'en'
- horizon_pagesize
+ horizon_pagesize
'20'
- sessionid
+ sessionid
'.eJytV1tz20QULmkStw5JeqFJA6UNUIoLxN6LpJVKC_RCYYApM5lqxi8Zz2ovkYgteS0pbR80Ay_8TH4LR7IcCoxlQ_GMx7va1Tnn-863Z49_WSnMWx1_K49TkYyVHGTJiYr9faYVtzyNEREES0E9RxNsK8YkF0wI5LfyVE0Gkezvnzt3zlUBd5hCGCNsScZcbAUeCbSwEUFKMLPib0zUcZTEg5iPlL_1RGmeD7P9w-qhvzngeRYOapPhir9d71axHCdRnPVvgpcwy8b3ej3skS523C7ugrd7NkKod0q6yJz3t-H900iodDB9vX8R3pq6-ClWZtXfjUb8GJYHOhpm4GtgYKSGsr8KG8vI-m0YZCrNRJKcRKq_DtMXyeRESf_KazEGXABL0r8DlMVpBrNqsVs_7_6gXqVZEqtH9b7NIU-zARdZdBplr76_f_vpc3-tYlr8zUJpvv28XGmbtbu_mvXCtDr-ukxGPIrNhcJc7PgrkTTtZ_5qGbDZeJb7WzXuxzzjw-TYvH1kNjuF2epUBMw4TM32kblUmMud_gV4zOUoiv3DH82V_oN55LqMWUBuz1OESMeTzHaphS3PdeBLbc-xMZKu8iqeppybq-FqfwWmEOQ7lTg8zt1AI1cEWlvC1QEVCARFiC2V7XLR3yh3x5CPmA_LgK79DwGVwMd5MIxEaXHnzS3mvL_9OpmDYRSfpGb3qNJO9mqszPV-C4YiGY3zTJ1JyuxNh8kpzwvzbieELLxXmBudsJl4Z5mowqt_1Xg4pZw4yKaIC4tjzwpsx3M9jYQWjoftwJM0bKZ4OdfNpC5lI-fh7lF4vdLjaTLMR-qUhHvVVESxBFUT4Oz9irObhblVcnajOZN0DiXMlo60KZOUK0sRHmDiSE6UVJw6DHtAyULLOwu3zABd_FMI8N5edT5KBcCOwuxXeD4ozIclnr15Jil85oChLqdcChEwYNTxBMecaReSzpCmSDkAptnsTvP6DEZ5jtMy_ukAYv-oiv12YT5ujN0jHpkTO7alqylkXyNtcaZ4QAmIEgfCwohx3hR7ZbYh9nJ9FvtaWVXKcl_TfzzksVAA4U4F4ZPCdJrlVF0seN4JI8QRDAvKbccSlg5cW2KBkYU08VzLbZRTbblJTtMtMyxbpZyGSS51MhnxDCKpT0moeHYgdAyw7lawPi3MZ0tUFvxfK4utPe1SV2LkMcuhmgeQQEicJJJQzeTiyrKE64WVZbGNGXPrZ5WllsG0rgBfn1d8HRSmW_LVaXBIe7O-ovewvDTnUWMTy2GICsuzLYdoTyCsEVFCMUlEVXSX9PK4TDWw8G-2zwCfLy8pUVbRegRQexVUVBjcLA2ErDeQBvEC5EmOXItTy0WsbBklDaDuKu7gwGmUxrKum6SxpI0ZU5tgKJmIELq9yexMrdZnCkgjFWm0MFZJ2q255dKmNqsa0Hn1jnBOGLGhvBGoDkGAsUsJswjRRFGMgZbFzW24E55__bKMpIozaCXrMnBS95u58tcmyVClxj4yDrSADDaszZq9tDAuzC_VGAfTtjN5EatJCj151dlOG01owo3nt-S0Szf3_JZ6OY4mYPcLIXmmsmik2mcDc99vt35vX2uvWdUBSxO4inC3_m37mWibB3cPzZe_HZqv_NZ4kvysRGa-LszDTtie9ogLcmYehRtVcqQaJeZx7q-W0ZonhfkGTIQrsHoG0zzNqxb5W3_fdjSDfjOgtoOFy6BaKwHlGsqWwOBM-uuZinmcme_Ch3ngX_7H34P-boVoMknSA9SlXXLw0nUGjnWQK5F3_wB6239I:1XgVXY:bhv2HejeAfFWszWpeBAYDfWw3rg'
- django_timezone
+ django_timezone
'Asia/Shanghai'
META
Variable Value
- mod_wsgi.listener_port
+ mod_wsgi.listener_port
'80'
- HTTP_REFERER
+ HTTP_REFERER
'http://192.168.1.101/identity/users/'
- mod_wsgi.listener_host
+ mod_wsgi.listener_host
''
- CONTEXT_DOCUMENT_ROOT
+ CONTEXT_DOCUMENT_ROOT
'/opt/stack/horizon/.blackhole/'
- SERVER_SOFTWARE
+ SERVER_SOFTWARE
'Apache/2.4.7 (Ubuntu)'
- SCRIPT_NAME
+ SCRIPT_NAME
u''
- mod_wsgi.enable_sendfile
+ mod_wsgi.enable_sendfile
'0'
- mod_wsgi.handler_script
+ mod_wsgi.handler_script
''
- SERVER_SIGNATURE
+ SERVER_SIGNATURE
'<address>Apache/2.4.7 (Ubuntu) Server at 192.168.1.101 Port 80</address>\n'
- REQUEST_METHOD
+ REQUEST_METHOD
'POST'
- PATH_INFO
+ PATH_INFO
u'/identity/users/'
- HTTP_ORIGIN
+ HTTP_ORIGIN
'http://192.168.1.101'
- SERVER_PROTOCOL
+ SERVER_PROTOCOL
'HTTP/1.1'
- QUERY_STRING
+ QUERY_STRING
''
- CONTENT_LENGTH
+ CONTENT_LENGTH
'72'
- HTTP_USER_AGENT
+ HTTP_USER_AGENT
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36'
- HTTP_CONNECTION
+ HTTP_CONNECTION
'keep-alive'
- HTTP_COOKIE
+ HTTP_COOKIE
'horizon_language=en; django_timezone="Asia/Shanghai"; horizon_pagesize=20; csrftoken=ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1; sessionid=".eJytV1tz20QULmkStw5JeqFJA6UNUIoLxN6LpJVKC_RCYYApM5lqxi8Zz2ovkYgteS0pbR80Ay_8TH4LR7IcCoxlQ_GMx7va1Tnn-863Z49_WSnMWx1_K49TkYyVHGTJiYr9faYVtzyNEREES0E9RxNsK8YkF0wI5LfyVE0Gkezvnzt3zlUBd5hCGCNsScZcbAUeCbSwEUFKMLPib0zUcZTEg5iPlL_1RGmeD7P9w-qhvzngeRYOapPhir9d71axHCdRnPVvgpcwy8b3ej3skS523C7ugrd7NkKod0q6yJz3t-H900iodDB9vX8R3pq6-ClWZtXfjUb8GJYHOhpm4GtgYKSGsr8KG8vI-m0YZCrNRJKcRKq_DtMXyeRESf_KazEGXABL0r8DlMVpBrNqsVs_7_6gXqVZEqtH9b7NIU-zARdZdBplr76_f_vpc3-tYlr8zUJpvv28XGmbtbu_mvXCtDr-ukxGPIrNhcJc7PgrkTTtZ_5qGbDZeJb7WzXuxzzjw-TYvH1kNjuF2epUBMw4TM32kblUmMud_gV4zOUoiv3DH82V_oN55LqMWUBuz1OESMeTzHaphS3PdeBLbc-xMZKu8iqeppybq-FqfwWmEOQ7lTg8zt1AI1cEWlvC1QEVCARFiC2V7XLR3yh3x5CPmA_LgK79DwGVwMd5MIxEaXHnzS3mvL_9OpmDYRSfpGb3qNJO9mqszPV-C4YiGY3zTJ1JyuxNh8kpzwvzbieELLxXmBudsJl4Z5mowqt_1Xg4pZw4yKaIC4tjzwpsx3M9jYQWjoftwJM0bKZ4OdfNpC5lI-fh7lF4vdLjaTLMR-qUhHvVVESxBFUT4Oz9irObhblVcnajOZN0DiXMlo60KZOUK0sRHmDiSE6UVJw6DHtAyULLOwu3zABd_FMI8N5edT5KBcCOwuxXeD4ozIclnr15Jil85oChLqdcChEwYNTxBMecaReSzpCmSDkAptnsTvP6DEZ5jtMy_ukAYv-oiv12YT5ujN0jHpkTO7alqylkXyNtcaZ4QAmIEgfCwohx3hR7ZbYh9nJ9FvtaWVXKcl_TfzzksVAA4U4F4ZPCdJrlVF0seN4JI8QRDAvKbccSlg5cW2KBkYU08VzLbZRTbblJTtMtMyxbpZyGSS51MhnxDCKpT0moeHYgdAyw7lawPi3MZ0tUFvxfK4utPe1SV2LkMcuhmgeQQEicJJJQzeTiyrKE64WVZbGNGXPrZ5WllsG0rgBfn1d8HRSmW_LVaXBIe7O-ovewvDTnUWMTy2GICsuzLYdoTyCsEVFCMUlEVXSX9PK4TDWw8G-2zwCfLy8pUVbRegRQexVUVBjcLA2ErDeQBvEC5EmOXItTy0WsbBklDaDuKu7gwGmUxrKum6SxpI0ZU5tgKJmIELq9yexMrdZnCkgjFWm0MFZJ2q255dKmNqsa0Hn1jnBOGLGhvBGoDkGAsUsJswjRRFGMgZbFzW24E55__bKMpIozaCXrMnBS95u58tcmyVClxj4yDrSADDaszZq9tDAuzC_VGAfTtjN5EatJCj151dlOG01owo3nt-S0Szf3_JZ6OY4mYPcLIXmmsmik2mcDc99vt35vX2uvWdUBSxO4inC3_m37mWibB3cPzZe_HZqv_NZ4kvysRGa-LszDTtie9ogLcmYehRtVcqQaJeZx7q-W0ZonhfkGTIQrsHoG0zzNqxb5W3_fdjSDfjOgtoOFy6BaKwHlGsqWwOBM-uuZinmcme_Ch3ngX_7H34P-boVoMknSA9SlXXLw0nUGjnWQK5F3_wB6239I:1XgVXY:bhv2HejeAfFWszWpeBAYDfWw3rg"'
- SERVER_NAME
+ SERVER_NAME
'192.168.1.101'
- REMOTE_ADDR
+ REMOTE_ADDR
'192.168.1.100'
- mod_wsgi.queue_start
+ mod_wsgi.queue_start
'1413882945308681'
- mod_wsgi.request_handler
+ mod_wsgi.request_handler
'wsgi-script'
- wsgi.url_scheme
+ wsgi.url_scheme
'http'
- APACHE_RUN_GROUP
+ APACHE_RUN_GROUP
'whg'
- PATH_TRANSLATED
+ PATH_TRANSLATED
'/opt/stack/horizon/openstack_dashboard/wsgi/django.wsgi/identity/users/'
- SERVER_PORT
+ SERVER_PORT
'80'
- wsgi.multiprocess
- True
- mod_wsgi.input_chunked
+ wsgi.multiprocess
+ True
+ mod_wsgi.input_chunked
'0'
- SERVER_ADDR
+ SERVER_ADDR
'192.168.1.101'
- DOCUMENT_ROOT
+ DOCUMENT_ROOT
'/opt/stack/horizon/.blackhole/'
- mod_wsgi.process_group
+ mod_wsgi.process_group
'horizon'
- SCRIPT_FILENAME
+ SCRIPT_FILENAME
'/opt/stack/horizon/openstack_dashboard/wsgi/django.wsgi'
- SERVER_ADMIN
+ SERVER_ADMIN
'[no address given]'
- wsgi.input
+ wsgi.input
<mod_wsgi.Input object at 0x7f894c6933b0>
- HTTP_HOST
+ HTTP_HOST
'192.168.1.101'
- CONTEXT_PREFIX
+ CONTEXT_PREFIX
''
- wsgi.multithread
- True
- mod_wsgi.callable_object
+ wsgi.multithread
+ True
+ mod_wsgi.callable_object
'application'
- HTTP_CACHE_CONTROL
+ HTTP_CACHE_CONTROL
'max-age=0'
- REQUEST_URI
+ REQUEST_URI
'/identity/users/'
- HTTP_ACCEPT
+ HTTP_ACCEPT
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
- wsgi.version
+ wsgi.version
(1, 0)
- GATEWAY_INTERFACE
+ GATEWAY_INTERFACE
'CGI/1.1'
- wsgi.run_once
- False
- APACHE_RUN_USER
+ wsgi.run_once
+ False
+ APACHE_RUN_USER
'whg'
- wsgi.errors
+ wsgi.errors
<mod_wsgi.Log object at 0x7f894c315a70>
- REMOTE_PORT
+ REMOTE_PORT
'65469'
- HTTP_ACCEPT_LANGUAGE
+ HTTP_ACCEPT_LANGUAGE
'en-US,zh-CN;q=0.8'
- REQUEST_SCHEME
+ REQUEST_SCHEME
'http'
- mod_wsgi.version
+ mod_wsgi.version
(3, 4)
- CSRF_COOKIE_USED
- True
- CONTENT_TYPE
+ CSRF_COOKIE_USED
+ True
+ CONTENT_TYPE
'application/x-www-form-urlencoded'
- mod_wsgi.application_group
+ mod_wsgi.application_group
''
- mod_wsgi.script_reloading
+ mod_wsgi.script_reloading
'1'
- wsgi.file_wrapper
+ wsgi.file_wrapper
''
- CSRF_COOKIE
+ CSRF_COOKIE
u'ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1'
- HTTP_ACCEPT_ENCODING
+ HTTP_ACCEPT_ENCODING
'gzip,deflate'
Settings
Using settings module openstack_dashboard.settings
Setting Value
- COMPRESS_URL
+ COMPRESS_URL
'/static/'
- POLICY_FILES_PATH
+ POLICY_FILES_PATH
'/opt/stack/horizon/openstack_dashboard/conf'
- COMPRESS_OUTPUT_DIR
+ COMPRESS_OUTPUT_DIR
'dashboard'
- COMPRESS_TEMPLATE_FILTER_CONTEXT
+ COMPRESS_TEMPLATE_FILTER_CONTEXT
{u'STATIC_URL': '/static/'}
- USE_L10N
- True
- COMPRESS_DATA_URI_MAX_SIZE
+ USE_L10N
+ True
+ COMPRESS_DATA_URI_MAX_SIZE
1024
- CSRF_COOKIE_SECURE
- False
- LANGUAGE_CODE
+ CSRF_COOKIE_SECURE
+ False
+ LANGUAGE_CODE
'en'
- ROOT_URLCONF
+ ROOT_URLCONF
'openstack_dashboard.urls'
- MANAGERS
+ MANAGERS
()
- COMPRESS_CSS_HASHING_METHOD
+ COMPRESS_CSS_HASHING_METHOD
'hash'
- SESSION_EXPIRE_AT_BROWSER_CLOSE
- True
- DEFAULT_CHARSET
+ SESSION_EXPIRE_AT_BROWSER_CLOSE
+ True
+ DEFAULT_CHARSET
'utf-8'
- IGNORABLE_404_URLS
+ IGNORABLE_404_URLS
()
- SESSION_SERIALIZER
+ SESSION_SERIALIZER
'django.contrib.sessions.serializers.PickleSerializer'
- STATIC_ROOT
+ STATIC_ROOT
'/opt/stack/horizon/static'
- COMPRESS_CLOSURE_COMPILER_ARGUMENTS
+ COMPRESS_CLOSURE_COMPILER_ARGUMENTS
u''
- USE_THOUSAND_SEPARATOR
- False
- COMPRESS_OFFLINE_MANIFEST
+ USE_THOUSAND_SEPARATOR
+ False
+ COMPRESS_OFFLINE_MANIFEST
u'manifest.json'
- ALLOWED_HOSTS
+ ALLOWED_HOSTS
[]
- MESSAGE_STORAGE
+ MESSAGE_STORAGE
'django.contrib.messages.storage.cookie.CookieStorage'
- EMAIL_SUBJECT_PREFIX
+ EMAIL_SUBJECT_PREFIX
'[Django] '
- IMAGE_RESERVED_CUSTOM_PROPERTIES
+ IMAGE_RESERVED_CUSTOM_PROPERTIES
[]
- STATICFILES_FINDERS
+ STATICFILES_FINDERS
('compressor.finders.CompressorFinder',
- 'django.contrib.staticfiles.finders.FileSystemFinder',
- 'django.contrib.staticfiles.finders.AppDirectoriesFinder')
- SESSION_CACHE_ALIAS
+ 'django.contrib.staticfiles.finders.FileSystemFinder',
+ 'django.contrib.staticfiles.finders.AppDirectoriesFinder')
+ SESSION_CACHE_ALIAS
'default'
- COMPRESS_CSSTIDY_ARGUMENTS
+ COMPRESS_CSSTIDY_ARGUMENTS
u'--template=highest'
- SESSION_COOKIE_DOMAIN
+ SESSION_COOKIE_DOMAIN
None
- SESSION_COOKIE_NAME
+ SESSION_COOKIE_NAME
'sessionid'
- COMPRESS_YUGLIFY_JS_ARGUMENTS
+ COMPRESS_YUGLIFY_JS_ARGUMENTS
u'--terminal'
- ADMIN_FOR
+ ADMIN_FOR
()
- TIME_INPUT_FORMATS
+ TIME_INPUT_FORMATS
('%H:%M:%S', '%H:%M:%S.%f', '%H:%M')
- DATABASES
+ DATABASES
{}
- SITE_BRANDING
+ SITE_BRANDING
'OpenStack Dashboard'
- COMPRESS_YUI_BINARY
+ COMPRESS_YUI_BINARY
u'java -jar yuicompressor.jar'
- FILE_UPLOAD_PERMISSIONS
+ FILE_UPLOAD_PERMISSIONS
None
- FILE_UPLOAD_HANDLERS
+ FILE_UPLOAD_HANDLERS
('django.core.files.uploadhandler.MemoryFileUploadHandler',
- 'django.core.files.uploadhandler.TemporaryFileUploadHandler')
- DEFAULT_CONTENT_TYPE
+ 'django.core.files.uploadhandler.TemporaryFileUploadHandler')
+ DEFAULT_CONTENT_TYPE
'text/html'
- COMPRESS_CSS_COMPRESSOR
+ COMPRESS_CSS_COMPRESSOR
u'compressor.css.CssCompressor'
- APPEND_SLASH
- True
- FIRST_DAY_OF_WEEK
+ APPEND_SLASH
+ True
+ FIRST_DAY_OF_WEEK
0
- DATABASE_ROUTERS
+ DATABASE_ROUTERS
[]
- OPENSTACK_NEUTRON_NETWORK
+ OPENSTACK_NEUTRON_NETWORK
{'enable_distributed_router': True,
- 'enable_firewall': True,
- 'enable_ipv6': True,
- 'enable_lb': True,
- 'enable_quotas': True,
- 'enable_router': True,
- 'enable_vpn': True,
- 'profile_support': None,
- 'supported_provider_types': ['*']}
- YEAR_MONTH_FORMAT
+ 'enable_firewall': True,
+ 'enable_ipv6': True,
+ 'enable_lb': True,
+ 'enable_quotas': True,
+ 'enable_router': True,
+ 'enable_vpn': True,
+ 'profile_support': None,
+ 'supported_provider_types': ['*']}
+ YEAR_MONTH_FORMAT
'F Y'
- COMPRESS_OFFLINE_TIMEOUT
+ COMPRESS_OFFLINE_TIMEOUT
31536000
- STATICFILES_STORAGE
+ STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
- CACHES
+ CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
- SERVER_EMAIL
+ SERVER_EMAIL
'root@localhost'
- SESSION_COOKIE_PATH
+ SESSION_COOKIE_PATH
'/'
- HORIZON_IMAGES_ALLOW_UPLOAD
- True
- COMPRESS_PARSER
+ HORIZON_IMAGES_ALLOW_UPLOAD
+ True
+ COMPRESS_PARSER
'compressor.parser.HtmlParser'
- COMPRESS_OFFLINE_CONTEXT
+ COMPRESS_OFFLINE_CONTEXT
{'HORIZON_CONFIG': {'ajax_queue_limit': 10,
- 'angular_modules': [],
- 'auto_fade_alerts': {'delay': 3000,
- 'fade_duration': 1500,
- 'types': ['alert-success',
- 'alert-info']},
- 'dashboards': ('project',
- 'admin',
- 'settings',
- 'identity'),
- 'default_dashboard': 'project',
- 'exceptions': {'not_found': (<class 'keystoneclient.openstack.common.apiclient.exceptions.NotFound'>,
- <class 'cinderclient.exceptions.NotFound'>,
- <class 'novaclient.exceptions.NotFound'>,
- <class 'glanceclient.exc.NotFound'>,
- <class 'neutronclient.common.exceptions.NotFound'>,
- <class 'heatclient.exc.HTTPNotFound'>,
- <class 'troveclient.exceptions.NotFound'>),
- 'recoverable': (<class 'keystoneclient.openstack.common.apiclient.exceptions.ClientException'>,
- <class 'keystoneclient.openstack.common.apiclient.exceptions.AuthorizationFailure'>,
- <class 'keystoneclient.openstack.common.apiclient.exceptions.Forbidden'>,
- <class 'cinderclient.exceptions.ClientException'>,
- <class 'cinderclient.exceptions.ConnectionError'>,
- <class 'cinderclient.exceptions.Forbidden'>,
- <class 'novaclient.exceptions.ClientException'>,
- <class 'novaclient.exceptions.Forbidden'>,
- <class 'glanceclient.exc.ClientException'>,
- <class 'neutronclient.common.exceptions.Forbidden'>,
- <class 'neutronclient.common.exceptions.NeutronClientException'>,
- <class 'swiftclient.exceptions.ClientException'>,
- <class 'heatclient.exc.HTTPForbidden'>,
- <class 'heatclient.exc.HTTPException'>,
- <class 'troveclient.exceptions.ClientException'>,
- <class 'saharaclient.api.base.APIException'>,
- <class 'requests.exceptions.RequestException'>),
- 'unauthorized': (<class 'keystoneclient.openstack.common.apiclient.exceptions.Unauthorized'>,
- <class 'cinderclient.exceptions.Unauthorized'>,
- <class 'novaclient.exceptions.Unauthorized'>,
- <class 'glanceclient.exc.Unauthorized'>,
- <class 'neutronclient.common.exceptions.Unauthorized'>,
- <class 'heatclient.exc.HTTPUnauthorized'>,
- <class 'troveclient.exceptions.Unauthorized'>)},
- 'help_url': 'http://docs.openstack.org',
- 'js_files': [],
- 'panel_customization': [],
- 'user_home': 'openstack_dashboard.views.get_user_home'},
- 'STATIC_URL': '/static/'}
- COMPRESS_CACHE_BACKEND
+ 'angular_modules': [],
+ 'auto_fade_alerts': {'delay': 3000,
+ 'fade_duration': 1500,
+ 'types': ['alert-success',
+ 'alert-info']},
+ 'dashboards': ('project',
+ 'admin',
+ 'settings',
+ 'identity'),
+ 'default_dashboard': 'project',
+ 'exceptions': {'not_found': (<class 'keystoneclient.openstack.common.apiclient.exceptions.NotFound'>,
+ <class 'cinderclient.exceptions.NotFound'>,
+ <class 'novaclient.exceptions.NotFound'>,
+ <class 'glanceclient.exc.NotFound'>,
+ <class 'neutronclient.common.exceptions.NotFound'>,
+ <class 'heatclient.exc.HTTPNotFound'>,
+ <class 'troveclient.exceptions.NotFound'>),
+ 'recoverable': (<class 'keystoneclient.openstack.common.apiclient.exceptions.ClientException'>,
+ <class 'keystoneclient.openstack.common.apiclient.exceptions.AuthorizationFailure'>,
+ <class 'keystoneclient.openstack.common.apiclient.exceptions.Forbidden'>,
+ <class 'cinderclient.exceptions.ClientException'>,
+ <class 'cinderclient.exceptions.ConnectionError'>,
+ <class 'cinderclient.exceptions.Forbidden'>,
+ <class 'novaclient.exceptions.ClientException'>,
+ <class 'novaclient.exceptions.Forbidden'>,
+ <class 'glanceclient.exc.ClientException'>,
+ <class 'neutronclient.common.exceptions.Forbidden'>,
+ <class 'neutronclient.common.exceptions.NeutronClientException'>,
+ <class 'swiftclient.exceptions.ClientException'>,
+ <class 'heatclient.exc.HTTPForbidden'>,
+ <class 'heatclient.exc.HTTPException'>,
+ <class 'troveclient.exceptions.ClientException'>,
+ <class 'saharaclient.api.base.APIException'>,
+ <class 'requests.exceptions.RequestException'>),
+ 'unauthorized': (<class 'keystoneclient.openstack.common.apiclient.exceptions.Unauthorized'>,
+ <class 'cinderclient.exceptions.Unauthorized'>,
+ <class 'novaclient.exceptions.Unauthorized'>,
+ <class 'glanceclient.exc.Unauthorized'>,
+ <class 'neutronclient.common.exceptions.Unauthorized'>,
+ <class 'heatclient.exc.HTTPUnauthorized'>,
+ <class 'troveclient.exceptions.Unauthorized'>)},
+ 'help_url': 'http://docs.openstack.org',
+ 'js_files': [],
+ 'panel_customization': [],
+ 'user_home': 'openstack_dashboard.views.get_user_home'},
+ 'STATIC_URL': '/static/'}
+ COMPRESS_CACHE_BACKEND
u'default'
- MIDDLEWARE_CLASSES
+ MIDDLEWARE_CLASSES
('django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
- 'django.contrib.sessions.middleware.SessionMiddleware',
- 'django.contrib.auth.middleware.AuthenticationMiddleware',
- 'django.contrib.messages.middleware.MessageMiddleware',
- 'horizon.middleware.HorizonMiddleware',
- 'django.middleware.doc.XViewMiddleware',
- 'django.middleware.locale.LocaleMiddleware',
- 'django.middleware.clickjacking.XFrameOptionsMiddleware')
- USE_I18N
- True
- THOUSAND_SEPARATOR
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'horizon.middleware.HorizonMiddleware',
+ 'django.middleware.doc.XViewMiddleware',
+ 'django.middleware.locale.LocaleMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware')
+ USE_I18N
+ True
+ THOUSAND_SEPARATOR
','
- SECRET_KEY
- u'********************'
- LANGUAGE_COOKIE_NAME
+ SECRET_KEY
+ u'********************'
+ LANGUAGE_COOKIE_NAME
'horizon_language'
- DEFAULT_INDEX_TABLESPACE
+ DEFAULT_INDEX_TABLESPACE
''
- BIN_DIR
+ BIN_DIR
'/opt/stack/horizon/bin'
- TRANSACTIONS_MANAGED
- False
- LOGGING_CONFIG
+ TRANSACTIONS_MANAGED
+ False
+ LOGGING_CONFIG
'django.utils.log.dictConfig'
- SIGNING_BACKEND
+ SIGNING_BACKEND
'django.core.signing.TimestampSigner'
- SEND_BROKEN_LINK_EMAILS
- False
- TEMPLATE_LOADERS
+ SEND_BROKEN_LINK_EMAILS
+ False
+ TEMPLATE_LOADERS
('django.template.loaders.filesystem.Loader',
- 'django.template.loaders.app_directories.Loader',
- 'horizon.loaders.TemplateLoader')
- WSGI_APPLICATION
+ 'django.template.loaders.app_directories.Loader',
+ 'horizon.loaders.TemplateLoader')
+ WSGI_APPLICATION
None
- TEMPLATE_DEBUG
- True
- X_FRAME_OPTIONS
+ TEMPLATE_DEBUG
+ True
+ X_FRAME_OPTIONS
'SAMEORIGIN'
- CSRF_COOKIE_NAME
+ CSRF_COOKIE_NAME
'csrftoken'
- POLICY_FILES
+ POLICY_FILES
{'compute': 'nova_policy.json',
- 'identity': 'keystone_policy.json',
- 'image': 'glance_policy.json',
- 'network': 'neutron_policy.json',
- 'orchestration': 'heat_policy.json',
- 'volume': 'cinder_policy.json'}
- FORCE_SCRIPT_NAME
+ 'identity': 'keystone_policy.json',
+ 'image': 'glance_policy.json',
+ 'network': 'neutron_policy.json',
+ 'orchestration': 'heat_policy.json',
+ 'volume': 'cinder_policy.json'}
+ FORCE_SCRIPT_NAME
None
- USE_X_FORWARDED_HOST
- False
- COMPRESS_CSSTIDY_BINARY
+ USE_X_FORWARDED_HOST
+ False
+ COMPRESS_CSSTIDY_BINARY
u'csstidy'
- SESSION_COOKIE_SECURE
- False
- IMAGE_CUSTOM_PROPERTY_TITLES
+ SESSION_COOKIE_SECURE
+ False
+ IMAGE_CUSTOM_PROPERTY_TITLES
{'architecture': <django.utils.functional.__proxy__ object at 0x7f894f6cec50>,
- 'image_state': <django.utils.functional.__proxy__ object at 0x7f894f6ced10>,
- 'image_type': <django.utils.functional.__proxy__ object at 0x7f894f6ced90>,
- 'kernel_id': <django.utils.functional.__proxy__ object at 0x7f894f6cec90>,
- 'project_id': <django.utils.functional.__proxy__ object at 0x7f894f6ced50>,
- 'ramdisk_id': <django.utils.functional.__proxy__ object at 0x7f894f6cecd0>}
- COMPRESS_DEBUG_TOGGLE
+ 'image_state': <django.utils.functional.__proxy__ object at 0x7f894f6ced10>,
+ 'image_type': <django.utils.functional.__proxy__ object at 0x7f894f6ced90>,
+ 'kernel_id': <django.utils.functional.__proxy__ object at 0x7f894f6cec90>,
+ 'project_id': <django.utils.functional.__proxy__ object at 0x7f894f6ced50>,
+ 'ramdisk_id': <django.utils.functional.__proxy__ object at 0x7f894f6cecd0>}
+ COMPRESS_DEBUG_TOGGLE
None
- COMPRESS_VERBOSE
- False
- CSRF_COOKIE_DOMAIN
+ COMPRESS_VERBOSE
+ False
+ CSRF_COOKIE_DOMAIN
None
- FILE_CHARSET
+ FILE_CHARSET
'utf-8'
- DEBUG
- True
- SESSION_FILE_PATH
+ DEBUG
+ True
+ SESSION_FILE_PATH
None
- COMPRESS_JS_FILTERS
+ COMPRESS_JS_FILTERS
[u'compressor.filters.jsmin.JSMinFilter']
- DEFAULT_FILE_STORAGE
+ DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
- INSTALLED_APPS
+ INSTALLED_APPS
['openstack_dashboard.dashboards.project',
- 'openstack_dashboard.dashboards.admin',
- 'openstack_dashboard.dashboards.identity',
- 'openstack_dashboard.dashboards.settings',
- 'openstack_dashboard',
- 'django.contrib.contenttypes',
- 'django.contrib.auth',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'django.contrib.humanize',
- 'django_pyscss',
- 'compressor',
- 'horizon',
- 'openstack_auth']
- LANGUAGES_BIDI
+ 'openstack_dashboard.dashboards.admin',
+ 'openstack_dashboard.dashboards.identity',
+ 'openstack_dashboard.dashboards.settings',
+ 'openstack_dashboard',
+ 'django.contrib.contenttypes',
+ 'django.contrib.auth',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'django.contrib.humanize',
+ 'django_pyscss',
+ 'compressor',
+ 'horizon',
+ 'openstack_auth']
+ LANGUAGES_BIDI
('he', 'ar', 'fa', 'ur')
- COMMENTS_ALLOW_PROFANITIES
- False
- COMPRESS_YUI_CSS_ARGUMENTS
+ COMMENTS_ALLOW_PROFANITIES
+ False
+ COMPRESS_YUI_CSS_ARGUMENTS
u''
- STATICFILES_DIRS
+ STATICFILES_DIRS
(('horizon/lib/angular',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular/data'),
- ('horizon/lib/angular',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular_cookies/data'),
- ('horizon/lib/angular',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular_mock/data'),
- ('horizon/lib/bootstrap_datepicker',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/bootstrap_datepicker/data'),
- ('horizon/lib', '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/d3/data'),
- ('horizon/lib',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/hogan/data'),
- ('horizon/lib/font-awesome',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/font_awesome/data'),
- ('horizon/lib/jasmine-1.3.1',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jasmine/data'),
- ('horizon/lib/jquery',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery/data'),
- ('horizon/lib/jquery',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_migrate/data'),
- ('horizon/lib/jquery',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_quicksearch/data'),
- ('horizon/lib/jquery',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_tablesorter/data'),
- ('horizon/lib/jsencrypt',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jsencrypt/data'),
- ('horizon/lib/qunit',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/qunit/data'),
- ('horizon/lib',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/rickshaw/data'),
- ('horizon/lib',
- '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/spin/data'))
- PREPEND_WWW
- False
- SECURE_PROXY_SSL_HEADER
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular/data'),
+ ('horizon/lib/angular',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular_cookies/data'),
+ ('horizon/lib/angular',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular_mock/data'),
+ ('horizon/lib/bootstrap_datepicker',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/bootstrap_datepicker/data'),
+ ('horizon/lib', '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/d3/data'),
+ ('horizon/lib',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/hogan/data'),
+ ('horizon/lib/font-awesome',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/font_awesome/data'),
+ ('horizon/lib/jasmine-1.3.1',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jasmine/data'),
+ ('horizon/lib/jquery',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery/data'),
+ ('horizon/lib/jquery',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_migrate/data'),
+ ('horizon/lib/jquery',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_quicksearch/data'),
+ ('horizon/lib/jquery',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_tablesorter/data'),
+ ('horizon/lib/jsencrypt',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jsencrypt/data'),
+ ('horizon/lib/qunit',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/qunit/data'),
+ ('horizon/lib',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/rickshaw/data'),
+ ('horizon/lib',
+ '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/spin/data'))
+ PREPEND_WWW
+ False
+ SECURE_PROXY_SSL_HEADER
None
- LOCAL_PATH
+ LOCAL_PATH
'/opt/stack/horizon/openstack_dashboard/local'
- SESSION_COOKIE_HTTPONLY
- True
- DEBUG_PROPAGATE_EXCEPTIONS
- False
- MONTH_DAY_FORMAT
+ SESSION_COOKIE_HTTPONLY
+ True
+ DEBUG_PROPAGATE_EXCEPTIONS
+ False
+ MONTH_DAY_FORMAT
'F j'
- LOGIN_URL
+ LOGIN_URL
'/auth/login/'
- POLICY_CHECK_FUNCTION
+ POLICY_CHECK_FUNCTION
''
- OPENSTACK_KEYSTONE_URL
- u'********************'
- SECURITY_GROUP_RULES
+ OPENSTACK_KEYSTONE_URL
+ u'********************'
+ SECURITY_GROUP_RULES
{'all_icmp': {'from_port': '-1',
- 'ip_protocol': 'icmp',
- 'name': <django.utils.functional.__proxy__ object at 0x7f894f6cee50>,
- 'to_port': '-1'},
- 'all_tcp': {'from_port': '1',
- 'ip_protocol': 'tcp',
- 'name': <django.utils.functional.__proxy__ object at 0x7f894f6cedd0>,
- 'to_port': '65535'},
- 'all_udp': {'from_port': '1',
- 'ip_protocol': 'udp',
- 'name': <django.utils.functional.__proxy__ object at 0x7f894f6cee10>,
- 'to_port': '65535'},
- 'dns': {'from_port': '53',
- 'ip_protocol': 'tcp',
- 'name': 'DNS',
- 'to_port': '53'},
- 'http': {'from_port': '80',
- 'ip_protocol': 'tcp',
- 'name': 'HTTP',
- 'to_port': '80'},
- 'https': {'from_port': '443',
- 'ip_protocol': 'tcp',
- 'name': 'HTTPS',
- 'to_port': '443'},
- 'imap': {'from_port': '143',
- 'ip_protocol': 'tcp',
- 'name': 'IMAP',
- 'to_port': '143'},
- 'imaps': {'from_port': '993',
- 'ip_protocol': 'tcp',
- 'name': 'IMAPS',
- 'to_port': '993'},
- 'ldap': {'from_port': '389',
- 'ip_protocol': 'tcp',
- 'name': 'LDAP',
- 'to_port': '389'},
- 'ms_sql': {'from_port': '1433',
- 'ip_protocol': 'tcp',
- 'name': 'MS SQL',
- 'to_port': '1433'},
- 'mysql': {'from_port': '3306',
- 'ip_protocol': 'tcp',
- 'name': 'MYSQL',
- 'to_port': '3306'},
- 'pop3': {'from_port': '110',
- 'ip_protocol': 'tcp',
- 'name': 'POP3',
- 'to_port': '110'},
- 'pop3s': {'from_port': '995',
- 'ip_protocol': 'tcp',
- 'name': 'POP3S',
- 'to_port': '995'},
- 'rdp': {'from_port': '3389',
- 'ip_protocol': 'tcp',
- 'name': 'RDP',
- 'to_port': '3389'},
- 'smtp': {'from_port': '25',
- 'ip_protocol': 'tcp',
- 'name': 'SMTP',
- 'to_port': '25'},
- 'smtps': {'from_port': '465',
- 'ip_protocol': 'tcp',
- 'name': 'SMTPS',
- 'to_port': '465'},
- 'ssh': {'from_port': '22',
- 'ip_protocol': 'tcp',
- 'name': 'SSH',
- 'to_port': '22'}}
- TIME_FORMAT
+ 'ip_protocol': 'icmp',
+ 'name': <django.utils.functional.__proxy__ object at 0x7f894f6cee50>,
+ 'to_port': '-1'},
+ 'all_tcp': {'from_port': '1',
+ 'ip_protocol': 'tcp',
+ 'name': <django.utils.functional.__proxy__ object at 0x7f894f6cedd0>,
+ 'to_port': '65535'},
+ 'all_udp': {'from_port': '1',
+ 'ip_protocol': 'udp',
+ 'name': <django.utils.functional.__proxy__ object at 0x7f894f6cee10>,
+ 'to_port': '65535'},
+ 'dns': {'from_port': '53',
+ 'ip_protocol': 'tcp',
+ 'name': 'DNS',
+ 'to_port': '53'},
+ 'http': {'from_port': '80',
+ 'ip_protocol': 'tcp',
+ 'name': 'HTTP',
+ 'to_port': '80'},
+ 'https': {'from_port': '443',
+ 'ip_protocol': 'tcp',
+ 'name': 'HTTPS',
+ 'to_port': '443'},
+ 'imap': {'from_port': '143',
+ 'ip_protocol': 'tcp',
+ 'name': 'IMAP',
+ 'to_port': '143'},
+ 'imaps': {'from_port': '993',
+ 'ip_protocol': 'tcp',
+ 'name': 'IMAPS',
+ 'to_port': '993'},
+ 'ldap': {'from_port': '389',
+ 'ip_protocol': 'tcp',
+ 'name': 'LDAP',
+ 'to_port': '389'},
+ 'ms_sql': {'from_port': '1433',
+ 'ip_protocol': 'tcp',
+ 'name': 'MS SQL',
+ 'to_port': '1433'},
+ 'mysql': {'from_port': '3306',
+ 'ip_protocol': 'tcp',
+ 'name': 'MYSQL',
+ 'to_port': '3306'},
+ 'pop3': {'from_port': '110',
+ 'ip_protocol': 'tcp',
+ 'name': 'POP3',
+ 'to_port': '110'},
+ 'pop3s': {'from_port': '995',
+ 'ip_protocol': 'tcp',
+ 'name': 'POP3S',
+ 'to_port': '995'},
+ 'rdp': {'from_port': '3389',
+ 'ip_protocol': 'tcp',
+ 'name': 'RDP',
+ 'to_port': '3389'},
+ 'smtp': {'from_port': '25',
+ 'ip_protocol': 'tcp',
+ 'name': 'SMTP',
+ 'to_port': '25'},
+ 'smtps': {'from_port': '465',
+ 'ip_protocol': 'tcp',
+ 'name': 'SMTPS',
+ 'to_port': '465'},
+ 'ssh': {'from_port': '22',
+ 'ip_protocol': 'tcp',
+ 'name': 'SSH',
+ 'to_port': '22'}}
+ TIME_FORMAT
'P'
- COMPRESS_STORAGE
+ COMPRESS_STORAGE
u'compressor.storage.CompressorFileStorage'
- HORIZON_CONFIG
+ HORIZON_CONFIG
{'ajax_queue_limit': 10,
- 'angular_modules': [],
- 'auto_fade_alerts': {'delay': 3000,
- 'fade_duration': 1500,
- 'types': ['alert-success', 'alert-info']},
- 'dashboards': ('project', 'admin', 'settings', 'identity'),
- 'default_dashboard': 'project',
- 'exceptions': {'not_found': (<class 'keystoneclient.openstack.common.apiclient.exceptions.NotFound'>,
- <class 'cinderclient.exceptions.NotFound'>,
- <class 'novaclient.exceptions.NotFound'>,
- <class 'glanceclient.exc.NotFound'>,
- <class 'neutronclient.common.exceptions.NotFound'>,
- <class 'heatclient.exc.HTTPNotFound'>,
- <class 'troveclient.exceptions.NotFound'>),
- 'recoverable': (<class 'keystoneclient.openstack.common.apiclient.exceptions.ClientException'>,
- <class 'keystoneclient.openstack.common.apiclient.exceptions.AuthorizationFailure'>,
- <class 'keystoneclient.openstack.common.apiclient.exceptions.Forbidden'>,
- <class 'cinderclient.exceptions.ClientException'>,
- <class 'cinderclient.exceptions.ConnectionError'>,
- <class 'cinderclient.exceptions.Forbidden'>,
- <class 'novaclient.exceptions.ClientException'>,
- <class 'novaclient.exceptions.Forbidden'>,
- <class 'glanceclient.exc.ClientException'>,
- <class 'neutronclient.common.exceptions.Forbidden'>,
- <class 'neutronclient.common.exceptions.NeutronClientException'>,
- <class 'swiftclient.exceptions.ClientException'>,
- <class 'heatclient.exc.HTTPForbidden'>,
- <class 'heatclient.exc.HTTPException'>,
- <class 'troveclient.exceptions.ClientException'>,
- <class 'saharaclient.api.base.APIException'>,
- <class 'requests.exceptions.RequestException'>),
- 'unauthorized': (<class 'keystoneclient.openstack.common.apiclient.exceptions.Unauthorized'>,
- <class 'cinderclient.exceptions.Unauthorized'>,
- <class 'novaclient.exceptions.Unauthorized'>,
- <class 'glanceclient.exc.Unauthorized'>,
- <class 'neutronclient.common.exceptions.Unauthorized'>,
- <class 'heatclient.exc.HTTPUnauthorized'>,
- <class 'troveclient.exceptions.Unauthorized'>)},
- 'help_url': 'http://docs.openstack.org',
- 'js_files': [],
- 'panel_customization': [],
- 'user_home': 'openstack_dashboard.views.get_user_home'}
- AUTH_USER_MODEL
+ 'angular_modules': [],
+ 'auto_fade_alerts': {'delay': 3000,
+ 'fade_duration': 1500,
+ 'types': ['alert-success', 'alert-info']},
+ 'dashboards': ('project', 'admin', 'settings', 'identity'),
+ 'default_dashboard': 'project',
+ 'exceptions': {'not_found': (<class 'keystoneclient.openstack.common.apiclient.exceptions.NotFound'>,
+ <class 'cinderclient.exceptions.NotFound'>,
+ <class 'novaclient.exceptions.NotFound'>,
+ <class 'glanceclient.exc.NotFound'>,
+ <class 'neutronclient.common.exceptions.NotFound'>,
+ <class 'heatclient.exc.HTTPNotFound'>,
+ <class 'troveclient.exceptions.NotFound'>),
+ 'recoverable': (<class 'keystoneclient.openstack.common.apiclient.exceptions.ClientException'>,
+ <class 'keystoneclient.openstack.common.apiclient.exceptions.AuthorizationFailure'>,
+ <class 'keystoneclient.openstack.common.apiclient.exceptions.Forbidden'>,
+ <class 'cinderclient.exceptions.ClientException'>,
+ <class 'cinderclient.exceptions.ConnectionError'>,
+ <class 'cinderclient.exceptions.Forbidden'>,
+ <class 'novaclient.exceptions.ClientException'>,
+ <class 'novaclient.exceptions.Forbidden'>,
+ <class 'glanceclient.exc.ClientException'>,
+ <class 'neutronclient.common.exceptions.Forbidden'>,
+ <class 'neutronclient.common.exceptions.NeutronClientException'>,
+ <class 'swiftclient.exceptions.ClientException'>,
+ <class 'heatclient.exc.HTTPForbidden'>,
+ <class 'heatclient.exc.HTTPException'>,
+ <class 'troveclient.exceptions.ClientException'>,
+ <class 'saharaclient.api.base.APIException'>,
+ <class 'requests.exceptions.RequestException'>),
+ 'unauthorized': (<class 'keystoneclient.openstack.common.apiclient.exceptions.Unauthorized'>,
+ <class 'cinderclient.exceptions.Unauthorized'>,
+ <class 'novaclient.exceptions.Unauthorized'>,
+ <class 'glanceclient.exc.Unauthorized'>,
+ <class 'neutronclient.common.exceptions.Unauthorized'>,
+ <class 'heatclient.exc.HTTPUnauthorized'>,
+ <class 'troveclient.exceptions.Unauthorized'>)},
+ 'help_url': 'http://docs.openstack.org',
+ 'js_files': [],
+ 'panel_customization': [],
+ 'user_home': 'openstack_dashboard.views.get_user_home'}
+ AUTH_USER_MODEL
'auth.User'
- DATE_INPUT_FORMATS
+ 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')
- COMPRESS_CSS_FILTERS
+ '%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')
+ COMPRESS_CSS_FILTERS
('compressor.filters.css_default.CssAbsoluteFilter',)
- AUTHENTICATION_BACKENDS
+ AUTHENTICATION_BACKENDS
('openstack_auth.backend.KeystoneBackend',)
- EMAIL_HOST_PASSWORD
- u'********************'
- COMPRESS_REBUILD_TIMEOUT
+ EMAIL_HOST_PASSWORD
+ u'********************'
+ COMPRESS_REBUILD_TIMEOUT
2592000
- PASSWORD_RESET_TIMEOUT_DAYS
- u'********************'
- CACHE_MIDDLEWARE_ALIAS
+ PASSWORD_RESET_TIMEOUT_DAYS
+ u'********************'
+ CACHE_MIDDLEWARE_ALIAS
'default'
- ROOT_PATH
+ ROOT_PATH
'/opt/stack/horizon/openstack_dashboard'
- SESSION_SAVE_EVERY_REQUEST
- False
- NUMBER_GROUPING
+ SESSION_SAVE_EVERY_REQUEST
+ False
+ NUMBER_GROUPING
0
- SESSION_ENGINE
+ SESSION_ENGINE
'django.contrib.sessions.backends.signed_cookies'
- COMPRESS_YUGLIFY_BINARY
+ COMPRESS_YUGLIFY_BINARY
u'yuglify'
- CSRF_FAILURE_VIEW
+ CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
- CSRF_COOKIE_PATH
+ CSRF_COOKIE_PATH
'/'
- COMPRESS_CACHE_KEY_FUNCTION
- u'********************'
- LOGIN_REDIRECT_URL
+ COMPRESS_CACHE_KEY_FUNCTION
+ u'********************'
+ LOGIN_REDIRECT_URL
'/'
- DECIMAL_SEPARATOR
+ DECIMAL_SEPARATOR
'.'
- COMPRESS_PRECOMPILERS
+ COMPRESS_PRECOMPILERS
(('text/scss', 'django_pyscss.compressor.DjangoScssFilter'),)
- COMPRESS_MTIME_DELAY
+ COMPRESS_MTIME_DELAY
10
- LOCALE_PATHS
+ LOCALE_PATHS
()
- TEMPLATE_STRING_IF_INVALID
+ TEMPLATE_STRING_IF_INVALID
''
- LOGOUT_URL
+ LOGOUT_URL
'/auth/logout/'
- EMAIL_USE_TLS
- False
- TEMPLATE_DIRS
+ EMAIL_USE_TLS
+ False
+ TEMPLATE_DIRS
('/opt/stack/horizon/openstack_dashboard/templates',)
- FIXTURE_DIRS
+ FIXTURE_DIRS
()
- EMAIL_HOST
+ EMAIL_HOST
'localhost'
- DATE_FORMAT
+ DATE_FORMAT
'N j, Y'
- SESSION_COOKIE_MAX_SIZE
+ SESSION_COOKIE_MAX_SIZE
4093
- MEDIA_ROOT
+ MEDIA_ROOT
'/opt/stack/horizon/media'
- DEFAULT_EXCEPTION_REPORTER_FILTER
+ DEFAULT_EXCEPTION_REPORTER_FILTER
'horizon.exceptions.HorizonReporterFilter'
- ADMINS
+ ADMINS
()
- SESSION_TIMEOUT
+ SESSION_TIMEOUT
1800
- FORMAT_MODULE_PATH
+ FORMAT_MODULE_PATH
None
- DEFAULT_FROM_EMAIL
+ DEFAULT_FROM_EMAIL
'webmaster@localhost'
- COMPRESS_ROOT
+ COMPRESS_ROOT
'/opt/stack/horizon/static'
- MEDIA_URL
+ MEDIA_URL
'/media/'
- DATETIME_FORMAT
+ DATETIME_FORMAT
'N j, Y, P'
- COMPRESS_YUI_JS_ARGUMENTS
+ COMPRESS_YUI_JS_ARGUMENTS
u''
- OPENSTACK_KEYSTONE_BACKEND
- u'********************'
- API_RESULT_PAGE_SIZE
- u'********************'
- OPENSTACK_KEYSTONE_DEFAULT_ROLE
- u'********************'
- COMPRESS_JS_COMPRESSOR
+ OPENSTACK_KEYSTONE_BACKEND
+ u'********************'
+ API_RESULT_PAGE_SIZE
+ u'********************'
+ OPENSTACK_KEYSTONE_DEFAULT_ROLE
+ u'********************'
+ COMPRESS_JS_COMPRESSOR
u'compressor.js.JsCompressor'
- DISALLOWED_USER_AGENTS
+ DISALLOWED_USER_AGENTS
()
- ALLOWED_INCLUDE_ROOTS
+ ALLOWED_INCLUDE_ROOTS
()
- COMPRESS_MINT_DELAY
+ COMPRESS_MINT_DELAY
30
- LOGGING
+ LOGGING
{'disable_existing_loggers': False,
- 'handlers': {'console': {'class': 'logging.StreamHandler', 'level': 'INFO'},
- 'null': {'class': 'django.utils.log.NullHandler',
- 'level': 'DEBUG'}},
- 'loggers': {'ceilometerclient': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'cinderclient': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'django': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'django.db.backends': {'handlers': ['null'], 'propagate': False},
- 'glanceclient': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'heatclient': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'horizon': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'iso8601': {'handlers': ['null'], 'propagate': False},
- 'keystoneclient': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'neutronclient': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'nose.plugins.manager': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'novaclient': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'openstack_auth': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'openstack_dashboard': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'requests': {'handlers': ['null'], 'propagate': False},
- 'scss': {'handlers': ['null'], 'propagate': False},
- 'swiftclient': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False},
- 'troveclient': {'handlers': ['console'],
- 'level': 'DEBUG',
- 'propagate': False}},
- 'version': 1}
- SHORT_DATE_FORMAT
+ 'handlers': {'console': {'class': 'logging.StreamHandler', 'level': 'INFO'},
+ 'null': {'class': 'django.utils.log.NullHandler',
+ 'level': 'DEBUG'}},
+ 'loggers': {'ceilometerclient': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'cinderclient': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'django': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'django.db.backends': {'handlers': ['null'], 'propagate': False},
+ 'glanceclient': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'heatclient': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'horizon': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'iso8601': {'handlers': ['null'], 'propagate': False},
+ 'keystoneclient': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'neutronclient': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'nose.plugins.manager': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'novaclient': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'openstack_auth': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'openstack_dashboard': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'requests': {'handlers': ['null'], 'propagate': False},
+ 'scss': {'handlers': ['null'], 'propagate': False},
+ 'swiftclient': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False},
+ 'troveclient': {'handlers': ['console'],
+ 'level': 'DEBUG',
+ 'propagate': False}},
+ 'version': 1}
+ SHORT_DATE_FORMAT
'm/d/Y'
- TEST_RUNNER
+ TEST_RUNNER
'django_nose.NoseTestSuiteRunner'
- COMPRESS_ENABLED
- True
- OPENSTACK_HYPERVISOR_FEATURES
+ COMPRESS_ENABLED
+ True
+ OPENSTACK_HYPERVISOR_FEATURES
{'can_set_mount_point': False, 'can_set_password': False}
- CACHE_MIDDLEWARE_KEY_PREFIX
- u'********************'
- COMPRESS_OFFLINE
- False
- TIME_ZONE
+ CACHE_MIDDLEWARE_KEY_PREFIX
+ u'********************'
+ COMPRESS_OFFLINE
+ False
+ TIME_ZONE
'UTC'
- FILE_UPLOAD_MAX_MEMORY_SIZE
+ FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
- COMPRESS_YUGLIFY_CSS_ARGUMENTS
+ COMPRESS_YUGLIFY_CSS_ARGUMENTS
u'--terminal'
- EMAIL_BACKEND
+ EMAIL_BACKEND
'django.core.mail.backends.console.EmailBackend'
- COMPRESS_JINJA2_GET_ENVIRONMENT
+ COMPRESS_JINJA2_GET_ENVIRONMENT
<jinja2.environment.Environment object at 0x7f894c2ee990>
- DEFAULT_TABLESPACE
+ DEFAULT_TABLESPACE
''
- TEMPLATE_CONTEXT_PROCESSORS
+ TEMPLATE_CONTEXT_PROCESSORS
('django.core.context_processors.debug',
- 'django.core.context_processors.i18n',
- 'django.core.context_processors.request',
- 'django.core.context_processors.media',
- 'django.core.context_processors.static',
- 'django.contrib.messages.context_processors.messages',
- 'horizon.context_processors.horizon',
- 'openstack_dashboard.context_processors.openstack')
- OPENSTACK_IMAGE_BACKEND
+ 'django.core.context_processors.i18n',
+ 'django.core.context_processors.request',
+ 'django.core.context_processors.media',
+ 'django.core.context_processors.static',
+ 'django.contrib.messages.context_processors.messages',
+ 'horizon.context_processors.horizon',
+ 'openstack_dashboard.context_processors.openstack')
+ OPENSTACK_IMAGE_BACKEND
{'image_formats': [('',
- <django.utils.functional.__proxy__ object at 0x7f894f6a12d0>),
- ('aki',
- <django.utils.functional.__proxy__ object at 0x7f894f6a13d0>),
- ('ami',
- <django.utils.functional.__proxy__ object at 0x7f894f6a1410>),
- ('ari',
- <django.utils.functional.__proxy__ object at 0x7f894f6a1450>),
- ('iso',
- <django.utils.functional.__proxy__ object at 0x7f894f6a1a50>),
- ('qcow2',
- <django.utils.functional.__proxy__ object at 0x7f894f6a1ad0>),
- ('raw',
- <django.utils.functional.__proxy__ object at 0x7f894f6a1b10>),
- ('vdi',
- <django.utils.functional.__proxy__ object at 0x7f894f6a1b50>),
- ('vhd',
- <django.utils.functional.__proxy__ object at 0x7f894f6a1b90>),
- ('vmdk',
- <django.utils.functional.__proxy__ object at 0x7f894f6a1bd0>)]}
- OPENSTACK_HOST
+ <django.utils.functional.__proxy__ object at 0x7f894f6a12d0>),
+ ('aki',
+ <django.utils.functional.__proxy__ object at 0x7f894f6a13d0>),
+ ('ami',
+ <django.utils.functional.__proxy__ object at 0x7f894f6a1410>),
+ ('ari',
+ <django.utils.functional.__proxy__ object at 0x7f894f6a1450>),
+ ('iso',
+ <django.utils.functional.__proxy__ object at 0x7f894f6a1a50>),
+ ('qcow2',
+ <django.utils.functional.__proxy__ object at 0x7f894f6a1ad0>),
+ ('raw',
+ <django.utils.functional.__proxy__ object at 0x7f894f6a1b10>),
+ ('vdi',
+ <django.utils.functional.__proxy__ object at 0x7f894f6a1b50>),
+ ('vhd',
+ <django.utils.functional.__proxy__ object at 0x7f894f6a1b90>),
+ ('vmdk',
+ <django.utils.functional.__proxy__ object at 0x7f894f6a1bd0>)]}
+ OPENSTACK_HOST
'192.168.1.101'
- SESSION_COOKIE_AGE
+ SESSION_COOKIE_AGE
1209600
- SETTINGS_MODULE
+ SETTINGS_MODULE
'openstack_dashboard.settings'
- USE_ETAGS
- False
- LANGUAGES
+ USE_ETAGS
+ False
+ LANGUAGES
(('de', 'German'),
- ('en', 'English'),
- ('en-au', 'Australian English'),
- ('en-gb', 'British English'),
- ('es', 'Spanish'),
- ('fr', 'French'),
- ('hi', 'Hindi'),
- ('ja', 'Japanese'),
- ('ko', 'Korean (Korea)'),
- ('nl', 'Dutch (Netherlands)'),
- ('pl', 'Polish'),
- ('pt-br', 'Portuguese (Brazil)'),
- ('sr', 'Serbian'),
- ('zh-cn', 'Simplified Chinese'),
- ('zh-tw', 'Chinese (Taiwan)'))
- COMPRESS_CLOSURE_COMPILER_BINARY
+ ('en', 'English'),
+ ('en-au', 'Australian English'),
+ ('en-gb', 'British English'),
+ ('es', 'Spanish'),
+ ('fr', 'French'),
+ ('hi', 'Hindi'),
+ ('ja', 'Japanese'),
+ ('ko', 'Korean (Korea)'),
+ ('nl', 'Dutch (Netherlands)'),
+ ('pl', 'Polish'),
+ ('pt-br', 'Portuguese (Brazil)'),
+ ('sr', 'Serbian'),
+ ('zh-cn', 'Simplified Chinese'),
+ ('zh-tw', 'Chinese (Taiwan)'))
+ COMPRESS_CLOSURE_COMPILER_BINARY
u'java -jar compiler.jar'
- FILE_UPLOAD_TEMP_DIR
+ FILE_UPLOAD_TEMP_DIR
None
- INTERNAL_IPS
+ INTERNAL_IPS
()
- STATIC_URL
+ STATIC_URL
'/static/'
- EMAIL_PORT
+ EMAIL_PORT
25
- USE_TZ
- True
- SHORT_DATETIME_FORMAT
+ USE_TZ
+ True
+ SHORT_DATETIME_FORMAT
'm/d/Y P'
- PASSWORD_HASHERS
- u'********************'
- ABSOLUTE_URL_OVERRIDES
+ PASSWORD_HASHERS
+ u'********************'
+ ABSOLUTE_URL_OVERRIDES
{}
- CACHE_MIDDLEWARE_SECONDS
+ CACHE_MIDDLEWARE_SECONDS
600
- CSRF_COOKIE_HTTPONLY
- False
- DATETIME_INPUT_FORMATS
+ CSRF_COOKIE_HTTPONLY
+ False
+ DATETIME_INPUT_FORMATS
('%Y-%m-%d %H:%M:%S',
- '%Y-%m-%d %H:%M:%S.%f',
- '%Y-%m-%d %H:%M',
- '%Y-%m-%d',
- '%m/%d/%Y %H:%M:%S',
- '%m/%d/%Y %H:%M:%S.%f',
- '%m/%d/%Y %H:%M',
- '%m/%d/%Y',
- '%m/%d/%y %H:%M:%S',
- '%m/%d/%y %H:%M:%S.%f',
- '%m/%d/%y %H:%M',
- '%m/%d/%y')
- API_RESULT_LIMIT
- u'********************'
- PROFANITIES_LIST
- u'********************'
- EMAIL_HOST_USER
+ '%Y-%m-%d %H:%M:%S.%f',
+ '%Y-%m-%d %H:%M',
+ '%Y-%m-%d',
+ '%m/%d/%Y %H:%M:%S',
+ '%m/%d/%Y %H:%M:%S.%f',
+ '%m/%d/%Y %H:%M',
+ '%m/%d/%Y',
+ '%m/%d/%y %H:%M:%S',
+ '%m/%d/%y %H:%M:%S.%f',
+ '%m/%d/%y %H:%M',
+ '%m/%d/%y')
+ API_RESULT_LIMIT
+ u'********************'
+ PROFANITIES_LIST
+ u'********************'
+ EMAIL_HOST_USER
''
- OPENSTACK_CINDER_FEATURES
+ OPENSTACK_CINDER_FEATURES
{'enable_backup': False}
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1383630
Title:
TemplateSyntaxError at /identity/users/ when filter button is
clicked in user panel under Identity dashboard
Status in OpenStack Dashboard (Horizon):
New
Bug description:
Testing step :
1:git clone https://github.com/openstack-dev/devstack.git
2:cd devstack && ./stack.sh
3:login as admin and go to user panel under Identity dashboard
4:type demo and click filter button
5:browser report the following error
TemplateSyntaxError at /identity/users/
'NoneType' object has no attribute 'lower'
Request Method: POST
Request URL: http://192.168.1.101/identity/users/
Django Version: 1.6.5
Exception Type: TemplateSyntaxError
Exception Value:
'NoneType' object has no attribute 'lower'
Exception Location: /opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/identity/users/tables.py in filter, line 159
Python Executable: /usr/bin/python
Python Version: 2.7.6
Python Path:
['/opt/stack/horizon/openstack_dashboard/wsgi/../..',
'/opt/stack/python-keystoneclient',
'/opt/stack/python-glanceclient',
'/opt/stack/python-cinderclient',
'/opt/stack/python-novaclient',
'/opt/stack/python-swiftclient',
'/opt/stack/python-neutronclient',
'/opt/stack/python-heatclient',
'/opt/stack/python-openstackclient',
'/opt/stack/keystone',
'/opt/stack/glance',
'/opt/stack/cinder',
'/opt/stack/nova',
'/opt/stack/horizon',
'/opt/stack/heat',
'/opt/stack/tempest',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/opt/stack/horizon/openstack_dashboard']
Server time: Tue, 21 Oct 2014 09:15:45 +0000
Error during template rendering
In template /opt/stack/horizon/horizon/templates/horizon/common/_data_table.html, error at line 5
'NoneType' object has no attribute 'lower'
1 {% load i18n %}
2 {% with table.needs_form_wrapper as needs_form_wrapper %}
3 <div class="table_wrapper">
4 {% if needs_form_wrapper %}<form action="{{ table.get_full_url }}" method="POST">{% csrf_token %}{% endif %}
5 {% with columns=table.get_columns rows=table.get_rows %}
6 {% block table %}
7 <table id="{{ table.slugify_name }}" class="{% block table_css_classes %}table table-bordered table-striped datatable {{ table.css_classes }}{% endblock %}">
8 <thead>
9 {% block table_caption %}
10 <tr class='table_caption'>
11 <th class='table_header' colspan='{{ columns|length }}'>
12 <h3 class='table_title'>{{ table }}</h3>
13 {{ table.render_table_actions }}
14 </th>
15 </tr>
Traceback Switch to copy-and-paste view
/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response
response = response.render() ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/response.py in render
self.content = self.rendered_content ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/response.py in rendered_content
content = template.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
return self._render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _render
return self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py in render
return compiled_parent._render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _render
return self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py in render
result = block.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/loader_tags.py in render
result = block.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render
output = self.filter_expression.resolve(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
obj = self.var.resolve(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
value = self._resolve_lookup(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _resolve_lookup
current = current() ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in render
return table_template.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
return self._render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _render
return self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py in render
output = self.nodelist.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in render
bit = self.render_node(node, context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/debug.py in render_node
return node.render(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py in render
six.iteritems(self.extra_context)]) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
obj = self.var.resolve(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in resolve
value = self._resolve_lookup(context) ...
? Local vars
/usr/local/lib/python2.7/dist-packages/django/template/base.py in _resolve_lookup
current = current() ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in get_rows
exc_info[2]) ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in get_rows
for datum in self.filtered_data: ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/tables/base.py in filtered_data
filter_string) ...
? Local vars
/opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/identity/users/tables.py in filter
or q in getattr(user, 'email', '').lower()] ...
? Local vars
Request information
GET
No GET data
POST
Variable Value
csrfmiddlewaretoken
u'ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1'
users__filter__q
u'do'
FILES
No FILES data
COOKIES
Variable Value
csrftoken
'ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1'
horizon_language
'en'
horizon_pagesize
'20'
sessionid
'.eJytV1tz20QULmkStw5JeqFJA6UNUIoLxN6LpJVKC_RCYYApM5lqxi8Zz2ovkYgteS0pbR80Ay_8TH4LR7IcCoxlQ_GMx7va1Tnn-863Z49_WSnMWx1_K49TkYyVHGTJiYr9faYVtzyNEREES0E9RxNsK8YkF0wI5LfyVE0Gkezvnzt3zlUBd5hCGCNsScZcbAUeCbSwEUFKMLPib0zUcZTEg5iPlL_1RGmeD7P9w-qhvzngeRYOapPhir9d71axHCdRnPVvgpcwy8b3ej3skS523C7ugrd7NkKod0q6yJz3t-H900iodDB9vX8R3pq6-ClWZtXfjUb8GJYHOhpm4GtgYKSGsr8KG8vI-m0YZCrNRJKcRKq_DtMXyeRESf_KazEGXABL0r8DlMVpBrNqsVs_7_6gXqVZEqtH9b7NIU-zARdZdBplr76_f_vpc3-tYlr8zUJpvv28XGmbtbu_mvXCtDr-ukxGPIrNhcJc7PgrkTTtZ_5qGbDZeJb7WzXuxzzjw-TYvH1kNjuF2epUBMw4TM32kblUmMud_gV4zOUoiv3DH82V_oN55LqMWUBuz1OESMeTzHaphS3PdeBLbc-xMZKu8iqeppybq-FqfwWmEOQ7lTg8zt1AI1cEWlvC1QEVCARFiC2V7XLR3yh3x5CPmA_LgK79DwGVwMd5MIxEaXHnzS3mvL_9OpmDYRSfpGb3qNJO9mqszPV-C4YiGY3zTJ1JyuxNh8kpzwvzbieELLxXmBudsJl4Z5mowqt_1Xg4pZw4yKaIC4tjzwpsx3M9jYQWjoftwJM0bKZ4OdfNpC5lI-fh7lF4vdLjaTLMR-qUhHvVVESxBFUT4Oz9irObhblVcnajOZN0DiXMlo60KZOUK0sRHmDiSE6UVJw6DHtAyULLOwu3zABd_FMI8N5edT5KBcCOwuxXeD4ozIclnr15Jil85oChLqdcChEwYNTxBMecaReSzpCmSDkAptnsTvP6DEZ5jtMy_ukAYv-oiv12YT5ujN0jHpkTO7alqylkXyNtcaZ4QAmIEgfCwohx3hR7ZbYh9nJ9FvtaWVXKcl_TfzzksVAA4U4F4ZPCdJrlVF0seN4JI8QRDAvKbccSlg5cW2KBkYU08VzLbZRTbblJTtMtMyxbpZyGSS51MhnxDCKpT0moeHYgdAyw7lawPi3MZ0tUFvxfK4utPe1SV2LkMcuhmgeQQEicJJJQzeTiyrKE64WVZbGNGXPrZ5WllsG0rgBfn1d8HRSmW_LVaXBIe7O-ovewvDTnUWMTy2GICsuzLYdoTyCsEVFCMUlEVXSX9PK4TDWw8G-2zwCfLy8pUVbRegRQexVUVBjcLA2ErDeQBvEC5EmOXItTy0WsbBklDaDuKu7gwGmUxrKum6SxpI0ZU5tgKJmIELq9yexMrdZnCkgjFWm0MFZJ2q255dKmNqsa0Hn1jnBOGLGhvBGoDkGAsUsJswjRRFGMgZbFzW24E55__bKMpIozaCXrMnBS95u58tcmyVClxj4yDrSADDaszZq9tDAuzC_VGAfTtjN5EatJCj151dlOG01owo3nt-S0Szf3_JZ6OY4mYPcLIXmmsmik2mcDc99vt35vX2uvWdUBSxO4inC3_m37mWibB3cPzZe_HZqv_NZ4kvysRGa-LszDTtie9ogLcmYehRtVcqQaJeZx7q-W0ZonhfkGTIQrsHoG0zzNqxb5W3_fdjSDfjOgtoOFy6BaKwHlGsqWwOBM-uuZinmcme_Ch3ngX_7H34P-boVoMknSA9SlXXLw0nUGjnWQK5F3_wB6239I:1XgVXY:bhv2HejeAfFWszWpeBAYDfWw3rg'
django_timezone
'Asia/Shanghai'
META
Variable Value
mod_wsgi.listener_port
'80'
HTTP_REFERER
'http://192.168.1.101/identity/users/'
mod_wsgi.listener_host
''
CONTEXT_DOCUMENT_ROOT
'/opt/stack/horizon/.blackhole/'
SERVER_SOFTWARE
'Apache/2.4.7 (Ubuntu)'
SCRIPT_NAME
u''
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
SERVER_SIGNATURE
'<address>Apache/2.4.7 (Ubuntu) Server at 192.168.1.101 Port 80</address>\n'
REQUEST_METHOD
'POST'
PATH_INFO
u'/identity/users/'
HTTP_ORIGIN
'http://192.168.1.101'
SERVER_PROTOCOL
'HTTP/1.1'
QUERY_STRING
''
CONTENT_LENGTH
'72'
HTTP_USER_AGENT
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36'
HTTP_CONNECTION
'keep-alive'
HTTP_COOKIE
'horizon_language=en; django_timezone="Asia/Shanghai"; horizon_pagesize=20; csrftoken=ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1; sessionid=".eJytV1tz20QULmkStw5JeqFJA6UNUIoLxN6LpJVKC_RCYYApM5lqxi8Zz2ovkYgteS0pbR80Ay_8TH4LR7IcCoxlQ_GMx7va1Tnn-863Z49_WSnMWx1_K49TkYyVHGTJiYr9faYVtzyNEREES0E9RxNsK8YkF0wI5LfyVE0Gkezvnzt3zlUBd5hCGCNsScZcbAUeCbSwEUFKMLPib0zUcZTEg5iPlL_1RGmeD7P9w-qhvzngeRYOapPhir9d71axHCdRnPVvgpcwy8b3ej3skS523C7ugrd7NkKod0q6yJz3t-H900iodDB9vX8R3pq6-ClWZtXfjUb8GJYHOhpm4GtgYKSGsr8KG8vI-m0YZCrNRJKcRKq_DtMXyeRESf_KazEGXABL0r8DlMVpBrNqsVs_7_6gXqVZEqtH9b7NIU-zARdZdBplr76_f_vpc3-tYlr8zUJpvv28XGmbtbu_mvXCtDr-ukxGPIrNhcJc7PgrkTTtZ_5qGbDZeJb7WzXuxzzjw-TYvH1kNjuF2epUBMw4TM32kblUmMud_gV4zOUoiv3DH82V_oN55LqMWUBuz1OESMeTzHaphS3PdeBLbc-xMZKu8iqeppybq-FqfwWmEOQ7lTg8zt1AI1cEWlvC1QEVCARFiC2V7XLR3yh3x5CPmA_LgK79DwGVwMd5MIxEaXHnzS3mvL_9OpmDYRSfpGb3qNJO9mqszPV-C4YiGY3zTJ1JyuxNh8kpzwvzbieELLxXmBudsJl4Z5mowqt_1Xg4pZw4yKaIC4tjzwpsx3M9jYQWjoftwJM0bKZ4OdfNpC5lI-fh7lF4vdLjaTLMR-qUhHvVVESxBFUT4Oz9irObhblVcnajOZN0DiXMlo60KZOUK0sRHmDiSE6UVJw6DHtAyULLOwu3zABd_FMI8N5edT5KBcCOwuxXeD4ozIclnr15Jil85oChLqdcChEwYNTxBMecaReSzpCmSDkAptnsTvP6DEZ5jtMy_ukAYv-oiv12YT5ujN0jHpkTO7alqylkXyNtcaZ4QAmIEgfCwohx3hR7ZbYh9nJ9FvtaWVXKcl_TfzzksVAA4U4F4ZPCdJrlVF0seN4JI8QRDAvKbccSlg5cW2KBkYU08VzLbZRTbblJTtMtMyxbpZyGSS51MhnxDCKpT0moeHYgdAyw7lawPi3MZ0tUFvxfK4utPe1SV2LkMcuhmgeQQEicJJJQzeTiyrKE64WVZbGNGXPrZ5WllsG0rgBfn1d8HRSmW_LVaXBIe7O-ovewvDTnUWMTy2GICsuzLYdoTyCsEVFCMUlEVXSX9PK4TDWw8G-2zwCfLy8pUVbRegRQexVUVBjcLA2ErDeQBvEC5EmOXItTy0WsbBklDaDuKu7gwGmUxrKum6SxpI0ZU5tgKJmIELq9yexMrdZnCkgjFWm0MFZJ2q255dKmNqsa0Hn1jnBOGLGhvBGoDkGAsUsJswjRRFGMgZbFzW24E55__bKMpIozaCXrMnBS95u58tcmyVClxj4yDrSADDaszZq9tDAuzC_VGAfTtjN5EatJCj151dlOG01owo3nt-S0Szf3_JZ6OY4mYPcLIXmmsmik2mcDc99vt35vX2uvWdUBSxO4inC3_m37mWibB3cPzZe_HZqv_NZ4kvysRGa-LszDTtie9ogLcmYehRtVcqQaJeZx7q-W0ZonhfkGTIQrsHoG0zzNqxb5W3_fdjSDfjOgtoOFy6BaKwHlGsqWwOBM-uuZinmcme_Ch3ngX_7H34P-boVoMknSA9SlXXLw0nUGjnWQK5F3_wB6239I:1XgVXY:bhv2HejeAfFWszWpeBAYDfWw3rg"'
SERVER_NAME
'192.168.1.101'
REMOTE_ADDR
'192.168.1.100'
mod_wsgi.queue_start
'1413882945308681'
mod_wsgi.request_handler
'wsgi-script'
wsgi.url_scheme
'http'
APACHE_RUN_GROUP
'whg'
PATH_TRANSLATED
'/opt/stack/horizon/openstack_dashboard/wsgi/django.wsgi/identity/users/'
SERVER_PORT
'80'
wsgi.multiprocess
True
mod_wsgi.input_chunked
'0'
SERVER_ADDR
'192.168.1.101'
DOCUMENT_ROOT
'/opt/stack/horizon/.blackhole/'
mod_wsgi.process_group
'horizon'
SCRIPT_FILENAME
'/opt/stack/horizon/openstack_dashboard/wsgi/django.wsgi'
SERVER_ADMIN
'[no address given]'
wsgi.input
<mod_wsgi.Input object at 0x7f894c6933b0>
HTTP_HOST
'192.168.1.101'
CONTEXT_PREFIX
''
wsgi.multithread
True
mod_wsgi.callable_object
'application'
HTTP_CACHE_CONTROL
'max-age=0'
REQUEST_URI
'/identity/users/'
HTTP_ACCEPT
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
wsgi.version
(1, 0)
GATEWAY_INTERFACE
'CGI/1.1'
wsgi.run_once
False
APACHE_RUN_USER
'whg'
wsgi.errors
<mod_wsgi.Log object at 0x7f894c315a70>
REMOTE_PORT
'65469'
HTTP_ACCEPT_LANGUAGE
'en-US,zh-CN;q=0.8'
REQUEST_SCHEME
'http'
mod_wsgi.version
(3, 4)
CSRF_COOKIE_USED
True
CONTENT_TYPE
'application/x-www-form-urlencoded'
mod_wsgi.application_group
''
mod_wsgi.script_reloading
'1'
wsgi.file_wrapper
''
CSRF_COOKIE
u'ykIFbr6ReBRm34gUJ7yo6fRMW1OBKFX1'
HTTP_ACCEPT_ENCODING
'gzip,deflate'
Settings
Using settings module openstack_dashboard.settings
Setting Value
COMPRESS_URL
'/static/'
POLICY_FILES_PATH
'/opt/stack/horizon/openstack_dashboard/conf'
COMPRESS_OUTPUT_DIR
'dashboard'
COMPRESS_TEMPLATE_FILTER_CONTEXT
{u'STATIC_URL': '/static/'}
USE_L10N
True
COMPRESS_DATA_URI_MAX_SIZE
1024
CSRF_COOKIE_SECURE
False
LANGUAGE_CODE
'en'
ROOT_URLCONF
'openstack_dashboard.urls'
MANAGERS
()
COMPRESS_CSS_HASHING_METHOD
'hash'
SESSION_EXPIRE_AT_BROWSER_CLOSE
True
DEFAULT_CHARSET
'utf-8'
IGNORABLE_404_URLS
()
SESSION_SERIALIZER
'django.contrib.sessions.serializers.PickleSerializer'
STATIC_ROOT
'/opt/stack/horizon/static'
COMPRESS_CLOSURE_COMPILER_ARGUMENTS
u''
USE_THOUSAND_SEPARATOR
False
COMPRESS_OFFLINE_MANIFEST
u'manifest.json'
ALLOWED_HOSTS
[]
MESSAGE_STORAGE
'django.contrib.messages.storage.cookie.CookieStorage'
EMAIL_SUBJECT_PREFIX
'[Django] '
IMAGE_RESERVED_CUSTOM_PROPERTIES
[]
STATICFILES_FINDERS
('compressor.finders.CompressorFinder',
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder')
SESSION_CACHE_ALIAS
'default'
COMPRESS_CSSTIDY_ARGUMENTS
u'--template=highest'
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_NAME
'sessionid'
COMPRESS_YUGLIFY_JS_ARGUMENTS
u'--terminal'
ADMIN_FOR
()
TIME_INPUT_FORMATS
('%H:%M:%S', '%H:%M:%S.%f', '%H:%M')
DATABASES
{}
SITE_BRANDING
'OpenStack Dashboard'
COMPRESS_YUI_BINARY
u'java -jar yuicompressor.jar'
FILE_UPLOAD_PERMISSIONS
None
FILE_UPLOAD_HANDLERS
('django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler')
DEFAULT_CONTENT_TYPE
'text/html'
COMPRESS_CSS_COMPRESSOR
u'compressor.css.CssCompressor'
APPEND_SLASH
True
FIRST_DAY_OF_WEEK
0
DATABASE_ROUTERS
[]
OPENSTACK_NEUTRON_NETWORK
{'enable_distributed_router': True,
'enable_firewall': True,
'enable_ipv6': True,
'enable_lb': True,
'enable_quotas': True,
'enable_router': True,
'enable_vpn': True,
'profile_support': None,
'supported_provider_types': ['*']}
YEAR_MONTH_FORMAT
'F Y'
COMPRESS_OFFLINE_TIMEOUT
31536000
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
SERVER_EMAIL
'root@localhost'
SESSION_COOKIE_PATH
'/'
HORIZON_IMAGES_ALLOW_UPLOAD
True
COMPRESS_PARSER
'compressor.parser.HtmlParser'
COMPRESS_OFFLINE_CONTEXT
{'HORIZON_CONFIG': {'ajax_queue_limit': 10,
'angular_modules': [],
'auto_fade_alerts': {'delay': 3000,
'fade_duration': 1500,
'types': ['alert-success',
'alert-info']},
'dashboards': ('project',
'admin',
'settings',
'identity'),
'default_dashboard': 'project',
'exceptions': {'not_found': (<class 'keystoneclient.openstack.common.apiclient.exceptions.NotFound'>,
<class 'cinderclient.exceptions.NotFound'>,
<class 'novaclient.exceptions.NotFound'>,
<class 'glanceclient.exc.NotFound'>,
<class 'neutronclient.common.exceptions.NotFound'>,
<class 'heatclient.exc.HTTPNotFound'>,
<class 'troveclient.exceptions.NotFound'>),
'recoverable': (<class 'keystoneclient.openstack.common.apiclient.exceptions.ClientException'>,
<class 'keystoneclient.openstack.common.apiclient.exceptions.AuthorizationFailure'>,
<class 'keystoneclient.openstack.common.apiclient.exceptions.Forbidden'>,
<class 'cinderclient.exceptions.ClientException'>,
<class 'cinderclient.exceptions.ConnectionError'>,
<class 'cinderclient.exceptions.Forbidden'>,
<class 'novaclient.exceptions.ClientException'>,
<class 'novaclient.exceptions.Forbidden'>,
<class 'glanceclient.exc.ClientException'>,
<class 'neutronclient.common.exceptions.Forbidden'>,
<class 'neutronclient.common.exceptions.NeutronClientException'>,
<class 'swiftclient.exceptions.ClientException'>,
<class 'heatclient.exc.HTTPForbidden'>,
<class 'heatclient.exc.HTTPException'>,
<class 'troveclient.exceptions.ClientException'>,
<class 'saharaclient.api.base.APIException'>,
<class 'requests.exceptions.RequestException'>),
'unauthorized': (<class 'keystoneclient.openstack.common.apiclient.exceptions.Unauthorized'>,
<class 'cinderclient.exceptions.Unauthorized'>,
<class 'novaclient.exceptions.Unauthorized'>,
<class 'glanceclient.exc.Unauthorized'>,
<class 'neutronclient.common.exceptions.Unauthorized'>,
<class 'heatclient.exc.HTTPUnauthorized'>,
<class 'troveclient.exceptions.Unauthorized'>)},
'help_url': 'http://docs.openstack.org',
'js_files': [],
'panel_customization': [],
'user_home': 'openstack_dashboard.views.get_user_home'},
'STATIC_URL': '/static/'}
COMPRESS_CACHE_BACKEND
u'default'
MIDDLEWARE_CLASSES
('django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'horizon.middleware.HorizonMiddleware',
'django.middleware.doc.XViewMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
USE_I18N
True
THOUSAND_SEPARATOR
','
SECRET_KEY
u'********************'
LANGUAGE_COOKIE_NAME
'horizon_language'
DEFAULT_INDEX_TABLESPACE
''
BIN_DIR
'/opt/stack/horizon/bin'
TRANSACTIONS_MANAGED
False
LOGGING_CONFIG
'django.utils.log.dictConfig'
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SEND_BROKEN_LINK_EMAILS
False
TEMPLATE_LOADERS
('django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'horizon.loaders.TemplateLoader')
WSGI_APPLICATION
None
TEMPLATE_DEBUG
True
X_FRAME_OPTIONS
'SAMEORIGIN'
CSRF_COOKIE_NAME
'csrftoken'
POLICY_FILES
{'compute': 'nova_policy.json',
'identity': 'keystone_policy.json',
'image': 'glance_policy.json',
'network': 'neutron_policy.json',
'orchestration': 'heat_policy.json',
'volume': 'cinder_policy.json'}
FORCE_SCRIPT_NAME
None
USE_X_FORWARDED_HOST
False
COMPRESS_CSSTIDY_BINARY
u'csstidy'
SESSION_COOKIE_SECURE
False
IMAGE_CUSTOM_PROPERTY_TITLES
{'architecture': <django.utils.functional.__proxy__ object at 0x7f894f6cec50>,
'image_state': <django.utils.functional.__proxy__ object at 0x7f894f6ced10>,
'image_type': <django.utils.functional.__proxy__ object at 0x7f894f6ced90>,
'kernel_id': <django.utils.functional.__proxy__ object at 0x7f894f6cec90>,
'project_id': <django.utils.functional.__proxy__ object at 0x7f894f6ced50>,
'ramdisk_id': <django.utils.functional.__proxy__ object at 0x7f894f6cecd0>}
COMPRESS_DEBUG_TOGGLE
None
COMPRESS_VERBOSE
False
CSRF_COOKIE_DOMAIN
None
FILE_CHARSET
'utf-8'
DEBUG
True
SESSION_FILE_PATH
None
COMPRESS_JS_FILTERS
[u'compressor.filters.jsmin.JSMinFilter']
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
INSTALLED_APPS
['openstack_dashboard.dashboards.project',
'openstack_dashboard.dashboards.admin',
'openstack_dashboard.dashboards.identity',
'openstack_dashboard.dashboards.settings',
'openstack_dashboard',
'django.contrib.contenttypes',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize',
'django_pyscss',
'compressor',
'horizon',
'openstack_auth']
LANGUAGES_BIDI
('he', 'ar', 'fa', 'ur')
COMMENTS_ALLOW_PROFANITIES
False
COMPRESS_YUI_CSS_ARGUMENTS
u''
STATICFILES_DIRS
(('horizon/lib/angular',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular/data'),
('horizon/lib/angular',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular_cookies/data'),
('horizon/lib/angular',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/angular_mock/data'),
('horizon/lib/bootstrap_datepicker',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/bootstrap_datepicker/data'),
('horizon/lib', '/usr/local/lib/python2.7/dist-packages/xstatic/pkg/d3/data'),
('horizon/lib',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/hogan/data'),
('horizon/lib/font-awesome',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/font_awesome/data'),
('horizon/lib/jasmine-1.3.1',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jasmine/data'),
('horizon/lib/jquery',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery/data'),
('horizon/lib/jquery',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_migrate/data'),
('horizon/lib/jquery',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_quicksearch/data'),
('horizon/lib/jquery',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jquery_tablesorter/data'),
('horizon/lib/jsencrypt',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/jsencrypt/data'),
('horizon/lib/qunit',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/qunit/data'),
('horizon/lib',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/rickshaw/data'),
('horizon/lib',
'/usr/local/lib/python2.7/dist-packages/xstatic/pkg/spin/data'))
PREPEND_WWW
False
SECURE_PROXY_SSL_HEADER
None
LOCAL_PATH
'/opt/stack/horizon/openstack_dashboard/local'
SESSION_COOKIE_HTTPONLY
True
DEBUG_PROPAGATE_EXCEPTIONS
False
MONTH_DAY_FORMAT
'F j'
LOGIN_URL
'/auth/login/'
POLICY_CHECK_FUNCTION
''
OPENSTACK_KEYSTONE_URL
u'********************'
SECURITY_GROUP_RULES
{'all_icmp': {'from_port': '-1',
'ip_protocol': 'icmp',
'name': <django.utils.functional.__proxy__ object at 0x7f894f6cee50>,
'to_port': '-1'},
'all_tcp': {'from_port': '1',
'ip_protocol': 'tcp',
'name': <django.utils.functional.__proxy__ object at 0x7f894f6cedd0>,
'to_port': '65535'},
'all_udp': {'from_port': '1',
'ip_protocol': 'udp',
'name': <django.utils.functional.__proxy__ object at 0x7f894f6cee10>,
'to_port': '65535'},
'dns': {'from_port': '53',
'ip_protocol': 'tcp',
'name': 'DNS',
'to_port': '53'},
'http': {'from_port': '80',
'ip_protocol': 'tcp',
'name': 'HTTP',
'to_port': '80'},
'https': {'from_port': '443',
'ip_protocol': 'tcp',
'name': 'HTTPS',
'to_port': '443'},
'imap': {'from_port': '143',
'ip_protocol': 'tcp',
'name': 'IMAP',
'to_port': '143'},
'imaps': {'from_port': '993',
'ip_protocol': 'tcp',
'name': 'IMAPS',
'to_port': '993'},
'ldap': {'from_port': '389',
'ip_protocol': 'tcp',
'name': 'LDAP',
'to_port': '389'},
'ms_sql': {'from_port': '1433',
'ip_protocol': 'tcp',
'name': 'MS SQL',
'to_port': '1433'},
'mysql': {'from_port': '3306',
'ip_protocol': 'tcp',
'name': 'MYSQL',
'to_port': '3306'},
'pop3': {'from_port': '110',
'ip_protocol': 'tcp',
'name': 'POP3',
'to_port': '110'},
'pop3s': {'from_port': '995',
'ip_protocol': 'tcp',
'name': 'POP3S',
'to_port': '995'},
'rdp': {'from_port': '3389',
'ip_protocol': 'tcp',
'name': 'RDP',
'to_port': '3389'},
'smtp': {'from_port': '25',
'ip_protocol': 'tcp',
'name': 'SMTP',
'to_port': '25'},
'smtps': {'from_port': '465',
'ip_protocol': 'tcp',
'name': 'SMTPS',
'to_port': '465'},
'ssh': {'from_port': '22',
'ip_protocol': 'tcp',
'name': 'SSH',
'to_port': '22'}}
TIME_FORMAT
'P'
COMPRESS_STORAGE
u'compressor.storage.CompressorFileStorage'
HORIZON_CONFIG
{'ajax_queue_limit': 10,
'angular_modules': [],
'auto_fade_alerts': {'delay': 3000,
'fade_duration': 1500,
'types': ['alert-success', 'alert-info']},
'dashboards': ('project', 'admin', 'settings', 'identity'),
'default_dashboard': 'project',
'exceptions': {'not_found': (<class 'keystoneclient.openstack.common.apiclient.exceptions.NotFound'>,
<class 'cinderclient.exceptions.NotFound'>,
<class 'novaclient.exceptions.NotFound'>,
<class 'glanceclient.exc.NotFound'>,
<class 'neutronclient.common.exceptions.NotFound'>,
<class 'heatclient.exc.HTTPNotFound'>,
<class 'troveclient.exceptions.NotFound'>),
'recoverable': (<class 'keystoneclient.openstack.common.apiclient.exceptions.ClientException'>,
<class 'keystoneclient.openstack.common.apiclient.exceptions.AuthorizationFailure'>,
<class 'keystoneclient.openstack.common.apiclient.exceptions.Forbidden'>,
<class 'cinderclient.exceptions.ClientException'>,
<class 'cinderclient.exceptions.ConnectionError'>,
<class 'cinderclient.exceptions.Forbidden'>,
<class 'novaclient.exceptions.ClientException'>,
<class 'novaclient.exceptions.Forbidden'>,
<class 'glanceclient.exc.ClientException'>,
<class 'neutronclient.common.exceptions.Forbidden'>,
<class 'neutronclient.common.exceptions.NeutronClientException'>,
<class 'swiftclient.exceptions.ClientException'>,
<class 'heatclient.exc.HTTPForbidden'>,
<class 'heatclient.exc.HTTPException'>,
<class 'troveclient.exceptions.ClientException'>,
<class 'saharaclient.api.base.APIException'>,
<class 'requests.exceptions.RequestException'>),
'unauthorized': (<class 'keystoneclient.openstack.common.apiclient.exceptions.Unauthorized'>,
<class 'cinderclient.exceptions.Unauthorized'>,
<class 'novaclient.exceptions.Unauthorized'>,
<class 'glanceclient.exc.Unauthorized'>,
<class 'neutronclient.common.exceptions.Unauthorized'>,
<class 'heatclient.exc.HTTPUnauthorized'>,
<class 'troveclient.exceptions.Unauthorized'>)},
'help_url': 'http://docs.openstack.org',
'js_files': [],
'panel_customization': [],
'user_home': 'openstack_dashboard.views.get_user_home'}
AUTH_USER_MODEL
'auth.User'
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')
COMPRESS_CSS_FILTERS
('compressor.filters.css_default.CssAbsoluteFilter',)
AUTHENTICATION_BACKENDS
('openstack_auth.backend.KeystoneBackend',)
EMAIL_HOST_PASSWORD
u'********************'
COMPRESS_REBUILD_TIMEOUT
2592000
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
CACHE_MIDDLEWARE_ALIAS
'default'
ROOT_PATH
'/opt/stack/horizon/openstack_dashboard'
SESSION_SAVE_EVERY_REQUEST
False
NUMBER_GROUPING
0
SESSION_ENGINE
'django.contrib.sessions.backends.signed_cookies'
COMPRESS_YUGLIFY_BINARY
u'yuglify'
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_COOKIE_PATH
'/'
COMPRESS_CACHE_KEY_FUNCTION
u'********************'
LOGIN_REDIRECT_URL
'/'
DECIMAL_SEPARATOR
'.'
COMPRESS_PRECOMPILERS
(('text/scss', 'django_pyscss.compressor.DjangoScssFilter'),)
COMPRESS_MTIME_DELAY
10
LOCALE_PATHS
()
TEMPLATE_STRING_IF_INVALID
''
LOGOUT_URL
'/auth/logout/'
EMAIL_USE_TLS
False
TEMPLATE_DIRS
('/opt/stack/horizon/openstack_dashboard/templates',)
FIXTURE_DIRS
()
EMAIL_HOST
'localhost'
DATE_FORMAT
'N j, Y'
SESSION_COOKIE_MAX_SIZE
4093
MEDIA_ROOT
'/opt/stack/horizon/media'
DEFAULT_EXCEPTION_REPORTER_FILTER
'horizon.exceptions.HorizonReporterFilter'
ADMINS
()
SESSION_TIMEOUT
1800
FORMAT_MODULE_PATH
None
DEFAULT_FROM_EMAIL
'webmaster@localhost'
COMPRESS_ROOT
'/opt/stack/horizon/static'
MEDIA_URL
'/media/'
DATETIME_FORMAT
'N j, Y, P'
COMPRESS_YUI_JS_ARGUMENTS
u''
OPENSTACK_KEYSTONE_BACKEND
u'********************'
API_RESULT_PAGE_SIZE
u'********************'
OPENSTACK_KEYSTONE_DEFAULT_ROLE
u'********************'
COMPRESS_JS_COMPRESSOR
u'compressor.js.JsCompressor'
DISALLOWED_USER_AGENTS
()
ALLOWED_INCLUDE_ROOTS
()
COMPRESS_MINT_DELAY
30
LOGGING
{'disable_existing_loggers': False,
'handlers': {'console': {'class': 'logging.StreamHandler', 'level': 'INFO'},
'null': {'class': 'django.utils.log.NullHandler',
'level': 'DEBUG'}},
'loggers': {'ceilometerclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'cinderclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'django': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'], 'propagate': False},
'glanceclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'heatclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'horizon': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'iso8601': {'handlers': ['null'], 'propagate': False},
'keystoneclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'neutronclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'nose.plugins.manager': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'novaclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'openstack_auth': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'openstack_dashboard': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'requests': {'handlers': ['null'], 'propagate': False},
'scss': {'handlers': ['null'], 'propagate': False},
'swiftclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False},
'troveclient': {'handlers': ['console'],
'level': 'DEBUG',
'propagate': False}},
'version': 1}
SHORT_DATE_FORMAT
'm/d/Y'
TEST_RUNNER
'django_nose.NoseTestSuiteRunner'
COMPRESS_ENABLED
True
OPENSTACK_HYPERVISOR_FEATURES
{'can_set_mount_point': False, 'can_set_password': False}
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
COMPRESS_OFFLINE
False
TIME_ZONE
'UTC'
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
COMPRESS_YUGLIFY_CSS_ARGUMENTS
u'--terminal'
EMAIL_BACKEND
'django.core.mail.backends.console.EmailBackend'
COMPRESS_JINJA2_GET_ENVIRONMENT
<jinja2.environment.Environment object at 0x7f894c2ee990>
DEFAULT_TABLESPACE
''
TEMPLATE_CONTEXT_PROCESSORS
('django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.request',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.contrib.messages.context_processors.messages',
'horizon.context_processors.horizon',
'openstack_dashboard.context_processors.openstack')
OPENSTACK_IMAGE_BACKEND
{'image_formats': [('',
<django.utils.functional.__proxy__ object at 0x7f894f6a12d0>),
('aki',
<django.utils.functional.__proxy__ object at 0x7f894f6a13d0>),
('ami',
<django.utils.functional.__proxy__ object at 0x7f894f6a1410>),
('ari',
<django.utils.functional.__proxy__ object at 0x7f894f6a1450>),
('iso',
<django.utils.functional.__proxy__ object at 0x7f894f6a1a50>),
('qcow2',
<django.utils.functional.__proxy__ object at 0x7f894f6a1ad0>),
('raw',
<django.utils.functional.__proxy__ object at 0x7f894f6a1b10>),
('vdi',
<django.utils.functional.__proxy__ object at 0x7f894f6a1b50>),
('vhd',
<django.utils.functional.__proxy__ object at 0x7f894f6a1b90>),
('vmdk',
<django.utils.functional.__proxy__ object at 0x7f894f6a1bd0>)]}
OPENSTACK_HOST
'192.168.1.101'
SESSION_COOKIE_AGE
1209600
SETTINGS_MODULE
'openstack_dashboard.settings'
USE_ETAGS
False
LANGUAGES
(('de', 'German'),
('en', 'English'),
('en-au', 'Australian English'),
('en-gb', 'British English'),
('es', 'Spanish'),
('fr', 'French'),
('hi', 'Hindi'),
('ja', 'Japanese'),
('ko', 'Korean (Korea)'),
('nl', 'Dutch (Netherlands)'),
('pl', 'Polish'),
('pt-br', 'Portuguese (Brazil)'),
('sr', 'Serbian'),
('zh-cn', 'Simplified Chinese'),
('zh-tw', 'Chinese (Taiwan)'))
COMPRESS_CLOSURE_COMPILER_BINARY
u'java -jar compiler.jar'
FILE_UPLOAD_TEMP_DIR
None
INTERNAL_IPS
()
STATIC_URL
'/static/'
EMAIL_PORT
25
USE_TZ
True
SHORT_DATETIME_FORMAT
'm/d/Y P'
PASSWORD_HASHERS
u'********************'
ABSOLUTE_URL_OVERRIDES
{}
CACHE_MIDDLEWARE_SECONDS
600
CSRF_COOKIE_HTTPONLY
False
DATETIME_INPUT_FORMATS
('%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M',
'%Y-%m-%d',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M:%S.%f',
'%m/%d/%Y %H:%M',
'%m/%d/%Y',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M:%S.%f',
'%m/%d/%y %H:%M',
'%m/%d/%y')
API_RESULT_LIMIT
u'********************'
PROFANITIES_LIST
u'********************'
EMAIL_HOST_USER
''
OPENSTACK_CINDER_FEATURES
{'enable_backup': False}
To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1383630/+subscriptions
Follow ups
References