Login
Log in using an SSO provider:
Fedora Account System
Red Hat Associate
Red Hat Customer
Login using a Red Hat Bugzilla account
Forgot Password
Create an Account
Red Hat Bugzilla – View All Attachments for
Bug 1271433
Home
New
Search
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
Product Dashboard
Help
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh92 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
[?]
This site requires JavaScript to be enabled to function correctly, please enable it.
Attachment #1082653
horizon traceback
text/plain
2015-10-14 00:40:10 UTC
2.10 KB
no flags
Details
You cannot view the attachment on this page because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Attachment #1083298
debug trace.html
text/html
2015-10-15 14:40:53 UTC
229.39 KB
no flags
Details
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="robots" content="NONE,NOARCHIVE"> <title>TypeError at /</title> <style type="text/css"> html * { padding:0; margin:0; } body * { padding:10px 20px; } body * * { padding:0; } body { font:small sans-serif; } body>div { border-bottom:1px solid #ddd; } h1 { font-weight:normal; } h2 { margin-bottom:.8em; } h2 span { font-size:80%; color:#666; font-weight:normal; } h3 { margin:1em 0 .5em 0; } h4 { margin:0 0 .5em 0; font-weight: normal; } code, pre { font-size: 100%; white-space: pre-wrap; } table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; } tbody td, tbody th { vertical-align:top; padding:2px 3px; } thead th { padding:1px 6px 1px 3px; background:#fefefe; text-align:left; font-weight:normal; font-size:11px; border:1px solid #ddd; } tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; } table.vars { margin:5px 0 2px 40px; } table.vars td, table.req td { font-family:monospace; } table td.code { width:100%; } table td.code pre { overflow:hidden; } table.source th { color:#666; } table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; } ul.traceback { list-style-type:none; color: #222; } ul.traceback li.frame { padding-bottom:1em; color:#666; } ul.traceback li.user { background-color:#e0e0e0; color:#000 } div.context { padding:10px 0; overflow:hidden; } div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; } div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; } div.context ol li pre { display:inline; } div.context ol.context-line li { color:#505050; background-color:#dfdfdf; } div.context ol.context-line li span { position:absolute; right:32px; } .user div.context ol.context-line li { background-color:#bbb; color:#000; } .user div.context ol li { color:#666; } div.commands { margin-left: 40px; } div.commands a { color:#555; text-decoration:none; } .user div.commands a { color: black; } #summary { background: #ffc; } #summary h2 { font-weight: normal; color: #666; } #explanation { background:#eee; } #template, #template-not-exist { background:#f6f6f6; } #template-not-exist ul { margin: 0 0 0 20px; } #unicode-hint { background:#eee; } #traceback { background:#eee; } #requestinfo { background:#f6f6f6; padding-left:120px; } #summary table { border:none; background:transparent; } #requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; } #requestinfo h3 { margin-bottom:-1em; } .error { background: #ffc; } .specific { color:#cc3300; font-weight:bold; } h2 span.commands { font-size:.7em;} span.commands a:link {color:#5E5694;} pre.exception_value { font-family: sans-serif; color: #666; font-size: 1.5em; margin: 10px 0 10px 0; } </style> <script type="text/javascript"> //<!-- function getElementsByClassName(oElm, strTagName, strClassName){ // Written by Jonathan Snook, http://www.snook.ca/jon; Add-ons by Robert Nyman, http://www.robertnyman.com var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName); var arrReturnElements = new Array(); strClassName = strClassName.replace(/\-/g, "\-"); var oRegExp = new RegExp("(^|\s)" + strClassName + "(\s|$)"); var oElement; for(var i=0; i<arrElements.length; i++){ oElement = arrElements[i]; if(oRegExp.test(oElement.className)){ arrReturnElements.push(oElement); } } return (arrReturnElements) } function hideAll(elems) { for (var e = 0; e < elems.length; e++) { elems[e].style.display = 'none'; } } window.onload = function() { hideAll(getElementsByClassName(document, 'table', 'vars')); hideAll(getElementsByClassName(document, 'ol', 'pre-context')); hideAll(getElementsByClassName(document, 'ol', 'post-context')); hideAll(getElementsByClassName(document, 'div', 'pastebin')); } function toggle() { for (var i = 0; i < arguments.length; i++) { var e = document.getElementById(arguments[i]); if (e) { e.style.display = e.style.display == 'none' ? 'block': 'none'; } } return false; } function varToggle(link, id) { toggle('v' + id); var s = link.getElementsByTagName('span')[0]; var uarr = String.fromCharCode(0x25b6); var darr = String.fromCharCode(0x25bc); s.innerHTML = s.innerHTML == uarr ? darr : uarr; return false; } function switchPastebinFriendly(link) { s1 = "Switch to copy-and-paste view"; s2 = "Switch back to interactive view"; link.innerHTML = link.innerHTML.trim() == s1 ? s2: s1; toggle('browserTraceback', 'pastebinTraceback'); return false; } //--> </script> </head> <body> <div id="summary"> <h1>TypeError at /</h1> <pre class="exception_value">unhashable type: 'list'</pre> <table class="meta"> <tr> <th>Request Method:</th> <td>GET</td> </tr> <tr> <th>Request URL:</th> <td>http://192.0.2.18/dashboard/</td> </tr> <tr> <th>Django Version:</th> <td>1.8.4</td> </tr> <tr> <th>Exception Type:</th> <td>TypeError</td> </tr> <tr> <th>Exception Value:</th> <td><pre>unhashable type: 'list'</pre></td> </tr> <tr> <th>Exception Location:</th> <td>/usr/lib/python2.7/site-packages/django/core/cache/backends/locmem.py in __init__, line 31</td> </tr> <tr> <th>Python Executable:</th> <td>/usr/bin/python</td> </tr> <tr> <th>Python Version:</th> <td>2.7.5</td> </tr> <tr> <th>Python Path:</th> <td><pre>['/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../..', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib/python2.7/site-packages', '/usr/share/openstack-dashboard/openstack_dashboard']</pre></td> </tr> <tr> <th>Server time:</th> <td>Thu, 15 Oct 2015 14:28:07 +0000</td> </tr> </table> </div> <div id="traceback"> <h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);"> Switch to copy-and-paste view</a></span> </h2> <div id="browserTraceback"> <ul class="traceback"> <li class="frame django"> <code>/usr/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>get_response</code> <div class="context" id="c140035237455920"> <ol start="101" class="pre-context" id="pre140035237455920"> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> urlconf = settings.ROOT_URLCONF</pre></li> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> urlresolvers.set_urlconf(urlconf)</pre></li> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> resolver = urlresolvers.RegexURLResolver(r'^/', urlconf)</pre></li> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> try:</pre></li> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> response = None</pre></li> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> # Apply request middleware</pre></li> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> for middleware_method in self._request_middleware:</pre></li> </ol> <ol start="108" class="context-line"> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> response = middleware_method(request)</pre> <span>...</span></li></ol> <ol start='109' class="post-context" id="post140035237455920"> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> if response:</pre></li> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> break</pre></li> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre></pre></li> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> if response is None:</pre></li> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> if hasattr(request, 'urlconf'):</pre></li> <li onclick="toggle('pre140035237455920', 'post140035237455920')"><pre> # Reset url resolver with a custom urlconf.</pre></li> </ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '140035237455920')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v140035237455920"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>middleware_method</td> <td class="code"><pre><bound method SessionMiddleware.process_request of <django.contrib.sessions.middleware.SessionMiddleware object at 0x7f5c7f7b1810>></pre></td> </tr> <tr> <td>self</td> <td class="code"><pre><django.core.handlers.wsgi.WSGIHandler object at 0x7f5c7d5c2fd0></pre></td> </tr> <tr> <td>request</td> <td class="code"><pre>"<WSGIRequest\npath:/dashboard/,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CONTEXT_DOCUMENT_ROOT': '/var/www/',\n 'CONTEXT_PREFIX': '',\n 'DOCUMENT_ROOT': '/var/www/',\n 'GATEWAY_INTERFACE': 'CGI/1.1',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_HOST': '192.0.2.18',\n 'HTTP_USER_AGENT': 'curl/7.29.0',\n 'PATH_INFO': u'/',\n 'QUERY_STRING': '',\n 'REMOTE_ADDR': '192.0.2.18',\n 'REMOTE_PORT': '59101',\n 'REQUEST_METHOD': 'GET',\n 'REQUEST_SCHEME': 'http',\n 'REQUEST_URI': '/dashboard',\n 'SCRIPT_FILENAME': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi',\n 'SCRIPT_NAME': u'/dashboard',\n 'SERVER_ADDR': '192.0.2.18',\n 'SERVER_ADMIN': '[no address given]',\n 'SERVER_NAME': '192.0.2.18',\n 'SERVER_PORT': '80',\n 'SERVER_PROTOCOL': 'HTTP/1.1',\n 'SERVER_SIGNATURE': '',\n 'SERVER_SOFTWARE': 'Apache/2.4.6 (CentOS)',\n 'mod_wsgi.application_group': 'overcloud-controller-0.localdomain|/dashboard',\n 'mod_wsgi.callable_object': 'application',\n 'mod_wsgi.enable_sendfile': '0',\n 'mod_wsgi.handler_script': '',\n 'mod_wsgi.input_chunked': '0',\n 'mod_wsgi.listener_host': '192.0.2.18',\n 'mod_wsgi.listener_port': '80',\n 'mod_wsgi.process_group': 'dashboard',\n 'mod_wsgi.queue_start': '1444919287949432',\n 'mod_wsgi.request_handler': 'wsgi-script',\n 'mod_wsgi.script_reloading': '1',\n 'mod_wsgi.version': (3, 4),\n 'wsgi.errors': <mod_wsgi.Log object at 0x7f5c7f7a4470>,\n 'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f5c7f7b0a08>,\n 'wsgi.input': <mod_wsgi.Input object at 0x7f5c7f798630>,\n 'wsgi.multiprocess': True,\n 'wsgi.multithread': True,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'http',\n 'wsgi.version': (1, 0)}>"</pre></td> </tr> <tr> <td>resolver</td> <td class="code"><pre><RegexURLResolver 'openstack_dashboard.urls' (None:None) ^/></pre></td> </tr> <tr> <td>response</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>urlconf</td> <td class="code"><pre>'openstack_dashboard.urls'</pre></td> </tr> </tbody> </table> </li> <li class="frame django"> <code>/usr/lib/python2.7/site-packages/django/contrib/sessions/middleware.py</code> in <code>process_request</code> <div class="context" id="c140035237455848"> <ol start="9" class="pre-context" id="pre140035237455848"> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre>class SessionMiddleware(object):</pre></li> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre> def __init__(self):</pre></li> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre> engine = import_module(settings.SESSION_ENGINE)</pre></li> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre> self.SessionStore = engine.SessionStore</pre></li> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre></pre></li> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre> def process_request(self, request):</pre></li> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre> session_key = request.COOKIES.get(settings.SESSION_COOKIE_NAME, None)</pre></li> </ol> <ol start="16" class="context-line"> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre> request.session = self.SessionStore(session_key)</pre> <span>...</span></li></ol> <ol start='17' class="post-context" id="post140035237455848"> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre></pre></li> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre> def process_response(self, request, response):</pre></li> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre> """</pre></li> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre> If request.session was modified, or if the configuration is to save the</pre></li> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre> session every time, save the changes and set a session cookie or delete</pre></li> <li onclick="toggle('pre140035237455848', 'post140035237455848')"><pre> the session cookie if the session has been emptied.</pre></li> </ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '140035237455848')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v140035237455848"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>self</td> <td class="code"><pre><django.contrib.sessions.middleware.SessionMiddleware object at 0x7f5c7f7b1810></pre></td> </tr> <tr> <td>session_key</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>request</td> <td class="code"><pre>"<WSGIRequest\npath:/dashboard/,\nGET:<QueryDict: {}>,\nPOST:<QueryDict: {}>,\nCOOKIES:{},\nMETA:{'CONTEXT_DOCUMENT_ROOT': '/var/www/',\n 'CONTEXT_PREFIX': '',\n 'DOCUMENT_ROOT': '/var/www/',\n 'GATEWAY_INTERFACE': 'CGI/1.1',\n 'HTTP_ACCEPT': '*/*',\n 'HTTP_HOST': '192.0.2.18',\n 'HTTP_USER_AGENT': 'curl/7.29.0',\n 'PATH_INFO': u'/',\n 'QUERY_STRING': '',\n 'REMOTE_ADDR': '192.0.2.18',\n 'REMOTE_PORT': '59101',\n 'REQUEST_METHOD': 'GET',\n 'REQUEST_SCHEME': 'http',\n 'REQUEST_URI': '/dashboard',\n 'SCRIPT_FILENAME': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi',\n 'SCRIPT_NAME': u'/dashboard',\n 'SERVER_ADDR': '192.0.2.18',\n 'SERVER_ADMIN': '[no address given]',\n 'SERVER_NAME': '192.0.2.18',\n 'SERVER_PORT': '80',\n 'SERVER_PROTOCOL': 'HTTP/1.1',\n 'SERVER_SIGNATURE': '',\n 'SERVER_SOFTWARE': 'Apache/2.4.6 (CentOS)',\n 'mod_wsgi.application_group': 'overcloud-controller-0.localdomain|/dashboard',\n 'mod_wsgi.callable_object': 'application',\n 'mod_wsgi.enable_sendfile': '0',\n 'mod_wsgi.handler_script': '',\n 'mod_wsgi.input_chunked': '0',\n 'mod_wsgi.listener_host': '192.0.2.18',\n 'mod_wsgi.listener_port': '80',\n 'mod_wsgi.process_group': 'dashboard',\n 'mod_wsgi.queue_start': '1444919287949432',\n 'mod_wsgi.request_handler': 'wsgi-script',\n 'mod_wsgi.script_reloading': '1',\n 'mod_wsgi.version': (3, 4),\n 'wsgi.errors': <mod_wsgi.Log object at 0x7f5c7f7a4470>,\n 'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter object at 0x7f5c7f7b0a08>,\n 'wsgi.input': <mod_wsgi.Input object at 0x7f5c7f798630>,\n 'wsgi.multiprocess': True,\n 'wsgi.multithread': True,\n 'wsgi.run_once': False,\n 'wsgi.url_scheme': 'http',\n 'wsgi.version': (1, 0)}>"</pre></td> </tr> </tbody> </table> </li> <li class="frame django"> <code>/usr/lib/python2.7/site-packages/django/contrib/sessions/backends/cache.py</code> in <code>__init__</code> <div class="context" id="c140035253342648"> <ol start="7" class="pre-context" id="pre140035253342648"> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre></pre></li> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre></pre></li> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre>class SessionStore(SessionBase):</pre></li> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre> """</pre></li> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre> A cache-based session store.</pre></li> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre> """</pre></li> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre> def __init__(self, session_key=None):</pre></li> </ol> <ol start="14" class="context-line"> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre> self._cache = caches[settings.SESSION_CACHE_ALIAS]</pre> <span>...</span></li></ol> <ol start='15' class="post-context" id="post140035253342648"> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre> super(SessionStore, self).__init__(session_key)</pre></li> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre></pre></li> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre> @property</pre></li> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre> def cache_key(self):</pre></li> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre> return KEY_PREFIX + self._get_or_create_session_key()</pre></li> <li onclick="toggle('pre140035253342648', 'post140035253342648')"><pre></pre></li> </ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '140035253342648')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v140035253342648"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>self</td> <td class="code"><pre><django.contrib.sessions.backends.cache.SessionStore object at 0x7f5c7e96c650></pre></td> </tr> <tr> <td>session_key</td> <td class="code"><pre>None</pre></td> </tr> </tbody> </table> </li> <li class="frame django"> <code>/usr/lib/python2.7/site-packages/django/core/cache/__init__.py</code> in <code>__getitem__</code> <div class="context" id="c140035237455632"> <ol start="106" class="pre-context" id="pre140035237455632"> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre> pass</pre></li> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre></pre></li> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre> if alias not in settings.CACHES:</pre></li> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre> raise InvalidCacheBackendError(</pre></li> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre> "Could not find config for '%s' in settings.CACHES" % alias</pre></li> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre> )</pre></li> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre></pre></li> </ol> <ol start="113" class="context-line"> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre> cache = _create_cache(alias)</pre> <span>...</span></li></ol> <ol start='114' class="post-context" id="post140035237455632"> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre> self._caches.caches[alias] = cache</pre></li> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre> return cache</pre></li> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre></pre></li> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre> def all(self):</pre></li> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre> return getattr(self._caches, 'caches', {}).values()</pre></li> <li onclick="toggle('pre140035237455632', 'post140035237455632')"><pre></pre></li> </ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '140035237455632')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v140035237455632"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>alias</td> <td class="code"><pre>'default'</pre></td> </tr> <tr> <td>self</td> <td class="code"><pre><django.core.cache.CacheHandler object at 0x7f5c7d465e90></pre></td> </tr> </tbody> </table> </li> <li class="frame django"> <code>/usr/lib/python2.7/site-packages/django/core/cache/__init__.py</code> in <code>_create_cache</code> <div class="context" id="c140035237455704"> <ol start="81" class="pre-context" id="pre140035237455704"> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre> params.update(kwargs)</pre></li> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre> backend = params.pop('BACKEND')</pre></li> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre> location = params.pop('LOCATION', '')</pre></li> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre> backend_cls = import_string(backend)</pre></li> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre> except ImportError as e:</pre></li> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre> raise InvalidCacheBackendError(</pre></li> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre> "Could not find backend '%s': %s" % (backend, e))</pre></li> </ol> <ol start="88" class="context-line"> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre> return backend_cls(location, params)</pre> <span>...</span></li></ol> <ol start='89' class="post-context" id="post140035237455704"> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre></pre></li> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre></pre></li> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre>class CacheHandler(object):</pre></li> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre> """</pre></li> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre> A Cache Handler to manage access to Cache instances.</pre></li> <li onclick="toggle('pre140035237455704', 'post140035237455704')"><pre></pre></li> </ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '140035237455704')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v140035237455704"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>backend_cls</td> <td class="code"><pre><class 'django.core.cache.backends.locmem.LocMemCache'></pre></td> </tr> <tr> <td>params</td> <td class="code"><pre>{}</pre></td> </tr> <tr> <td>location</td> <td class="code"><pre>['192.0.2.18:11211', '192.0.2.17:11211', '192.0.2.19:11211']</pre></td> </tr> <tr> <td>conf</td> <td class="code"><pre>{'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': ['192.0.2.18:11211', '192.0.2.17:11211', '192.0.2.19:11211']}</pre></td> </tr> <tr> <td>kwargs</td> <td class="code"><pre>{}</pre></td> </tr> <tr> <td>backend</td> <td class="code"><pre>'django.core.cache.backends.locmem.LocMemCache'</pre></td> </tr> </tbody> </table> </li> <li class="frame django"> <code>/usr/lib/python2.7/site-packages/django/core/cache/backends/locmem.py</code> in <code>__init__</code> <div class="context" id="c140035237455776"> <ol start="24" class="pre-context" id="pre140035237455776"> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre> """A context manager that does nothing special."""</pre></li> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre> yield</pre></li> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre></pre></li> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre></pre></li> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre>class LocMemCache(BaseCache):</pre></li> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre> def __init__(self, name, params):</pre></li> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre> BaseCache.__init__(self, params)</pre></li> </ol> <ol start="31" class="context-line"> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre> self._cache = _caches.setdefault(name, {})</pre> <span>...</span></li></ol> <ol start='32' class="post-context" id="post140035237455776"> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre> self._expire_info = _expire_info.setdefault(name, {})</pre></li> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre> self._lock = _locks.setdefault(name, RWLock())</pre></li> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre></pre></li> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre> def add(self, key, value, timeout=DEFAULT_TIMEOUT, version=None):</pre></li> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre> key = self.make_key(key, version=version)</pre></li> <li onclick="toggle('pre140035237455776', 'post140035237455776')"><pre> self.validate_key(key)</pre></li> </ol> </div> <div class="commands"> <a href="#" onclick="return varToggle(this, '140035237455776')"><span>▶</span> Local vars</a> </div> <table class="vars" id="v140035237455776"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>self</td> <td class="code"><pre><django.core.cache.backends.locmem.LocMemCache object at 0x7f5c7e96c690></pre></td> </tr> <tr> <td>params</td> <td class="code"><pre>{}</pre></td> </tr> <tr> <td>name</td> <td class="code"><pre>['192.0.2.18:11211', '192.0.2.17:11211', '192.0.2.19:11211']</pre></td> </tr> </tbody> </table> </li> </ul> </div> <form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post"> <div id="pastebinTraceback" class="pastebin"> <input type="hidden" name="language" value="PythonConsole"> <input type="hidden" name="title" value="TypeError at /"> <input type="hidden" name="source" value="Django Dpaste Agent"> <input type="hidden" name="poster" value="Django"> <textarea name="content" id="traceback_area" cols="140" rows="25"> Environment: Request Method: GET Request URL: http://192.0.2.18/dashboard/ Django Version: 1.8.4 Python Version: 2.7.5 Installed Applications: ['openstack_dashboard.dashboards.project', 'openstack_dashboard.contrib.sahara.content.data_processing', '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', 'openstack_dashboard.django_pyscss_fix', 'compressor', 'horizon', 'openstack_auth'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'horizon.middleware.HorizonMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware') Traceback: File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 108. response = middleware_method(request) File "/usr/lib/python2.7/site-packages/django/contrib/sessions/middleware.py" in process_request 16. request.session = self.SessionStore(session_key) File "/usr/lib/python2.7/site-packages/django/contrib/sessions/backends/cache.py" in __init__ 14. self._cache = caches[settings.SESSION_CACHE_ALIAS] File "/usr/lib/python2.7/site-packages/django/core/cache/__init__.py" in __getitem__ 113. cache = _create_cache(alias) File "/usr/lib/python2.7/site-packages/django/core/cache/__init__.py" in _create_cache 88. return backend_cls(location, params) File "/usr/lib/python2.7/site-packages/django/core/cache/backends/locmem.py" in __init__ 31. self._cache = _caches.setdefault(name, {}) Exception Type: TypeError at / Exception Value: unhashable type: 'list' </textarea> <br><br> <input type="submit" value="Share this traceback on a public Web site"> </div> </form> </div> <div id="requestinfo"> <h2>Request information</h2> <h3 id="get-info">GET</h3> <p>No GET data</p> <h3 id="post-info">POST</h3> <p>No POST data</p> <h3 id="files-info">FILES</h3> <p>No FILES data</p> <h3 id="cookie-info">COOKIES</h3> <p>No cookie data</p> <h3 id="meta-info">META</h3> <table class="req"> <thead> <tr> <th>Variable</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>mod_wsgi.listener_port</td> <td class="code"><pre>'80'</pre></td> </tr> <tr> <td>CONTEXT_DOCUMENT_ROOT</td> <td class="code"><pre>'/var/www/'</pre></td> </tr> <tr> <td>SERVER_SOFTWARE</td> <td class="code"><pre>'Apache/2.4.6 (CentOS)'</pre></td> </tr> <tr> <td>SCRIPT_NAME</td> <td class="code"><pre>u'/dashboard'</pre></td> </tr> <tr> <td>mod_wsgi.enable_sendfile</td> <td class="code"><pre>'0'</pre></td> </tr> <tr> <td>mod_wsgi.handler_script</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>SERVER_SIGNATURE</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>REQUEST_METHOD</td> <td class="code"><pre>'GET'</pre></td> </tr> <tr> <td>PATH_INFO</td> <td class="code"><pre>u'/'</pre></td> </tr> <tr> <td>SERVER_PROTOCOL</td> <td class="code"><pre>'HTTP/1.1'</pre></td> </tr> <tr> <td>QUERY_STRING</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>HTTP_USER_AGENT</td> <td class="code"><pre>'curl/7.29.0'</pre></td> </tr> <tr> <td>SERVER_NAME</td> <td class="code"><pre>'192.0.2.18'</pre></td> </tr> <tr> <td>REMOTE_ADDR</td> <td class="code"><pre>'192.0.2.18'</pre></td> </tr> <tr> <td>mod_wsgi.queue_start</td> <td class="code"><pre>'1444919287949432'</pre></td> </tr> <tr> <td>mod_wsgi.request_handler</td> <td class="code"><pre>'wsgi-script'</pre></td> </tr> <tr> <td>wsgi.url_scheme</td> <td class="code"><pre>'http'</pre></td> </tr> <tr> <td>mod_wsgi.callable_object</td> <td class="code"><pre>'application'</pre></td> </tr> <tr> <td>SERVER_PORT</td> <td class="code"><pre>'80'</pre></td> </tr> <tr> <td>wsgi.multiprocess</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>mod_wsgi.input_chunked</td> <td class="code"><pre>'0'</pre></td> </tr> <tr> <td>SERVER_ADDR</td> <td class="code"><pre>'192.0.2.18'</pre></td> </tr> <tr> <td>DOCUMENT_ROOT</td> <td class="code"><pre>'/var/www/'</pre></td> </tr> <tr> <td>mod_wsgi.process_group</td> <td class="code"><pre>'dashboard'</pre></td> </tr> <tr> <td>SCRIPT_FILENAME</td> <td class="code"><pre>'/usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi'</pre></td> </tr> <tr> <td>SERVER_ADMIN</td> <td class="code"><pre>'[no address given]'</pre></td> </tr> <tr> <td>wsgi.input</td> <td class="code"><pre><mod_wsgi.Input object at 0x7f5c7f798630></pre></td> </tr> <tr> <td>HTTP_HOST</td> <td class="code"><pre>'192.0.2.18'</pre></td> </tr> <tr> <td>CONTEXT_PREFIX</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>wsgi.multithread</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>REQUEST_URI</td> <td class="code"><pre>'/dashboard'</pre></td> </tr> <tr> <td>HTTP_ACCEPT</td> <td class="code"><pre>'*/*'</pre></td> </tr> <tr> <td>wsgi.version</td> <td class="code"><pre>(1, 0)</pre></td> </tr> <tr> <td>GATEWAY_INTERFACE</td> <td class="code"><pre>'CGI/1.1'</pre></td> </tr> <tr> <td>wsgi.run_once</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>wsgi.errors</td> <td class="code"><pre><mod_wsgi.Log object at 0x7f5c7f7a4470></pre></td> </tr> <tr> <td>REMOTE_PORT</td> <td class="code"><pre>'59101'</pre></td> </tr> <tr> <td>mod_wsgi.listener_host</td> <td class="code"><pre>'192.0.2.18'</pre></td> </tr> <tr> <td>REQUEST_SCHEME</td> <td class="code"><pre>'http'</pre></td> </tr> <tr> <td>mod_wsgi.version</td> <td class="code"><pre>(3, 4)</pre></td> </tr> <tr> <td>mod_wsgi.application_group</td> <td class="code"><pre>'overcloud-controller-0.localdomain|/dashboard'</pre></td> </tr> <tr> <td>mod_wsgi.script_reloading</td> <td class="code"><pre>'1'</pre></td> </tr> <tr> <td>wsgi.file_wrapper</td> <td class="code"><pre>''</pre></td> </tr> </tbody> </table> <h3 id="settings-info">Settings</h3> <h4>Using settings module <code>openstack_dashboard.settings</code></h4> <table class="req"> <thead> <tr> <th>Setting</th> <th>Value</th> </tr> </thead> <tbody> <tr> <td>COMPRESS_URL</td> <td class="code"><pre>'/dashboard/static/'</pre></td> </tr> <tr> <td>POLICY_FILES_PATH</td> <td class="code"><pre>'/etc/openstack-dashboard'</pre></td> </tr> <tr> <td>ADD_INSTALLED_APPS</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>SECURE_SSL_REDIRECT</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>COMPRESS_TEMPLATE_FILTER_CONTEXT</td> <td class="code"><pre>{u'STATIC_URL': '/dashboard/static/'}</pre></td> </tr> <tr> <td>SECURE_BROWSER_XSS_FILTER</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>COMPRESS_DATA_URI_MAX_SIZE</td> <td class="code"><pre>1024</pre></td> </tr> <tr> <td>SITE_BRANDING</td> <td class="code"><pre>'OpenStack Dashboard'</pre></td> </tr> <tr> <td>CSRF_COOKIE_SECURE</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>LANGUAGE_CODE</td> <td class="code"><pre>'en'</pre></td> </tr> <tr> <td>ROOT_URLCONF</td> <td class="code"><pre>'openstack_dashboard.urls'</pre></td> </tr> <tr> <td>MANAGERS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>COMPRESS_CSS_HASHING_METHOD</td> <td class="code"><pre>'hash'</pre></td> </tr> <tr> <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>SILENCED_SYSTEM_CHECKS</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>DEFAULT_CHARSET</td> <td class="code"><pre>'utf-8'</pre></td> </tr> <tr> <td>IGNORABLE_404_URLS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>SESSION_SERIALIZER</td> <td class="code"><pre>'django.contrib.sessions.serializers.PickleSerializer'</pre></td> </tr> <tr> <td>STATIC_ROOT</td> <td class="code"><pre>'/usr/share/openstack-dashboard/static'</pre></td> </tr> <tr> <td>COMPRESS_CLOSURE_COMPILER_ARGUMENTS</td> <td class="code"><pre>u''</pre></td> </tr> <tr> <td>COMPRESS_OUTPUT_DIR</td> <td class="code"><pre>'dashboard'</pre></td> </tr> <tr> <td>USE_THOUSAND_SEPARATOR</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>COMPRESS_OFFLINE_MANIFEST</td> <td class="code"><pre>u'manifest.json'</pre></td> </tr> <tr> <td>ALLOWED_HOSTS</td> <td class="code"><pre>['*']</pre></td> </tr> <tr> <td>MESSAGE_STORAGE</td> <td class="code"><pre>'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td> </tr> <tr> <td>COMPRESS_YUI_JS_ARGUMENTS</td> <td class="code"><pre>u''</pre></td> </tr> <tr> <td>SERVER_EMAIL</td> <td class="code"><pre>'root@localhost'</pre></td> </tr> <tr> <td>SECURE_HSTS_SECONDS</td> <td class="code"><pre>0</pre></td> </tr> <tr> <td>STATICFILES_FINDERS</td> <td class="code"><pre>('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder')</pre></td> </tr> <tr> <td>SESSION_CACHE_ALIAS</td> <td class="code"><pre>'default'</pre></td> </tr> <tr> <td>COMPRESS_CSSTIDY_ARGUMENTS</td> <td class="code"><pre>u'--template=highest'</pre></td> </tr> <tr> <td>SESSION_COOKIE_DOMAIN</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>SESSION_COOKIE_NAME</td> <td class="code"><pre>'sessionid'</pre></td> </tr> <tr> <td>COMPRESS_YUGLIFY_JS_ARGUMENTS</td> <td class="code"><pre>u'--terminal'</pre></td> </tr> <tr> <td>TIME_INPUT_FORMATS</td> <td class="code"><pre>('%H:%M:%S', '%H:%M:%S.%f', '%H:%M')</pre></td> </tr> <tr> <td>SECURE_REDIRECT_EXEMPT</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>DATABASES</td> <td class="code"><pre>{}</pre></td> </tr> <tr> <td>EMAIL_SSL_KEYFILE</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>COMPRESS_YUI_BINARY</td> <td class="code"><pre>u'java -jar yuicompressor.jar'</pre></td> </tr> <tr> <td>FILE_UPLOAD_PERMISSIONS</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>FILE_UPLOAD_HANDLERS</td> <td class="code"><pre>('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler')</pre></td> </tr> <tr> <td>DEFAULT_CONTENT_TYPE</td> <td class="code"><pre>'text/html'</pre></td> </tr> <tr> <td>COMPRESS_CSS_COMPRESSOR</td> <td class="code"><pre>u'compressor.css.CssCompressor'</pre></td> </tr> <tr> <td>APPEND_SLASH</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>FIRST_DAY_OF_WEEK</td> <td class="code"><pre>0</pre></td> </tr> <tr> <td>DATABASE_ROUTERS</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>EMAIL_USE_SSL</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>OPENSTACK_NEUTRON_NETWORK</td> <td class="code"><pre>{'enable_distributed_router': False, 'enable_firewall': False, 'enable_ha_router': False, 'enable_lb': False, 'enable_quotas': True, 'enable_security_group': True, 'enable_vpn': False, 'profile_support': 'None'}</pre></td> </tr> <tr> <td>DEFAULT_THEME_PATH</td> <td class="code"><pre>'themes/default'</pre></td> </tr> <tr> <td>COMPRESS_OFFLINE_TIMEOUT</td> <td class="code"><pre>31536000</pre></td> </tr> <tr> <td>STATICFILES_STORAGE</td> <td class="code"><pre>'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td> </tr> <tr> <td>CACHES</td> <td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 'LOCATION': ['192.0.2.18:11211', '192.0.2.17:11211', '192.0.2.19:11211']}}</pre></td> </tr> <tr> <td>COMPRESS_CLEAN_CSS_ARGUMENTS</td> <td class="code"><pre>u''</pre></td> </tr> <tr> <td>SESSION_COOKIE_PATH</td> <td class="code"><pre>'/'</pre></td> </tr> <tr> <td>HORIZON_IMAGES_ALLOW_UPLOAD</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>COMPRESS_PARSER</td> <td class="code"><pre>'compressor.parser.HtmlParser'</pre></td> </tr> <tr> <td>COMPRESS_CACHE_BACKEND</td> <td class="code"><pre>u'default'</pre></td> </tr> <tr> <td>SECURE_CONTENT_TYPE_NOSNIFF</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>MIDDLEWARE_CLASSES</td> <td class="code"><pre>('django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'horizon.middleware.HorizonMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware')</pre></td> </tr> <tr> <td>USE_I18N</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>THOUSAND_SEPARATOR</td> <td class="code"><pre>','</pre></td> </tr> <tr> <td>SECRET_KEY</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>LANGUAGE_COOKIE_NAME</td> <td class="code"><pre>'horizon_language'</pre></td> </tr> <tr> <td>DEFAULT_INDEX_TABLESPACE</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>BIN_DIR</td> <td class="code"><pre>'/usr/bin'</pre></td> </tr> <tr> <td>LOGGING_CONFIG</td> <td class="code"><pre>'logging.config.dictConfig'</pre></td> </tr> <tr> <td>SIGNING_BACKEND</td> <td class="code"><pre>'django.core.signing.TimestampSigner'</pre></td> </tr> <tr> <td>TEMPLATE_LOADERS</td> <td class="code"><pre>('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', 'horizon.loaders.TemplateLoader')</pre></td> </tr> <tr> <td>WSGI_APPLICATION</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>TEMPLATE_DEBUG</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>X_FRAME_OPTIONS</td> <td class="code"><pre>'SAMEORIGIN'</pre></td> </tr> <tr> <td>CSRF_COOKIE_NAME</td> <td class="code"><pre>'csrftoken'</pre></td> </tr> <tr> <td>POLICY_FILES</td> <td class="code"><pre>{'compute': 'nova_policy.json', 'identity': 'keystone_policy.json', 'image': 'glance_policy.json', 'network': 'neutron_policy.json', 'orchestration': 'heat_policy.json', 'telemetry': 'ceilometer_policy.json', 'volume': 'cinder_policy.json'}</pre></td> </tr> <tr> <td>COMPRESS_CLEAN_CSS_BINARY</td> <td class="code"><pre>u'cleancss'</pre></td> </tr> <tr> <td>FORCE_SCRIPT_NAME</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>USE_X_FORWARDED_HOST</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>EMAIL_TIMEOUT</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>SECURE_SSL_HOST</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>COMPRESS_CSSTIDY_BINARY</td> <td class="code"><pre>u'csstidy'</pre></td> </tr> <tr> <td>SESSION_COOKIE_SECURE</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>COMPRESS_DEBUG_TOGGLE</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>WEBROOT</td> <td class="code"><pre>'/dashboard/'</pre></td> </tr> <tr> <td>COMPRESS_VERBOSE</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>CSRF_COOKIE_DOMAIN</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>FILE_CHARSET</td> <td class="code"><pre>'utf-8'</pre></td> </tr> <tr> <td>DEBUG</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>LANGUAGE_COOKIE_DOMAIN</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>COMPRESS_JS_FILTERS</td> <td class="code"><pre>[u'compressor.filters.jsmin.JSMinFilter']</pre></td> </tr> <tr> <td>DEFAULT_FILE_STORAGE</td> <td class="code"><pre>'django.core.files.storage.FileSystemStorage'</pre></td> </tr> <tr> <td>INSTALLED_APPS</td> <td class="code"><pre>['openstack_dashboard.dashboards.project', 'openstack_dashboard.contrib.sahara.content.data_processing', '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', 'openstack_dashboard.django_pyscss_fix', 'compressor', 'horizon', 'openstack_auth']</pre></td> </tr> <tr> <td>LANGUAGES_BIDI</td> <td class="code"><pre>('he', 'ar', 'fa', 'ur')</pre></td> </tr> <tr> <td>USE_L10N</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>YEAR_MONTH_FORMAT</td> <td class="code"><pre>'F Y'</pre></td> </tr> <tr> <td>COMPRESS_YUI_CSS_ARGUMENTS</td> <td class="code"><pre>u''</pre></td> </tr> <tr> <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>STATICFILES_DIRS</td> <td class="code"><pre>[('horizon/lib/angular', '/usr/share/javascript/angular'), ('horizon/lib/angular', '/usr/share/javascript/angular_bootstrap'), ('horizon/lib/angular', '/usr/share/javascript/angular_gettext'), ('horizon/lib/angular', '/usr/share/javascript/angular_lrdragndrop'), ('horizon/lib/angular', '/usr/share/javascript/angular_smart_table'), ('horizon/lib/bootstrap_datepicker', '/usr/share/javascript/bootstrap_datepicker'), ('bootstrap', '/usr/share/javascript/bootstrap_scss'), ('horizon/lib/bootswatch', '/usr/share/javascript/bootswatch'), ('horizon/lib', '/usr/share/javascript/d3'), ('horizon/lib', '/usr/share/javascript/hogan'), ('horizon/lib/font-awesome', '/usr/lib/python2.7/site-packages/xstatic/pkg/font_awesome/data'), ('horizon/lib/jasmine', '/usr/share/javascript/jasmine'), ('horizon/lib/jquery', '/usr/lib/python2.7/site-packages/xstatic/pkg/jquery/data'), ('horizon/lib/jquery', '/usr/share/javascript/jquery_migrate'), ('horizon/lib/jquery', '/usr/share/javascript/jquery_quicksearch'), ('horizon/lib/jquery', '/usr/share/javascript/jquery_tablesorter'), ('horizon/lib/jsencrypt', '/usr/share/javascript/jsencrypt'), ('horizon/lib/magic_search', '/usr/share/javascript/magic_search'), ('horizon/lib/mdi', '/usr/share/javascript/mdi'), ('horizon/lib', '/usr/share/javascript/rickshaw'), ('horizon/lib/roboto_fontface', '/usr/share/javascript/roboto_fontface'), ('horizon/lib', '/usr/share/javascript/spin'), ('horizon/lib', '/usr/share/javascript/termjs'), ('horizon/lib/jquery-ui', '/usr/share/javascript/jquery_ui'), ('custom', '/usr/share/openstack-dashboard/openstack_dashboard/themes/default')]</pre></td> </tr> <tr> <td>CUSTOM_THEME</td> <td class="code"><pre>'/usr/share/openstack-dashboard/openstack_dashboard/themes/default'</pre></td> </tr> <tr> <td>SECURE_PROXY_SSL_HEADER</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>LOCAL_PATH</td> <td class="code"><pre>'/usr/share/openstack-dashboard/openstack_dashboard/local'</pre></td> </tr> <tr> <td>LANGUAGE_COOKIE_AGE</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>SESSION_COOKIE_HTTPONLY</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>DEBUG_PROPAGATE_EXCEPTIONS</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>INTERNAL_IPS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>MONTH_DAY_FORMAT</td> <td class="code"><pre>'F j'</pre></td> </tr> <tr> <td>LOGIN_URL</td> <td class="code"><pre>'/dashboard/auth/login/'</pre></td> </tr> <tr> <td>POLICY_CHECK_FUNCTION</td> <td class="code"><pre><function check at 0x7f5c7dc1f668></pre></td> </tr> <tr> <td>OPENSTACK_KEYSTONE_URL</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>SECURITY_GROUP_RULES</td> <td class="code"><pre>{'all_icmp': {'from_port': '-1', 'ip_protocol': 'icmp', 'name': 'ALL ICMP', 'to_port': '-1'}, 'all_tcp': {'from_port': '1', 'ip_protocol': 'tcp', 'name': 'ALL TCP', 'to_port': '65535'}, 'all_udp': {'from_port': '1', 'ip_protocol': 'udp', 'name': 'ALL UDP', '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'}}</pre></td> </tr> <tr> <td>TIME_FORMAT</td> <td class="code"><pre>'P'</pre></td> </tr> <tr> <td>TOKEN_TIMEOUT_MARGIN</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>COMPRESS_STORAGE</td> <td class="code"><pre>u'compressor.storage.CompressorFileStorage'</pre></td> </tr> <tr> <td>HORIZON_CONFIG</td> <td class="code"><pre>{'ajax_queue_limit': 10, 'angular_modules': ['horizon.dashboard.project', 'horizon.dashboard.identity'], '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.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.openstack.common.apiclient.exceptions.NotFound'>), 'recoverable': (<class 'keystoneclient.exceptions.ClientException'>, <class 'keystoneclient.exceptions.AuthorizationFailure'>, <class 'keystoneclient.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.openstack.common.apiclient.exceptions.ClientException'>, <class 'saharaclient.api.base.APIException'>, <class 'requests.exceptions.RequestException'>), 'unauthorized': (<class 'keystoneclient.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.openstack.common.apiclient.exceptions.Unauthorized'>)}, 'external_templates': ['auth/login/login.regular.mock.html', 'auth/login/login.websso.mock.html', 'framework/widgets/action-list/action-list.single-button-dropdown.mock.html', 'framework/widgets/action-list/action-list.split-botton-dropdown.mock.html', 'framework/widgets/action-list/action.html', 'framework/widgets/action-list/button-group.mock.html', 'framework/widgets/action-list/menu-item.html', 'framework/widgets/action-list/menu.html', 'framework/widgets/action-list/single-button.html', 'framework/widgets/action-list/split-button.html', 'framework/widgets/action-list/warning-tooltip.html', 'framework/widgets/charts/chart-tooltip.html', 'framework/widgets/charts/pie-chart.html', 'framework/widgets/headers/hz-page-header.html', 'framework/widgets/help-panel/help-panel.html', 'framework/widgets/magic-search/hz-magic-search-bar.html', 'framework/widgets/magic-search/magic-search.html', 'framework/widgets/metadata/display/metadata-display.html', 'framework/widgets/metadata/tree/metadata-tree-item.html', 'framework/widgets/metadata/tree/metadata-tree.html', 'framework/widgets/modal/simple-modal.html', 'framework/widgets/table/hz-table-footer.html', 'framework/widgets/table/search-bar.html', 'framework/widgets/table/st-table.mock.html', 'framework/widgets/table/table.mock.html', 'framework/widgets/toast/toast.html', 'framework/widgets/transfer-table/transfer-table.basic.mock.html', 'framework/widgets/transfer-table/transfer-table.clone.mock.html', 'framework/widgets/transfer-table/transfer-table.example.html', 'framework/widgets/transfer-table/transfer-table.html', 'framework/widgets/transfer-table/transfer-table.max-1.mock.html', 'framework/widgets/transfer-table/transfer-table.max-2.mock.html', 'framework/widgets/wizard/wizard.html', 'app/core/images/table/images-table.html', 'app/core/metadata/modal/modal.html', 'dashboard/project/workflow/launch-instance/configuration/configuration.help.html', 'dashboard/project/workflow/launch-instance/configuration/configuration.html', 'dashboard/project/workflow/launch-instance/configuration/load-edit.html', 'dashboard/project/workflow/launch-instance/flavor/flavor.help.html', 'dashboard/project/workflow/launch-instance/flavor/flavor.html', 'dashboard/project/workflow/launch-instance/flavor/select-flavor-table.html', 'dashboard/project/workflow/launch-instance/keypair/create-keypair.html', 'dashboard/project/workflow/launch-instance/keypair/import-keypair.html', 'dashboard/project/workflow/launch-instance/keypair/keypair-details.html', 'dashboard/project/workflow/launch-instance/keypair/keypair.help.html', 'dashboard/project/workflow/launch-instance/keypair/keypair.html', 'dashboard/project/workflow/launch-instance/keypair/new-keypair.html', 'dashboard/project/workflow/launch-instance/network/network.help.html', 'dashboard/project/workflow/launch-instance/network/network.html', 'dashboard/project/workflow/launch-instance/security-groups/security-group-details.html', 'dashboard/project/workflow/launch-instance/security-groups/security-groups.help.html', 'dashboard/project/workflow/launch-instance/security-groups/security-groups.html', 'dashboard/project/workflow/launch-instance/source/source-details.html', 'dashboard/project/workflow/launch-instance/source/source.help.html', 'dashboard/project/workflow/launch-instance/source/source.html', 'dashboard/identity/users/table/table.html'], 'help_url': 'https://www.rdoproject.org/Docs', 'js_files': ['auth/auth.module.js', 'auth/login/login.module.js', 'framework/framework.module.js', 'framework/util/bind-scope/bind-scope.module.js', 'framework/util/filters/filters.module.js', 'framework/util/promise-toggle/promise-toggle.module.js', 'framework/util/tech-debt/tech-debt.module.js', 'framework/util/util.module.js', 'framework/util/validators/validators.module.js', 'framework/widgets/action-list/action-list.module.js', 'framework/widgets/charts/charts.module.js', 'framework/widgets/headers/headers.module.js', 'framework/widgets/help-panel/help-panel.module.js', 'framework/widgets/magic-search/magic-search.module.js', 'framework/widgets/metadata/display/display.module.js', 'framework/widgets/metadata/metadata.module.js', 'framework/widgets/metadata/tree/tree.module.js', 'framework/widgets/modal-wait-spinner/modal-wait-spinner.module.js', 'framework/widgets/modal/modal.module.js', 'framework/widgets/table/table.module.js', 'framework/widgets/toast/toast.module.js', 'framework/widgets/transfer-table/transfer-table.module.js', 'framework/widgets/widgets.module.js', 'framework/widgets/wizard/wizard.module.js', 'auth/login/login-finder.directive.js', 'auth/login/login.controller.js', 'framework/conf/conf.js', 'framework/util/bind-scope/bind-scope.directive.js', 'framework/util/filters/filters.js', 'framework/util/http/http.js', 'framework/util/i18n/i18n.js', 'framework/util/promise-toggle/hz-promise-toggle.directive.js', 'framework/util/tech-debt/dummy.controller.js', 'framework/util/tech-debt/helper-functions.service.js', 'framework/util/tech-debt/image-file-on-change.directive.js', 'framework/util/validators/hz-password-match.directive.js', 'framework/util/validators/validate-number-max.directive.js', 'framework/util/validators/validate-number-min.directive.js', 'framework/util/workflow/workflow.js', 'framework/util/workflow/workflow.service.js', 'framework/widgets/action-list/action-list.directive.js', 'framework/widgets/action-list/action.directive.js', 'framework/widgets/action-list/button-tooltip.directive.js', 'framework/widgets/action-list/button-tooltip.row-warning.service.js', 'framework/widgets/action-list/menu.directive.js', 'framework/widgets/charts/chart-tooltip.directive.js', 'framework/widgets/charts/pie-chart.directive.js', 'framework/widgets/headers/hz-page-header.directive.js', 'framework/widgets/help-panel/help-panel.directive.js', 'framework/widgets/magic-search/hz-magic-search-bar.directive.js', 'framework/widgets/magic-search/magic-overrides.directive.js', 'framework/widgets/magic-search/st-magic-search.directive.js', 'framework/widgets/metadata/display/metadata-display.controller.js', 'framework/widgets/metadata/display/metadata-display.directive.js', 'framework/widgets/metadata/tree/metadata-tree-item.controller.js', 'framework/widgets/metadata/tree/metadata-tree-item.directive.js', 'framework/widgets/metadata/tree/metadata-tree-unique.directive.js', 'framework/widgets/metadata/tree/metadata-tree.controller.js', 'framework/widgets/metadata/tree/metadata-tree.directive.js', 'framework/widgets/metadata/tree/tree.service.js', 'framework/widgets/modal-wait-spinner/modal-wait-spinner.directive.js', 'framework/widgets/modal-wait-spinner/modal-wait-spinner.service.js', 'framework/widgets/modal/simple-modal.controller.js', 'framework/widgets/modal/simple-modal.service.js', 'framework/widgets/table/hz-expand-detail.directive.js', 'framework/widgets/table/hz-search-bar.directive.js', 'framework/widgets/table/hz-select-all.directive.js', 'framework/widgets/table/hz-select.directive.js', 'framework/widgets/table/hz-table-footer.directive.js', 'framework/widgets/table/hz-table.directive.js', 'framework/widgets/table/table.controller.js', 'framework/widgets/toast/toast.directive.js', 'framework/widgets/toast/toast.service.js', 'framework/widgets/transfer-table/transfer-table.controller.js', 'framework/widgets/transfer-table/transfer-table.directive.js', 'framework/widgets/wizard/modal-container.controller.js', 'framework/widgets/wizard/wizard.controller.js', 'framework/widgets/wizard/wizard.directive.js', 'app/app.module.js', 'app/core/cloud-services/cloud-services.module.js', 'app/core/core.module.js', 'app/core/images/images.module.js', 'app/core/metadata/metadata.module.js', 'app/core/metadata/modal/modal.module.js', 'app/core/openstack-service-api/openstack-service-api.module.js', 'app/core/workflow/workflow.module.js', 'app/tech-debt/tech-debt.module.js', 'app/core/cloud-services/hz-if-nova-extensions.directive.js', 'app/core/cloud-services/hz-if-services.directive.js', 'app/core/cloud-services/hz-if-settings.directive.js', 'app/core/images/filters/image-status.filter.js', 'app/core/images/filters/image-type.filter.js', 'app/core/images/table/images-table.controller.js', 'app/core/metadata/metadata.service.js', 'app/core/metadata/modal/modal-helper.controller.js', 'app/core/metadata/modal/modal.controller.js', 'app/core/metadata/modal/modal.service.js', 'app/core/openstack-service-api/cinder.service.js', 'app/core/openstack-service-api/glance.service.js', 'app/core/openstack-service-api/heat.service.js', 'app/core/openstack-service-api/keystone.service.js', 'app/core/openstack-service-api/neutron.service.js', 'app/core/openstack-service-api/nova-extensions.service.js', 'app/core/openstack-service-api/nova.service.js', 'app/core/openstack-service-api/policy.service.js', 'app/core/openstack-service-api/security-group.service.js', 'app/core/openstack-service-api/service-catalog.service.js', 'app/core/openstack-service-api/settings.service.js', 'app/core/openstack-service-api/user-session.service.js', 'app/core/workflow/decorator.service.js', 'app/core/workflow/workflow.service.js', 'app/tech-debt/hz-namespace-resource-type-form.controller.js', 'app/tech-debt/image-form.controller.js', 'dashboard/project/images/images.module.js', 'dashboard/project/project.module.js', 'dashboard/project/workflow/launch-instance/launch-instance.module.js', 'dashboard/project/workflow/workflow.module.js', 'dashboard/project/workflow/launch-instance/configuration/configuration.controller.js', 'dashboard/project/workflow/launch-instance/configuration/load-edit.directive.js', 'dashboard/project/workflow/launch-instance/flavor/flavor.controller.js', 'dashboard/project/workflow/launch-instance/flavor/select-flavor-table.directive.js', 'dashboard/project/workflow/launch-instance/keypair/create-keypair.controller.js', 'dashboard/project/workflow/launch-instance/keypair/import-keypair.controller.js', 'dashboard/project/workflow/launch-instance/keypair/keypair.controller.js', 'dashboard/project/workflow/launch-instance/keypair/new-keypair.controller.js', 'dashboard/project/workflow/launch-instance/launch-instance-modal.controller.js', 'dashboard/project/workflow/launch-instance/launch-instance-model.js', 'dashboard/project/workflow/launch-instance/launch-instance-wizard.controller.js', 'dashboard/project/workflow/launch-instance/launch-instance-workflow.service.js', 'dashboard/project/workflow/launch-instance/network/network.controller.js', 'dashboard/project/workflow/launch-instance/security-groups/security-groups.controller.js', 'dashboard/project/workflow/launch-instance/source/source.controller.js', 'dashboard/identity/identity.module.js', 'dashboard/identity/projects/projects.module.js', 'dashboard/identity/users/users.module.js', 'dashboard/identity/users/table/table.controller.js', 'dashboard/project/data_processing/data_processing.event_log.js', 'dashboard/project/data_processing/data_processing.job_interface_arguments.js'], 'js_spec_files': ['framework/util/promise-toggle/hz-promise-toggle.directive.mock.js', 'auth/login/login.controller.spec.js', 'auth/login/login.module.spec.js', 'auth/login/login.spec.js', 'framework/framework.module.spec.js', 'framework/util/bind-scope/bind-scope.spec.js', 'framework/util/filters/filters.spec.js', 'framework/util/http/http.spec.js', 'framework/util/i18n/i18n.spec.js', 'framework/util/promise-toggle/hz-promise-toggle.directive.spec.js', 'framework/util/tech-debt/helper-functions.spec.js', 'framework/util/validators/validators.spec.js', 'framework/util/workflow/workflow.spec.js', 'framework/widgets/action-list/action-list.spec.js', 'framework/widgets/charts/chart-tooltip.spec.js', 'framework/widgets/charts/charts.spec.js', 'framework/widgets/charts/pie-chart.spec.js', 'framework/widgets/headers/headers.module.spec.js', 'framework/widgets/headers/hz-page-header.directive.spec.js', 'framework/widgets/help-panel/help-panel.directive.spec.js', 'framework/widgets/help-panel/help-panel.module.spec.js', 'framework/widgets/magic-search/hz-magic-search-bar.spec.js', 'framework/widgets/magic-search/magic-overrides.directive.spec.js', 'framework/widgets/magic-search/st-magic-search.directive.spec.js', 'framework/widgets/metadata/display/display.spec.js', 'framework/widgets/metadata/tree/tree.spec.js', 'framework/widgets/modal-wait-spinner/modal-wait-spinner.spec.js', 'framework/widgets/modal/simple-modal.spec.js', 'framework/widgets/table/search-bar.spec.js', 'framework/widgets/table/table.spec.js', 'framework/widgets/toast/toast.spec.js', 'framework/widgets/transfer-table/transfer-table.controller.spec.js', 'framework/widgets/transfer-table/transfer-table.directive.spec.js', 'framework/widgets/transfer-table/transfer-table.module.spec.js', 'framework/widgets/widgets.module.spec.js', 'framework/widgets/wizard/wizard.spec.js', 'app/core/openstack-service-api/common-test.mock.js', 'app/app.module.spec.js', 'app/core/cloud-services/hz-if-nova-extensions.directive.spec.js', 'app/core/cloud-services/hz-if-services.directive.spec.js', 'app/core/cloud-services/hz-if-settings.directive.spec.js', 'app/core/core.module.spec.js', 'app/core/images/filters/image-status.filter.spec.js', 'app/core/images/filters/image-type.filter.spec.js', 'app/core/images/images.module.spec.js', 'app/core/images/table/images-table.controller.spec.js', 'app/core/metadata/metadata.module.spec.js', 'app/core/metadata/metadata.service.spec.js', 'app/core/metadata/modal/modal-helper.controller.spec.js', 'app/core/metadata/modal/modal.controller.spec.js', 'app/core/metadata/modal/modal.module.spec.js', 'app/core/metadata/modal/modal.service.spec.js', 'app/core/openstack-service-api/cinder.service.spec.js', 'app/core/openstack-service-api/glance.service.spec.js', 'app/core/openstack-service-api/heat.service.spec.js', 'app/core/openstack-service-api/keystone.service.spec.js', 'app/core/openstack-service-api/neutron.service.spec.js', 'app/core/openstack-service-api/nova-extensions.service.spec.js', 'app/core/openstack-service-api/nova.service.spec.js', 'app/core/openstack-service-api/policy.service.spec.js', 'app/core/openstack-service-api/security-group.service.spec.js', 'app/core/openstack-service-api/service-catalog.service.spec.js', 'app/core/openstack-service-api/settings.service.spec.js', 'app/core/openstack-service-api/user-session.service.spec.js', 'app/core/workflow/workflow.module.spec.js', 'dashboard/project/images/images.module.spec.js', 'dashboard/project/project.module.spec.js', 'dashboard/project/workflow/launch-instance/configuration/configuration.controller.spec.js', 'dashboard/project/workflow/launch-instance/flavor/flavor.spec.js', 'dashboard/project/workflow/launch-instance/keypair/keypair.spec.js', 'dashboard/project/workflow/launch-instance/launch-instance-modal.controller.spec.js', 'dashboard/project/workflow/launch-instance/launch-instance-model.spec.js', 'dashboard/project/workflow/launch-instance/launch-instance-wizard.controller.spec.js', 'dashboard/project/workflow/launch-instance/launch-instance-workflow.service.spec.js', 'dashboard/project/workflow/launch-instance/launch-instance.module.spec.js', 'dashboard/project/workflow/launch-instance/network/network.spec.js', 'dashboard/project/workflow/launch-instance/security-groups/security-groups.spec.js', 'dashboard/project/workflow/launch-instance/source/source.controller.spec.js', 'dashboard/project/workflow/workflow.module.spec.js', 'dashboard/identity/identity.module.spec.js', 'dashboard/identity/projects/projects.module.spec.js', 'dashboard/identity/users/table/table.controller.spec.js', 'dashboard/identity/users/users.module.spec.js'], 'panel_customization': [{'PANEL_GROUP': 'compute', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0450>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1010_compute_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1010_compute_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.overview.panel.Overview', 'DEFAULT_PANEL': 'overview', 'PANEL': 'overview', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'compute', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1020_project_overview_panel.pyc', '__name__': 'openstack_dashboard.enabled._1020_project_overview_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.instances.panel.Instances', 'PANEL': 'instances', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'compute', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1030_project_instances_panel.pyc', '__name__': 'openstack_dashboard.enabled._1030_project_instances_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.volumes.panel.Volumes', 'PANEL': 'volumes', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'compute', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1040_project_volumes_panel.pyc', '__name__': 'openstack_dashboard.enabled._1040_project_volumes_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.images.panel.Images', 'PANEL': 'images', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'compute', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1050_project_images_panel.pyc', '__name__': 'openstack_dashboard.enabled._1050_project_images_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.access_and_security.panel.AccessAndSecurity', 'PANEL': 'access_and_security', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'compute', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1060_project_access_panel.pyc', '__name__': 'openstack_dashboard.enabled._1060_project_access_panel', '__package__': None}, {'PANEL_GROUP': 'network', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e07d0>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1410_network_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1410_network_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.network_topology.panel.NetworkTopology', 'PANEL': 'network_topology', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1420_project_network_topology_panel.pyc', '__name__': 'openstack_dashboard.enabled._1420_project_network_topology_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.networks.panel.Networks', 'PANEL': 'networks', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1430_project_network_panel.pyc', '__name__': 'openstack_dashboard.enabled._1430_project_network_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.routers.panel.Routers', 'PANEL': 'routers', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1440_project_routers_panel.pyc', '__name__': 'openstack_dashboard.enabled._1440_project_routers_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.loadbalancers.panel.LoadBalancer', 'PANEL': 'loadbalancers', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1450_project_loadbalancers_panel.pyc', '__name__': 'openstack_dashboard.enabled._1450_project_loadbalancers_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.firewalls.panel.Firewall', 'PANEL': 'firewalls', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1460_project_firewalls_panel.pyc', '__name__': 'openstack_dashboard.enabled._1460_project_firewalls_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.vpn.panel.VPN', 'PANEL': 'vpn', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1470_project_vpn_panel.pyc', '__name__': 'openstack_dashboard.enabled._1470_project_vpn_panel', '__package__': None}, {'PANEL_GROUP': 'orchestration', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0a10>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1610_orchestration_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1610_orchestration_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.stacks.panel.Stacks', 'PANEL': 'stacks', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'orchestration', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1620_project_stacks_panel.pyc', '__name__': 'openstack_dashboard.enabled._1620_project_stacks_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.stacks.resource_types.panel.ResourceTypes', 'PANEL': 'stacks.resource_types', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'orchestration', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1630_project_resource_types_panel.pyc', '__name__': 'openstack_dashboard.enabled._1630_project_resource_types_panel', '__package__': None}, {'PANEL_GROUP': 'database', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0cd0>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1710_database_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1710_database_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.contrib.trove.content.databases.panel.Databases', 'PANEL': 'databases', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'database', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1720_project_databases_panel.pyc', '__name__': 'openstack_dashboard.enabled._1720_project_databases_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.trove.content.database_backups.panel.Backups', 'PANEL': 'database_backups', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'database', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1730_project_database_backups_panel.pyc', '__name__': 'openstack_dashboard.enabled._1730_project_database_backups_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.trove.content.database_clusters.panel.Clusters', 'PANEL': 'database_clusters', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'database', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1740_project_database_clusters_panel.pyc', '__name__': 'openstack_dashboard.enabled._1740_project_database_clusters_panel', '__package__': None}, {'PANEL_GROUP': 'data_processing', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0b50>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1810_data_processing_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1810_data_processing_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.wizard.panel.WizardPanel', 'PANEL': 'data_processing.wizard', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1815_data_processing_wizard_panel.pyc', '__name__': 'openstack_dashboard.enabled._1815_data_processing_wizard_panel', '__package__': None}, {'ADD_INSTALLED_APPS': ['openstack_dashboard.contrib.sahara.content.data_processing'], 'ADD_JS_FILES': ['dashboard/project/data_processing/data_processing.event_log.js'], 'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.clusters.panel.ClustersPanel', 'PANEL': 'data_processing.clusters', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1820_data_processing_clusters_panel.pyc', '__name__': 'openstack_dashboard.enabled._1820_data_processing_clusters_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.job_executions.panel.JobExecutionsPanel', 'PANEL': 'data_processing.job_executions', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1825_data_processing_job_executions_panel.pyc', '__name__': 'openstack_dashboard.enabled._1825_data_processing_job_executions_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.cluster_templates.panel.ClusterTemplatesPanel', 'PANEL': 'data_processing.cluster_templates', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1830_data_processing_cluster_templates_panel.pyc', '__name__': 'openstack_dashboard.enabled._1830_data_processing_cluster_templates_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.nodegroup_templates.panel.NodegroupTemplatesPanel', 'PANEL': 'data_processing.nodegroup_templates', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1835_data_processing_nodegroup_templates_panel.pyc', '__name__': 'openstack_dashboard.enabled._1835_data_processing_nodegroup_templates_panel', '__package__': None}, {'ADD_JS_FILES': ['dashboard/project/data_processing/data_processing.job_interface_arguments.js'], 'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.jobs.panel.JobsPanel', 'PANEL': 'data_processing.jobs', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1840_data_processing_jobs_panel.pyc', '__name__': 'openstack_dashboard.enabled._1840_data_processing_jobs_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.job_binaries.panel.JobBinariesPanel', 'PANEL': 'data_processing.job_binaries', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1845_data_processing_job_binaries_panel.pyc', '__name__': 'openstack_dashboard.enabled._1845_data_processing_job_binaries_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.data_sources.panel.DataSourcesPanel', 'PANEL': 'data_processing.data_sources', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1850_data_processing_data_sources_panel.pyc', '__name__': 'openstack_dashboard.enabled._1850_data_processing_data_sources_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.data_image_registry.panel.ImageRegistryPanel', 'PANEL': 'data_processing.data_image_registry', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1855_data_processing_data_image_registry_panel.pyc', '__name__': 'openstack_dashboard.enabled._1855_data_processing_data_image_registry_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.data_plugins.panel.PluginsPanel', 'PANEL': 'data_processing.data_plugins', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1860_data_processing_data_plugins_panel.pyc', '__name__': 'openstack_dashboard.enabled._1860_data_processing_data_plugins_panel', '__package__': None}, {'PANEL_GROUP': 'object_store', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0f50>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1910_object_store_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1910_object_store_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.containers.panel.Containers', 'PANEL': 'containers', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'object_store', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1920_project_containers_panel.pyc', '__name__': 'openstack_dashboard.enabled._1920_project_containers_panel', '__package__': None}, {'PANEL_GROUP': 'admin', 'PANEL_GROUP_DASHBOARD': 'admin', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0fd0>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2010_admin_system_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._2010_admin_system_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.overview.panel.Overview', 'DEFAULT_PANEL': 'overview', 'PANEL': 'overview', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2020_admin_overview_panel.pyc', '__name__': 'openstack_dashboard.enabled._2020_admin_overview_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.metering.panel.Metering', 'PANEL': 'metering', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2030_admin_metering_panel.pyc', '__name__': 'openstack_dashboard.enabled._2030_admin_metering_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.hypervisors.panel.Hypervisors', 'PANEL': 'hypervisors', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2040_admin_hypervisors_panel.pyc', '__name__': 'openstack_dashboard.enabled._2040_admin_hypervisors_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.aggregates.panel.Aggregates', 'PANEL': 'aggregates', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2050_admin_aggregates_panel.pyc', '__name__': 'openstack_dashboard.enabled._2050_admin_aggregates_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.instances.panel.Instances', 'PANEL': 'instances', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2060_admin_instances_panel.pyc', '__name__': 'openstack_dashboard.enabled._2060_admin_instances_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.volumes.panel.Volumes', 'PANEL': 'volumes', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2070_admin_volumes_panel.pyc', '__name__': 'openstack_dashboard.enabled._2070_admin_volumes_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.flavors.panel.Flavors', 'PANEL': 'flavors', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2080_admin_flavors_panel.pyc', '__name__': 'openstack_dashboard.enabled._2080_admin_flavors_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.images.panel.Images', 'PANEL': 'images', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2090_admin_images_panel.pyc', '__name__': 'openstack_dashboard.enabled._2090_admin_images_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.networks.panel.Networks', 'PANEL': 'networks', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2100_admin_networks_panel.pyc', '__name__': 'openstack_dashboard.enabled._2100_admin_networks_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.routers.panel.Routers', 'PANEL': 'routers', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2110_admin_routers_panel.pyc', '__name__': 'openstack_dashboard.enabled._2110_admin_routers_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.defaults.panel.Defaults', 'PANEL': 'defaults', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2120_admin_defaults_panel.pyc', '__name__': 'openstack_dashboard.enabled._2120_admin_defaults_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.metadata_defs.panel.MetadataDefinitions', 'PANEL': 'metadata_defs', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2130_admin_metadata_defs_panel.pyc', '__name__': 'openstack_dashboard.enabled._2130_admin_metadata_defs_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.info.panel.Info', 'PANEL': 'info', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2140_admin_info_panel.pyc', '__name__': 'openstack_dashboard.enabled._2140_admin_info_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.identity.domains.panel.Domains', 'PANEL': 'domains', 'PANEL_DASHBOARD': 'identity', 'PANEL_GROUP': 'default', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_3010_identity_domains_panel.pyc', '__name__': 'openstack_dashboard.enabled._3010_identity_domains_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.identity.projects.panel.Tenants', 'PANEL': 'projects', 'PANEL_DASHBOARD': 'identity', 'PANEL_GROUP': 'default', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_3020_identity_projects_panel.pyc', '__name__': 'openstack_dashboard.enabled._3020_identity_projects_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.identity.users.panel.Users', 'PANEL': 'users', 'PANEL_DASHBOARD': 'identity', 'PANEL_GROUP': 'default', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_3030_identity_users_panel.pyc', '__name__': 'openstack_dashboard.enabled._3030_identity_users_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.identity.groups.panel.Groups', 'PANEL': 'groups', 'PANEL_DASHBOARD': 'identity', 'PANEL_GROUP': 'default', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_3040_identity_groups_panel.pyc', '__name__': 'openstack_dashboard.enabled._3040_identity_groups_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.identity.roles.panel.Roles', 'PANEL': 'roles', 'PANEL_DASHBOARD': 'identity', 'PANEL_GROUP': 'default', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_3050_identity_roles_panel.pyc', '__name__': 'openstack_dashboard.enabled._3050_identity_roles_panel', '__package__': None}], 'scss_files': ['dashboard/project/project.scss', 'dashboard/identity/identity.scss'], 'user_home': 'openstack_dashboard.views.get_user_home'}</pre></td> </tr> <tr> <td>AUTH_USER_MODEL</td> <td class="code"><pre>'openstack_auth.User'</pre></td> </tr> <tr> <td>DATE_INPUT_FORMATS</td> <td class="code"><pre>('%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')</pre></td> </tr> <tr> <td>COMPRESS_CSS_FILTERS</td> <td class="code"><pre>('compressor.filters.css_default.CssAbsoluteFilter',)</pre></td> </tr> <tr> <td>AUTHENTICATION_BACKENDS</td> <td class="code"><pre>('openstack_auth.backend.KeystoneBackend',)</pre></td> </tr> <tr> <td>EMAIL_HOST_PASSWORD</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>COMPRESS_REBUILD_TIMEOUT</td> <td class="code"><pre>2592000</pre></td> </tr> <tr> <td>PASSWORD_RESET_TIMEOUT_DAYS</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>SESSION_FILE_PATH</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>CACHE_MIDDLEWARE_ALIAS</td> <td class="code"><pre>'default'</pre></td> </tr> <tr> <td>ROOT_PATH</td> <td class="code"><pre>'/usr/share/openstack-dashboard/openstack_dashboard'</pre></td> </tr> <tr> <td>SESSION_SAVE_EVERY_REQUEST</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>NUMBER_GROUPING</td> <td class="code"><pre>0</pre></td> </tr> <tr> <td>SESSION_ENGINE</td> <td class="code"><pre>'django.contrib.sessions.backends.cache'</pre></td> </tr> <tr> <td>COMPRESS_YUGLIFY_BINARY</td> <td class="code"><pre>u'yuglify'</pre></td> </tr> <tr> <td>CSRF_FAILURE_VIEW</td> <td class="code"><pre>'django.views.csrf.csrf_failure'</pre></td> </tr> <tr> <td>CSRF_COOKIE_PATH</td> <td class="code"><pre>'/'</pre></td> </tr> <tr> <td>COMPRESS_CACHE_KEY_FUNCTION</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>LOGIN_REDIRECT_URL</td> <td class="code"><pre>'/dashboard'</pre></td> </tr> <tr> <td>DECIMAL_SEPARATOR</td> <td class="code"><pre>'.'</pre></td> </tr> <tr> <td>COMPRESS_PRECOMPILERS</td> <td class="code"><pre>(('text/scss', 'horizon.utils.scss_filter.HorizonScssFilter'),)</pre></td> </tr> <tr> <td>COMPRESS_MTIME_DELAY</td> <td class="code"><pre>10</pre></td> </tr> <tr> <td>LOCALE_PATHS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>TEMPLATE_STRING_IF_INVALID</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>AUTHENTICATION_URLS</td> <td class="code"><pre>['openstack_auth.urls']</pre></td> </tr> <tr> <td>LOGOUT_URL</td> <td class="code"><pre>'/dashboard/auth/logout/'</pre></td> </tr> <tr> <td>EMAIL_USE_TLS</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>TEMPLATE_DIRS</td> <td class="code"><pre>('/usr/share/openstack-dashboard/openstack_dashboard/templates',)</pre></td> </tr> <tr> <td>FIXTURE_DIRS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>EMAIL_HOST</td> <td class="code"><pre>'localhost'</pre></td> </tr> <tr> <td>DATE_FORMAT</td> <td class="code"><pre>'N j, Y'</pre></td> </tr> <tr> <td>SESSION_COOKIE_MAX_SIZE</td> <td class="code"><pre>4093</pre></td> </tr> <tr> <td>MEDIA_ROOT</td> <td class="code"><pre>'/usr/share/openstack-dashboard/media'</pre></td> </tr> <tr> <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td> <td class="code"><pre>'horizon.exceptions.HorizonReporterFilter'</pre></td> </tr> <tr> <td>ADMINS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>SESSION_TIMEOUT</td> <td class="code"><pre>1800</pre></td> </tr> <tr> <td>FORMAT_MODULE_PATH</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>DEFAULT_FROM_EMAIL</td> <td class="code"><pre>'webmaster@localhost'</pre></td> </tr> <tr> <td>COMPRESS_ROOT</td> <td class="code"><pre>'/usr/share/openstack-dashboard/static'</pre></td> </tr> <tr> <td>MEDIA_URL</td> <td class="code"><pre>'/dashboard/media/'</pre></td> </tr> <tr> <td>DATETIME_FORMAT</td> <td class="code"><pre>'N j, Y, P'</pre></td> </tr> <tr> <td>EMAIL_SUBJECT_PREFIX</td> <td class="code"><pre>'[Django] '</pre></td> </tr> <tr> <td>OPENSTACK_KEYSTONE_BACKEND</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>API_RESULT_PAGE_SIZE</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>OPENSTACK_KEYSTONE_DEFAULT_ROLE</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>COMPRESS_JS_COMPRESSOR</td> <td class="code"><pre>u'compressor.js.JsCompressor'</pre></td> </tr> <tr> <td>DISALLOWED_USER_AGENTS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>ALLOWED_INCLUDE_ROOTS</td> <td class="code"><pre>()</pre></td> </tr> <tr> <td>COMPRESS_MINT_DELAY</td> <td class="code"><pre>30</pre></td> </tr> <tr> <td>LOGGING</td> <td class="code"><pre>{'disable_existing_loggers': False, 'formatters': {'normal': {'format': 'dashboard-%(name)s: %(levelname)s %(message)s'}, 'verbose': {'format': '%(asctime)s %(process)d %(levelname)s %(name)s %(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'level': 'INFO'}, 'file': {'class': 'logging.FileHandler', 'filename': '/var/log/horizon/horizon.log', 'formatter': 'verbose', 'level': 'INFO'}, 'null': {'class': 'django.utils.log.NullHandler', 'level': 'DEBUG'}, 'syslog': {'address': '/dev/log', 'class': 'logging.handlers.SysLogHandler', 'facility': 'local1', 'formatter': 'normal', 'level': 'INFO'}}, 'loggers': {'ceilometerclient': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'cinderclient': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'django': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'django.db.backends': {'handlers': ['null'], 'propagate': False}, 'glanceclient': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'heatclient': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'horizon': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'keystoneclient': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'neutronclient': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'nose.plugins.manager': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'novaclient': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'openstack_auth': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'openstack_dashboard': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'requests': {'handlers': ['null'], 'propagate': False}, 'swiftclient': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}, 'troveclient': {'handlers': ['file'], 'level': 'INFO', 'propagate': False}}, 'version': 1}</pre></td> </tr> <tr> <td>PREPEND_WWW</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>SHORT_DATE_FORMAT</td> <td class="code"><pre>'m/d/Y'</pre></td> </tr> <tr> <td>TEMPLATES</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>TEST_RUNNER</td> <td class="code"><pre>'django_nose.NoseTestSuiteRunner'</pre></td> </tr> <tr> <td>COMPRESS_ENABLED</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>OPENSTACK_HYPERVISOR_FEATURES</td> <td class="code"><pre>{'can_set_mount_point': True, 'can_set_password': False}</pre></td> </tr> <tr> <td>CACHE_MIDDLEWARE_KEY_PREFIX</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>COMPRESS_OFFLINE</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>TIME_ZONE</td> <td class="code"><pre>'UTC'</pre></td> </tr> <tr> <td>COMPRESS_OFFLINE_CONTEXT</td> <td class="code"><pre>{'HORIZON_CONFIG': {'ajax_queue_limit': 10, 'angular_modules': ['horizon.dashboard.project', 'horizon.dashboard.identity'], '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.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.openstack.common.apiclient.exceptions.NotFound'>), 'recoverable': (<class 'keystoneclient.exceptions.ClientException'>, <class 'keystoneclient.exceptions.AuthorizationFailure'>, <class 'keystoneclient.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.openstack.common.apiclient.exceptions.ClientException'>, <class 'saharaclient.api.base.APIException'>, <class 'requests.exceptions.RequestException'>), 'unauthorized': (<class 'keystoneclient.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.openstack.common.apiclient.exceptions.Unauthorized'>)}, 'external_templates': ['auth/login/login.regular.mock.html', 'auth/login/login.websso.mock.html', 'framework/widgets/action-list/action-list.single-button-dropdown.mock.html', 'framework/widgets/action-list/action-list.split-botton-dropdown.mock.html', 'framework/widgets/action-list/action.html', 'framework/widgets/action-list/button-group.mock.html', 'framework/widgets/action-list/menu-item.html', 'framework/widgets/action-list/menu.html', 'framework/widgets/action-list/single-button.html', 'framework/widgets/action-list/split-button.html', 'framework/widgets/action-list/warning-tooltip.html', 'framework/widgets/charts/chart-tooltip.html', 'framework/widgets/charts/pie-chart.html', 'framework/widgets/headers/hz-page-header.html', 'framework/widgets/help-panel/help-panel.html', 'framework/widgets/magic-search/hz-magic-search-bar.html', 'framework/widgets/magic-search/magic-search.html', 'framework/widgets/metadata/display/metadata-display.html', 'framework/widgets/metadata/tree/metadata-tree-item.html', 'framework/widgets/metadata/tree/metadata-tree.html', 'framework/widgets/modal/simple-modal.html', 'framework/widgets/table/hz-table-footer.html', 'framework/widgets/table/search-bar.html', 'framework/widgets/table/st-table.mock.html', 'framework/widgets/table/table.mock.html', 'framework/widgets/toast/toast.html', 'framework/widgets/transfer-table/transfer-table.basic.mock.html', 'framework/widgets/transfer-table/transfer-table.clone.mock.html', 'framework/widgets/transfer-table/transfer-table.example.html', 'framework/widgets/transfer-table/transfer-table.html', 'framework/widgets/transfer-table/transfer-table.max-1.mock.html', 'framework/widgets/transfer-table/transfer-table.max-2.mock.html', 'framework/widgets/wizard/wizard.html', 'app/core/images/table/images-table.html', 'app/core/metadata/modal/modal.html', 'dashboard/project/workflow/launch-instance/configuration/configuration.help.html', 'dashboard/project/workflow/launch-instance/configuration/configuration.html', 'dashboard/project/workflow/launch-instance/configuration/load-edit.html', 'dashboard/project/workflow/launch-instance/flavor/flavor.help.html', 'dashboard/project/workflow/launch-instance/flavor/flavor.html', 'dashboard/project/workflow/launch-instance/flavor/select-flavor-table.html', 'dashboard/project/workflow/launch-instance/keypair/create-keypair.html', 'dashboard/project/workflow/launch-instance/keypair/import-keypair.html', 'dashboard/project/workflow/launch-instance/keypair/keypair-details.html', 'dashboard/project/workflow/launch-instance/keypair/keypair.help.html', 'dashboard/project/workflow/launch-instance/keypair/keypair.html', 'dashboard/project/workflow/launch-instance/keypair/new-keypair.html', 'dashboard/project/workflow/launch-instance/network/network.help.html', 'dashboard/project/workflow/launch-instance/network/network.html', 'dashboard/project/workflow/launch-instance/security-groups/security-group-details.html', 'dashboard/project/workflow/launch-instance/security-groups/security-groups.help.html', 'dashboard/project/workflow/launch-instance/security-groups/security-groups.html', 'dashboard/project/workflow/launch-instance/source/source-details.html', 'dashboard/project/workflow/launch-instance/source/source.help.html', 'dashboard/project/workflow/launch-instance/source/source.html', 'dashboard/identity/users/table/table.html'], 'help_url': 'https://www.rdoproject.org/Docs', 'js_files': ['auth/auth.module.js', 'auth/login/login.module.js', 'framework/framework.module.js', 'framework/util/bind-scope/bind-scope.module.js', 'framework/util/filters/filters.module.js', 'framework/util/promise-toggle/promise-toggle.module.js', 'framework/util/tech-debt/tech-debt.module.js', 'framework/util/util.module.js', 'framework/util/validators/validators.module.js', 'framework/widgets/action-list/action-list.module.js', 'framework/widgets/charts/charts.module.js', 'framework/widgets/headers/headers.module.js', 'framework/widgets/help-panel/help-panel.module.js', 'framework/widgets/magic-search/magic-search.module.js', 'framework/widgets/metadata/display/display.module.js', 'framework/widgets/metadata/metadata.module.js', 'framework/widgets/metadata/tree/tree.module.js', 'framework/widgets/modal-wait-spinner/modal-wait-spinner.module.js', 'framework/widgets/modal/modal.module.js', 'framework/widgets/table/table.module.js', 'framework/widgets/toast/toast.module.js', 'framework/widgets/transfer-table/transfer-table.module.js', 'framework/widgets/widgets.module.js', 'framework/widgets/wizard/wizard.module.js', 'auth/login/login-finder.directive.js', 'auth/login/login.controller.js', 'framework/conf/conf.js', 'framework/util/bind-scope/bind-scope.directive.js', 'framework/util/filters/filters.js', 'framework/util/http/http.js', 'framework/util/i18n/i18n.js', 'framework/util/promise-toggle/hz-promise-toggle.directive.js', 'framework/util/tech-debt/dummy.controller.js', 'framework/util/tech-debt/helper-functions.service.js', 'framework/util/tech-debt/image-file-on-change.directive.js', 'framework/util/validators/hz-password-match.directive.js', 'framework/util/validators/validate-number-max.directive.js', 'framework/util/validators/validate-number-min.directive.js', 'framework/util/workflow/workflow.js', 'framework/util/workflow/workflow.service.js', 'framework/widgets/action-list/action-list.directive.js', 'framework/widgets/action-list/action.directive.js', 'framework/widgets/action-list/button-tooltip.directive.js', 'framework/widgets/action-list/button-tooltip.row-warning.service.js', 'framework/widgets/action-list/menu.directive.js', 'framework/widgets/charts/chart-tooltip.directive.js', 'framework/widgets/charts/pie-chart.directive.js', 'framework/widgets/headers/hz-page-header.directive.js', 'framework/widgets/help-panel/help-panel.directive.js', 'framework/widgets/magic-search/hz-magic-search-bar.directive.js', 'framework/widgets/magic-search/magic-overrides.directive.js', 'framework/widgets/magic-search/st-magic-search.directive.js', 'framework/widgets/metadata/display/metadata-display.controller.js', 'framework/widgets/metadata/display/metadata-display.directive.js', 'framework/widgets/metadata/tree/metadata-tree-item.controller.js', 'framework/widgets/metadata/tree/metadata-tree-item.directive.js', 'framework/widgets/metadata/tree/metadata-tree-unique.directive.js', 'framework/widgets/metadata/tree/metadata-tree.controller.js', 'framework/widgets/metadata/tree/metadata-tree.directive.js', 'framework/widgets/metadata/tree/tree.service.js', 'framework/widgets/modal-wait-spinner/modal-wait-spinner.directive.js', 'framework/widgets/modal-wait-spinner/modal-wait-spinner.service.js', 'framework/widgets/modal/simple-modal.controller.js', 'framework/widgets/modal/simple-modal.service.js', 'framework/widgets/table/hz-expand-detail.directive.js', 'framework/widgets/table/hz-search-bar.directive.js', 'framework/widgets/table/hz-select-all.directive.js', 'framework/widgets/table/hz-select.directive.js', 'framework/widgets/table/hz-table-footer.directive.js', 'framework/widgets/table/hz-table.directive.js', 'framework/widgets/table/table.controller.js', 'framework/widgets/toast/toast.directive.js', 'framework/widgets/toast/toast.service.js', 'framework/widgets/transfer-table/transfer-table.controller.js', 'framework/widgets/transfer-table/transfer-table.directive.js', 'framework/widgets/wizard/modal-container.controller.js', 'framework/widgets/wizard/wizard.controller.js', 'framework/widgets/wizard/wizard.directive.js', 'app/app.module.js', 'app/core/cloud-services/cloud-services.module.js', 'app/core/core.module.js', 'app/core/images/images.module.js', 'app/core/metadata/metadata.module.js', 'app/core/metadata/modal/modal.module.js', 'app/core/openstack-service-api/openstack-service-api.module.js', 'app/core/workflow/workflow.module.js', 'app/tech-debt/tech-debt.module.js', 'app/core/cloud-services/hz-if-nova-extensions.directive.js', 'app/core/cloud-services/hz-if-services.directive.js', 'app/core/cloud-services/hz-if-settings.directive.js', 'app/core/images/filters/image-status.filter.js', 'app/core/images/filters/image-type.filter.js', 'app/core/images/table/images-table.controller.js', 'app/core/metadata/metadata.service.js', 'app/core/metadata/modal/modal-helper.controller.js', 'app/core/metadata/modal/modal.controller.js', 'app/core/metadata/modal/modal.service.js', 'app/core/openstack-service-api/cinder.service.js', 'app/core/openstack-service-api/glance.service.js', 'app/core/openstack-service-api/heat.service.js', 'app/core/openstack-service-api/keystone.service.js', 'app/core/openstack-service-api/neutron.service.js', 'app/core/openstack-service-api/nova-extensions.service.js', 'app/core/openstack-service-api/nova.service.js', 'app/core/openstack-service-api/policy.service.js', 'app/core/openstack-service-api/security-group.service.js', 'app/core/openstack-service-api/service-catalog.service.js', 'app/core/openstack-service-api/settings.service.js', 'app/core/openstack-service-api/user-session.service.js', 'app/core/workflow/decorator.service.js', 'app/core/workflow/workflow.service.js', 'app/tech-debt/hz-namespace-resource-type-form.controller.js', 'app/tech-debt/image-form.controller.js', 'dashboard/project/images/images.module.js', 'dashboard/project/project.module.js', 'dashboard/project/workflow/launch-instance/launch-instance.module.js', 'dashboard/project/workflow/workflow.module.js', 'dashboard/project/workflow/launch-instance/configuration/configuration.controller.js', 'dashboard/project/workflow/launch-instance/configuration/load-edit.directive.js', 'dashboard/project/workflow/launch-instance/flavor/flavor.controller.js', 'dashboard/project/workflow/launch-instance/flavor/select-flavor-table.directive.js', 'dashboard/project/workflow/launch-instance/keypair/create-keypair.controller.js', 'dashboard/project/workflow/launch-instance/keypair/import-keypair.controller.js', 'dashboard/project/workflow/launch-instance/keypair/keypair.controller.js', 'dashboard/project/workflow/launch-instance/keypair/new-keypair.controller.js', 'dashboard/project/workflow/launch-instance/launch-instance-modal.controller.js', 'dashboard/project/workflow/launch-instance/launch-instance-model.js', 'dashboard/project/workflow/launch-instance/launch-instance-wizard.controller.js', 'dashboard/project/workflow/launch-instance/launch-instance-workflow.service.js', 'dashboard/project/workflow/launch-instance/network/network.controller.js', 'dashboard/project/workflow/launch-instance/security-groups/security-groups.controller.js', 'dashboard/project/workflow/launch-instance/source/source.controller.js', 'dashboard/identity/identity.module.js', 'dashboard/identity/projects/projects.module.js', 'dashboard/identity/users/users.module.js', 'dashboard/identity/users/table/table.controller.js', 'dashboard/project/data_processing/data_processing.event_log.js', 'dashboard/project/data_processing/data_processing.job_interface_arguments.js'], 'js_spec_files': ['framework/util/promise-toggle/hz-promise-toggle.directive.mock.js', 'auth/login/login.controller.spec.js', 'auth/login/login.module.spec.js', 'auth/login/login.spec.js', 'framework/framework.module.spec.js', 'framework/util/bind-scope/bind-scope.spec.js', 'framework/util/filters/filters.spec.js', 'framework/util/http/http.spec.js', 'framework/util/i18n/i18n.spec.js', 'framework/util/promise-toggle/hz-promise-toggle.directive.spec.js', 'framework/util/tech-debt/helper-functions.spec.js', 'framework/util/validators/validators.spec.js', 'framework/util/workflow/workflow.spec.js', 'framework/widgets/action-list/action-list.spec.js', 'framework/widgets/charts/chart-tooltip.spec.js', 'framework/widgets/charts/charts.spec.js', 'framework/widgets/charts/pie-chart.spec.js', 'framework/widgets/headers/headers.module.spec.js', 'framework/widgets/headers/hz-page-header.directive.spec.js', 'framework/widgets/help-panel/help-panel.directive.spec.js', 'framework/widgets/help-panel/help-panel.module.spec.js', 'framework/widgets/magic-search/hz-magic-search-bar.spec.js', 'framework/widgets/magic-search/magic-overrides.directive.spec.js', 'framework/widgets/magic-search/st-magic-search.directive.spec.js', 'framework/widgets/metadata/display/display.spec.js', 'framework/widgets/metadata/tree/tree.spec.js', 'framework/widgets/modal-wait-spinner/modal-wait-spinner.spec.js', 'framework/widgets/modal/simple-modal.spec.js', 'framework/widgets/table/search-bar.spec.js', 'framework/widgets/table/table.spec.js', 'framework/widgets/toast/toast.spec.js', 'framework/widgets/transfer-table/transfer-table.controller.spec.js', 'framework/widgets/transfer-table/transfer-table.directive.spec.js', 'framework/widgets/transfer-table/transfer-table.module.spec.js', 'framework/widgets/widgets.module.spec.js', 'framework/widgets/wizard/wizard.spec.js', 'app/core/openstack-service-api/common-test.mock.js', 'app/app.module.spec.js', 'app/core/cloud-services/hz-if-nova-extensions.directive.spec.js', 'app/core/cloud-services/hz-if-services.directive.spec.js', 'app/core/cloud-services/hz-if-settings.directive.spec.js', 'app/core/core.module.spec.js', 'app/core/images/filters/image-status.filter.spec.js', 'app/core/images/filters/image-type.filter.spec.js', 'app/core/images/images.module.spec.js', 'app/core/images/table/images-table.controller.spec.js', 'app/core/metadata/metadata.module.spec.js', 'app/core/metadata/metadata.service.spec.js', 'app/core/metadata/modal/modal-helper.controller.spec.js', 'app/core/metadata/modal/modal.controller.spec.js', 'app/core/metadata/modal/modal.module.spec.js', 'app/core/metadata/modal/modal.service.spec.js', 'app/core/openstack-service-api/cinder.service.spec.js', 'app/core/openstack-service-api/glance.service.spec.js', 'app/core/openstack-service-api/heat.service.spec.js', 'app/core/openstack-service-api/keystone.service.spec.js', 'app/core/openstack-service-api/neutron.service.spec.js', 'app/core/openstack-service-api/nova-extensions.service.spec.js', 'app/core/openstack-service-api/nova.service.spec.js', 'app/core/openstack-service-api/policy.service.spec.js', 'app/core/openstack-service-api/security-group.service.spec.js', 'app/core/openstack-service-api/service-catalog.service.spec.js', 'app/core/openstack-service-api/settings.service.spec.js', 'app/core/openstack-service-api/user-session.service.spec.js', 'app/core/workflow/workflow.module.spec.js', 'dashboard/project/images/images.module.spec.js', 'dashboard/project/project.module.spec.js', 'dashboard/project/workflow/launch-instance/configuration/configuration.controller.spec.js', 'dashboard/project/workflow/launch-instance/flavor/flavor.spec.js', 'dashboard/project/workflow/launch-instance/keypair/keypair.spec.js', 'dashboard/project/workflow/launch-instance/launch-instance-modal.controller.spec.js', 'dashboard/project/workflow/launch-instance/launch-instance-model.spec.js', 'dashboard/project/workflow/launch-instance/launch-instance-wizard.controller.spec.js', 'dashboard/project/workflow/launch-instance/launch-instance-workflow.service.spec.js', 'dashboard/project/workflow/launch-instance/launch-instance.module.spec.js', 'dashboard/project/workflow/launch-instance/network/network.spec.js', 'dashboard/project/workflow/launch-instance/security-groups/security-groups.spec.js', 'dashboard/project/workflow/launch-instance/source/source.controller.spec.js', 'dashboard/project/workflow/workflow.module.spec.js', 'dashboard/identity/identity.module.spec.js', 'dashboard/identity/projects/projects.module.spec.js', 'dashboard/identity/users/table/table.controller.spec.js', 'dashboard/identity/users/users.module.spec.js'], 'panel_customization': [{'PANEL_GROUP': 'compute', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0450>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1010_compute_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1010_compute_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.overview.panel.Overview', 'DEFAULT_PANEL': 'overview', 'PANEL': 'overview', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'compute', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1020_project_overview_panel.pyc', '__name__': 'openstack_dashboard.enabled._1020_project_overview_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.instances.panel.Instances', 'PANEL': 'instances', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'compute', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1030_project_instances_panel.pyc', '__name__': 'openstack_dashboard.enabled._1030_project_instances_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.volumes.panel.Volumes', 'PANEL': 'volumes', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'compute', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1040_project_volumes_panel.pyc', '__name__': 'openstack_dashboard.enabled._1040_project_volumes_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.images.panel.Images', 'PANEL': 'images', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'compute', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1050_project_images_panel.pyc', '__name__': 'openstack_dashboard.enabled._1050_project_images_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.access_and_security.panel.AccessAndSecurity', 'PANEL': 'access_and_security', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'compute', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1060_project_access_panel.pyc', '__name__': 'openstack_dashboard.enabled._1060_project_access_panel', '__package__': None}, {'PANEL_GROUP': 'network', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e07d0>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1410_network_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1410_network_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.network_topology.panel.NetworkTopology', 'PANEL': 'network_topology', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1420_project_network_topology_panel.pyc', '__name__': 'openstack_dashboard.enabled._1420_project_network_topology_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.networks.panel.Networks', 'PANEL': 'networks', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1430_project_network_panel.pyc', '__name__': 'openstack_dashboard.enabled._1430_project_network_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.routers.panel.Routers', 'PANEL': 'routers', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1440_project_routers_panel.pyc', '__name__': 'openstack_dashboard.enabled._1440_project_routers_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.loadbalancers.panel.LoadBalancer', 'PANEL': 'loadbalancers', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1450_project_loadbalancers_panel.pyc', '__name__': 'openstack_dashboard.enabled._1450_project_loadbalancers_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.firewalls.panel.Firewall', 'PANEL': 'firewalls', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1460_project_firewalls_panel.pyc', '__name__': 'openstack_dashboard.enabled._1460_project_firewalls_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.vpn.panel.VPN', 'PANEL': 'vpn', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'network', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1470_project_vpn_panel.pyc', '__name__': 'openstack_dashboard.enabled._1470_project_vpn_panel', '__package__': None}, {'PANEL_GROUP': 'orchestration', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0a10>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1610_orchestration_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1610_orchestration_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.stacks.panel.Stacks', 'PANEL': 'stacks', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'orchestration', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1620_project_stacks_panel.pyc', '__name__': 'openstack_dashboard.enabled._1620_project_stacks_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.stacks.resource_types.panel.ResourceTypes', 'PANEL': 'stacks.resource_types', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'orchestration', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1630_project_resource_types_panel.pyc', '__name__': 'openstack_dashboard.enabled._1630_project_resource_types_panel', '__package__': None}, {'PANEL_GROUP': 'database', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0cd0>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1710_database_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1710_database_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.contrib.trove.content.databases.panel.Databases', 'PANEL': 'databases', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'database', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1720_project_databases_panel.pyc', '__name__': 'openstack_dashboard.enabled._1720_project_databases_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.trove.content.database_backups.panel.Backups', 'PANEL': 'database_backups', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'database', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1730_project_database_backups_panel.pyc', '__name__': 'openstack_dashboard.enabled._1730_project_database_backups_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.trove.content.database_clusters.panel.Clusters', 'PANEL': 'database_clusters', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'database', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1740_project_database_clusters_panel.pyc', '__name__': 'openstack_dashboard.enabled._1740_project_database_clusters_panel', '__package__': None}, {'PANEL_GROUP': 'data_processing', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0b50>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1810_data_processing_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1810_data_processing_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.wizard.panel.WizardPanel', 'PANEL': 'data_processing.wizard', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1815_data_processing_wizard_panel.pyc', '__name__': 'openstack_dashboard.enabled._1815_data_processing_wizard_panel', '__package__': None}, {'ADD_INSTALLED_APPS': ['openstack_dashboard.contrib.sahara.content.data_processing'], 'ADD_JS_FILES': ['dashboard/project/data_processing/data_processing.event_log.js'], 'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.clusters.panel.ClustersPanel', 'PANEL': 'data_processing.clusters', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1820_data_processing_clusters_panel.pyc', '__name__': 'openstack_dashboard.enabled._1820_data_processing_clusters_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.job_executions.panel.JobExecutionsPanel', 'PANEL': 'data_processing.job_executions', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1825_data_processing_job_executions_panel.pyc', '__name__': 'openstack_dashboard.enabled._1825_data_processing_job_executions_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.cluster_templates.panel.ClusterTemplatesPanel', 'PANEL': 'data_processing.cluster_templates', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1830_data_processing_cluster_templates_panel.pyc', '__name__': 'openstack_dashboard.enabled._1830_data_processing_cluster_templates_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.nodegroup_templates.panel.NodegroupTemplatesPanel', 'PANEL': 'data_processing.nodegroup_templates', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1835_data_processing_nodegroup_templates_panel.pyc', '__name__': 'openstack_dashboard.enabled._1835_data_processing_nodegroup_templates_panel', '__package__': None}, {'ADD_JS_FILES': ['dashboard/project/data_processing/data_processing.job_interface_arguments.js'], 'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.jobs.panel.JobsPanel', 'PANEL': 'data_processing.jobs', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1840_data_processing_jobs_panel.pyc', '__name__': 'openstack_dashboard.enabled._1840_data_processing_jobs_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.job_binaries.panel.JobBinariesPanel', 'PANEL': 'data_processing.job_binaries', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1845_data_processing_job_binaries_panel.pyc', '__name__': 'openstack_dashboard.enabled._1845_data_processing_job_binaries_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.data_sources.panel.DataSourcesPanel', 'PANEL': 'data_processing.data_sources', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1850_data_processing_data_sources_panel.pyc', '__name__': 'openstack_dashboard.enabled._1850_data_processing_data_sources_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.data_image_registry.panel.ImageRegistryPanel', 'PANEL': 'data_processing.data_image_registry', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1855_data_processing_data_image_registry_panel.pyc', '__name__': 'openstack_dashboard.enabled._1855_data_processing_data_image_registry_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.contrib.sahara.content.data_processing.data_plugins.panel.PluginsPanel', 'PANEL': 'data_processing.data_plugins', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'data_processing', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1860_data_processing_data_plugins_panel.pyc', '__name__': 'openstack_dashboard.enabled._1860_data_processing_data_plugins_panel', '__package__': None}, {'PANEL_GROUP': 'object_store', 'PANEL_GROUP_DASHBOARD': 'project', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0f50>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1910_object_store_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._1910_object_store_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.dashboards.project.containers.panel.Containers', 'PANEL': 'containers', 'PANEL_DASHBOARD': 'project', 'PANEL_GROUP': 'object_store', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_1920_project_containers_panel.pyc', '__name__': 'openstack_dashboard.enabled._1920_project_containers_panel', '__package__': None}, {'PANEL_GROUP': 'admin', 'PANEL_GROUP_DASHBOARD': 'admin', 'PANEL_GROUP_NAME': <django.utils.functional.__proxy__ object at 0x7f5c7d3e0fd0>, '_': <function ugettext at 0x7f5c7c58fb18>, '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2010_admin_system_panel_group.pyc', '__name__': 'openstack_dashboard.enabled._2010_admin_system_panel_group', '__package__': 'openstack_dashboard.enabled'}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.overview.panel.Overview', 'DEFAULT_PANEL': 'overview', 'PANEL': 'overview', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2020_admin_overview_panel.pyc', '__name__': 'openstack_dashboard.enabled._2020_admin_overview_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.metering.panel.Metering', 'PANEL': 'metering', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2030_admin_metering_panel.pyc', '__name__': 'openstack_dashboard.enabled._2030_admin_metering_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.hypervisors.panel.Hypervisors', 'PANEL': 'hypervisors', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2040_admin_hypervisors_panel.pyc', '__name__': 'openstack_dashboard.enabled._2040_admin_hypervisors_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.aggregates.panel.Aggregates', 'PANEL': 'aggregates', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2050_admin_aggregates_panel.pyc', '__name__': 'openstack_dashboard.enabled._2050_admin_aggregates_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.instances.panel.Instances', 'PANEL': 'instances', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2060_admin_instances_panel.pyc', '__name__': 'openstack_dashboard.enabled._2060_admin_instances_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.volumes.panel.Volumes', 'PANEL': 'volumes', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2070_admin_volumes_panel.pyc', '__name__': 'openstack_dashboard.enabled._2070_admin_volumes_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.flavors.panel.Flavors', 'PANEL': 'flavors', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2080_admin_flavors_panel.pyc', '__name__': 'openstack_dashboard.enabled._2080_admin_flavors_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.images.panel.Images', 'PANEL': 'images', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2090_admin_images_panel.pyc', '__name__': 'openstack_dashboard.enabled._2090_admin_images_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.networks.panel.Networks', 'PANEL': 'networks', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2100_admin_networks_panel.pyc', '__name__': 'openstack_dashboard.enabled._2100_admin_networks_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.routers.panel.Routers', 'PANEL': 'routers', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2110_admin_routers_panel.pyc', '__name__': 'openstack_dashboard.enabled._2110_admin_routers_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.defaults.panel.Defaults', 'PANEL': 'defaults', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2120_admin_defaults_panel.pyc', '__name__': 'openstack_dashboard.enabled._2120_admin_defaults_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.metadata_defs.panel.MetadataDefinitions', 'PANEL': 'metadata_defs', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2130_admin_metadata_defs_panel.pyc', '__name__': 'openstack_dashboard.enabled._2130_admin_metadata_defs_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.admin.info.panel.Info', 'PANEL': 'info', 'PANEL_DASHBOARD': 'admin', 'PANEL_GROUP': 'admin', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_2140_admin_info_panel.pyc', '__name__': 'openstack_dashboard.enabled._2140_admin_info_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.identity.domains.panel.Domains', 'PANEL': 'domains', 'PANEL_DASHBOARD': 'identity', 'PANEL_GROUP': 'default', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_3010_identity_domains_panel.pyc', '__name__': 'openstack_dashboard.enabled._3010_identity_domains_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.identity.projects.panel.Tenants', 'PANEL': 'projects', 'PANEL_DASHBOARD': 'identity', 'PANEL_GROUP': 'default', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_3020_identity_projects_panel.pyc', '__name__': 'openstack_dashboard.enabled._3020_identity_projects_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.identity.users.panel.Users', 'PANEL': 'users', 'PANEL_DASHBOARD': 'identity', 'PANEL_GROUP': 'default', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_3030_identity_users_panel.pyc', '__name__': 'openstack_dashboard.enabled._3030_identity_users_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.identity.groups.panel.Groups', 'PANEL': 'groups', 'PANEL_DASHBOARD': 'identity', 'PANEL_GROUP': 'default', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_3040_identity_groups_panel.pyc', '__name__': 'openstack_dashboard.enabled._3040_identity_groups_panel', '__package__': None}, {'ADD_PANEL': 'openstack_dashboard.dashboards.identity.roles.panel.Roles', 'PANEL': 'roles', 'PANEL_DASHBOARD': 'identity', 'PANEL_GROUP': 'default', '__doc__': None, '__file__': '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/enabled/_3050_identity_roles_panel.pyc', '__name__': 'openstack_dashboard.enabled._3050_identity_roles_panel', '__package__': None}], 'scss_files': ['dashboard/project/project.scss', 'dashboard/identity/identity.scss'], 'user_home': 'openstack_dashboard.views.get_user_home'}, 'STATIC_URL': '/dashboard/static/', 'WEBROOT': '/dashboard/'}</pre></td> </tr> <tr> <td>COMPRESS_YUGLIFY_CSS_ARGUMENTS</td> <td class="code"><pre>u'--terminal'</pre></td> </tr> <tr> <td>EMAIL_BACKEND</td> <td class="code"><pre>'django.core.mail.backends.console.EmailBackend'</pre></td> </tr> <tr> <td>COMPRESS_JINJA2_GET_ENVIRONMENT</td> <td class="code"><pre><function JINJA2_GET_ENVIRONMENT at 0x7f5c7f79ded8></pre></td> </tr> <tr> <td>DEFAULT_TABLESPACE</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>TEMPLATE_CONTEXT_PROCESSORS</td> <td class="code"><pre>('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')</pre></td> </tr> <tr> <td>OPENSTACK_IMAGE_BACKEND</td> <td class="code"><pre>{'image_formats': [('', <django.utils.functional.__proxy__ object at 0x7f5c7d3d8410>), ('aki', <django.utils.functional.__proxy__ object at 0x7f5c7d3d8510>), ('ami', <django.utils.functional.__proxy__ object at 0x7f5c7d3d8550>), ('ari', <django.utils.functional.__proxy__ object at 0x7f5c7d3d8590>), ('docker', <django.utils.functional.__proxy__ object at 0x7f5c7d3d85d0>), ('iso', <django.utils.functional.__proxy__ object at 0x7f5c7d3d8610>), ('ova', <django.utils.functional.__proxy__ object at 0x7f5c7d3d8650>), ('qcow2', <django.utils.functional.__proxy__ object at 0x7f5c7d3d8690>), ('raw', <django.utils.functional.__proxy__ object at 0x7f5c7d3d86d0>), ('vdi', <django.utils.functional.__proxy__ object at 0x7f5c7d3d8710>), ('vhd', <django.utils.functional.__proxy__ object at 0x7f5c7d3d8750>), ('vmdk', <django.utils.functional.__proxy__ object at 0x7f5c7d3d8790>)]}</pre></td> </tr> <tr> <td>MIGRATION_MODULES</td> <td class="code"><pre>{}</pre></td> </tr> <tr> <td>SESSION_COOKIE_AGE</td> <td class="code"><pre>1209600</pre></td> </tr> <tr> <td>SETTINGS_MODULE</td> <td class="code"><pre>'openstack_dashboard.settings'</pre></td> </tr> <tr> <td>USE_ETAGS</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>LANGUAGES</td> <td class="code"><pre>(('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)'), ('ru', 'Russian'), ('sr', 'Serbian'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Chinese (Taiwan)'))</pre></td> </tr> <tr> <td>COMPRESS_CLOSURE_COMPILER_BINARY</td> <td class="code"><pre>u'java -jar compiler.jar'</pre></td> </tr> <tr> <td>FILE_UPLOAD_TEMP_DIR</td> <td class="code"><pre>'/tmp'</pre></td> </tr> <tr> <td>CSRF_COOKIE_AGE</td> <td class="code"><pre>31449600</pre></td> </tr> <tr> <td>STATIC_URL</td> <td class="code"><pre>'/dashboard/static/'</pre></td> </tr> <tr> <td>EMAIL_PORT</td> <td class="code"><pre>25</pre></td> </tr> <tr> <td>USE_TZ</td> <td class="code"><pre>True</pre></td> </tr> <tr> <td>SHORT_DATETIME_FORMAT</td> <td class="code"><pre>'m/d/Y P'</pre></td> </tr> <tr> <td>TEST_NON_SERIALIZED_APPS</td> <td class="code"><pre>[]</pre></td> </tr> <tr> <td>PASSWORD_HASHERS</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td> <td class="code"><pre>2621440</pre></td> </tr> <tr> <td>ABSOLUTE_URL_OVERRIDES</td> <td class="code"><pre>{}</pre></td> </tr> <tr> <td>LANGUAGE_COOKIE_PATH</td> <td class="code"><pre>'/'</pre></td> </tr> <tr> <td>CUSTOM_THEME_PATH</td> <td class="code"><pre>'themes/default'</pre></td> </tr> <tr> <td>CACHE_MIDDLEWARE_SECONDS</td> <td class="code"><pre>600</pre></td> </tr> <tr> <td>EMAIL_SSL_CERTFILE</td> <td class="code"><pre>None</pre></td> </tr> <tr> <td>CSRF_COOKIE_HTTPONLY</td> <td class="code"><pre>False</pre></td> </tr> <tr> <td>DATETIME_INPUT_FORMATS</td> <td class="code"><pre>('%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')</pre></td> </tr> <tr> <td>API_RESULT_LIMIT</td> <td class="code"><pre>u'********************'</pre></td> </tr> <tr> <td>EMAIL_HOST_USER</td> <td class="code"><pre>''</pre></td> </tr> <tr> <td>OPENSTACK_CINDER_FEATURES</td> <td class="code"><pre>{'enable_backup': False}</pre></td> </tr> </tbody> </table> </div> <div id="explanation"> <p> You're seeing this error because you have <code>DEBUG = True</code> in your Django settings file. Change that to <code>False</code>, and Django will display a standard page generated by the handler for this status code. </p> </div> </body> </html>