java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:06:32 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742735237488">
<ol start="32" class="pre-context" id="pre139742735237488">
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre> """</pre></li>
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742735237488">
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre> return response</pre></li>
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre></pre></li>
<li onclick="toggle('pre139742735237488', 'post139742735237488')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735237488')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735237488">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742735237632">
<ol start="242" class="pre-context" id="pre139742735237632">
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> break</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre></pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742735237632">
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735237632')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735237632">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742735258760">
<ol start="171" class="pre-context" id="pre139742735258760">
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre></pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre></pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742735258760">
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> break</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre></pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735258760')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735258760">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742735261352">
<ol start="39" class="pre-context" id="pre139742735261352">
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> )</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> )</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742735261352">
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre></pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735261352')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735261352">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742735258832">
<ol start="60" class="pre-context" id="pre139742735258832">
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre></pre></li>
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742735258832">
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742735258832', 'post139742735258832')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735258832')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735258832">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742735239072">
<ol start="58" class="pre-context" id="pre139742735239072">
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre> """</pre></li>
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre> try:</pre></li>
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742735239072">
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre> )</pre></li>
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre> else:</pre></li>
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre></pre></li>
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre></pre></li>
<li onclick="toggle('pre139742735239072', 'post139742735239072')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735239072')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735239072">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableAccessPolicy_201712421050345'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1597665004450096455.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6592368062354647728.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18966'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=wylq9xegA4-Vck3CEPrN-VjmB_2NZrs5h'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55564'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493888792082156'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186593f8f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865838130></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataIT.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataIT.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataIT.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataIT.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:11: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>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358558633136">
<ol start="32" class="pre-context" id="pre140358558633136">
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre> """</pre></li>
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358558633136">
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre> return response</pre></li>
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre></pre></li>
<li onclick="toggle('pre140358558633136', 'post140358558633136')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358558633136')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358558633136">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358566516496">
<ol start="242" class="pre-context" id="pre140358566516496">
<li onclick="toggle('pre140358566516496', 'post140358566516496')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358566516496', 'post140358566516496')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358566516496', 'post140358566516496')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358566516496', 'post140358566516496')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358566516496', 'post140358566516496')"><pre> break</pre></li>
<li onclick="toggle('pre140358566516496', 'post140358566516496')"><pre></pre></li>
<li onclick="toggle('pre140358566516496', 'post140358566516496')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358566516496', 'post140358566516496')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358566516496">
<li onclick="toggle('pre140358566516496', 'post140358566516496')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358566516496')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358566516496">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d407ac10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358552541160">
<ol start="171" class="pre-context" id="pre140358552541160">
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre></pre></li>
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre></pre></li>
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358552541160">
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre> break</pre></li>
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre></pre></li>
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358552541160', 'post140358552541160')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358552541160')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358552541160">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358567262544">
<ol start="44" class="pre-context" id="pre140358567262544">
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> )</pre></li>
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> )</pre></li>
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358567262544">
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre></pre></li>
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358567262544', 'post140358567262544')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567262544')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567262544">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358566377088">
<ol start="66" class="pre-context" id="pre140358566377088">
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre></pre></li>
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358566377088">
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> )</pre></li>
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> request</pre></li>
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> )</pre></li>
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358566377088', 'post140358566377088')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358566377088')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358566377088">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358558649952">
<ol start="62" class="pre-context" id="pre140358558649952">
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre> """</pre></li>
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre> try:</pre></li>
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358558649952">
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre> )</pre></li>
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre> else:</pre></li>
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre></pre></li>
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre></pre></li>
<li onclick="toggle('pre140358558649952', 'post140358558649952')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358558649952')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358558649952">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableAccessPolicy_20171242116911'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.500383809092167073.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7713326016777649651.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18969'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=8wtl4LNcaTTFLqirLhrUnICSiG5a1o9_IJg'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57173'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493889067252849'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493889067252619'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493889067252256'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493889067252936'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7cc890c48></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7d537fd70></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataIT.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:338)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataTestImplementations.java:282)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAccessPolicy(MNUpdateSystemMetadataIT.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:07:13 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742654621168">
<ol start="32" class="pre-context" id="pre139742654621168">
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre> """</pre></li>
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742654621168">
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre> return response</pre></li>
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre></pre></li>
<li onclick="toggle('pre139742654621168', 'post139742654621168')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742654621168')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742654621168">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742735261352">
<ol start="242" class="pre-context" id="pre139742735261352">
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> break</pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre></pre></li>
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742735261352">
<li onclick="toggle('pre139742735261352', 'post139742735261352')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735261352')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735261352">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742735258760">
<ol start="171" class="pre-context" id="pre139742735258760">
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre></pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre></pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742735258760">
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> break</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre></pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742735258760', 'post139742735258760')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735258760')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735258760">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742735261496">
<ol start="39" class="pre-context" id="pre139742735261496">
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> )</pre></li>
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> )</pre></li>
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742735261496">
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre></pre></li>
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742735261496', 'post139742735261496')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735261496')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735261496">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742735260704">
<ol start="60" class="pre-context" id="pre139742735260704">
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre></pre></li>
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742735260704">
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742735260704', 'post139742735260704')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735260704')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735260704">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742654622032">
<ol start="58" class="pre-context" id="pre139742654622032">
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre> """</pre></li>
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre> try:</pre></li>
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742654622032">
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre> )</pre></li>
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre> else:</pre></li>
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre></pre></li>
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre></pre></li>
<li onclick="toggle('pre139742654622032', 'post139742654622032')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742654622032')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742654622032">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableReplPolicy_201712421136701'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2462157203280133650.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2363548089745882816.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18974'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=oYWsySwFzjrAADvDH_JjOLotbosYIM1COiA5'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55656'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493888833533611'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18649b6cb0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18649b6ef0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataIT.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataIT.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataIT.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataIT.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:11:54 +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>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358558639816">
<ol start="32" class="pre-context" id="pre140358558639816">
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre> """</pre></li>
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358558639816">
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre> return response</pre></li>
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre></pre></li>
<li onclick="toggle('pre140358558639816', 'post140358558639816')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358558639816')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358558639816">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358558580176">
<ol start="242" class="pre-context" id="pre140358558580176">
<li onclick="toggle('pre140358558580176', 'post140358558580176')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358558580176', 'post140358558580176')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358558580176', 'post140358558580176')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358558580176', 'post140358558580176')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358558580176', 'post140358558580176')"><pre> break</pre></li>
<li onclick="toggle('pre140358558580176', 'post140358558580176')"><pre></pre></li>
<li onclick="toggle('pre140358558580176', 'post140358558580176')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358558580176', 'post140358558580176')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358558580176">
<li onclick="toggle('pre140358558580176', 'post140358558580176')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358558580176')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358558580176">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d407ac10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358558579096">
<ol start="171" class="pre-context" id="pre140358558579096">
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre></pre></li>
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre></pre></li>
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358558579096">
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre> break</pre></li>
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre></pre></li>
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358558579096', 'post140358558579096')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358558579096')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358558579096">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358558580536">
<ol start="44" class="pre-context" id="pre140358558580536">
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> )</pre></li>
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> )</pre></li>
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358558580536">
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre></pre></li>
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358558580536', 'post140358558580536')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358558580536')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358558580536">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358558580104">
<ol start="66" class="pre-context" id="pre140358558580104">
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre></pre></li>
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358558580104">
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> )</pre></li>
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> request</pre></li>
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> )</pre></li>
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358558580104', 'post140358558580104')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358558580104')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358558580104">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358558639600">
<ol start="62" class="pre-context" id="pre140358558639600">
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre> """</pre></li>
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre> try:</pre></li>
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358558639600">
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre> )</pre></li>
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre> else:</pre></li>
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre></pre></li>
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre></pre></li>
<li onclick="toggle('pre140358558639600', 'post140358558639600')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358558639600')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358558639600">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableReplPolicy_201712421153557'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2926086364065684487.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8566982885274353679.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18984'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=G3ZiNlm8va93GGW0o7NP5HRccQjSz-HBwYLHEtS'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57249'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493889113997415'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493889113997188'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493889113996904'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493889113997488'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c6067660></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c6863c30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataIT.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:400)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataTestImplementations.java:350)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableReplPolicy(MNUpdateSystemMetadataIT.java:75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:07:56 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742654449064">
<ol start="32" class="pre-context" id="pre139742654449064">
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> """</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742654449064">
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> return response</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre></pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742654449064')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742654449064">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742654450504">
<ol start="242" class="pre-context" id="pre139742654450504">
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> break</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre></pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742654450504">
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742654450504')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742654450504">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742737496760">
<ol start="171" class="pre-context" id="pre139742737496760">
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre></pre></li>
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre></pre></li>
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742737496760">
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre> break</pre></li>
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre></pre></li>
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742737496760', 'post139742737496760')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742737496760')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742737496760">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742740643208">
<ol start="39" class="pre-context" id="pre139742740643208">
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> )</pre></li>
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> )</pre></li>
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742740643208">
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre></pre></li>
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742740643208', 'post139742740643208')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742740643208')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742740643208">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742761842592">
<ol start="60" class="pre-context" id="pre139742761842592">
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre></pre></li>
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742761842592">
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742761842592', 'post139742761842592')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761842592')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761842592">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758644624">
<ol start="58" class="pre-context" id="pre139742758644624">
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre> """</pre></li>
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758644624">
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre> )</pre></li>
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre></pre></li>
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre></pre></li>
<li onclick="toggle('pre139742758644624', 'post139742758644624')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758644624')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758644624">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableAuthMN_201712421224300'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.9116360649739455356.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7309972081307861968.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18970'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=_fvTkhnKOvD9HNtEjXnLbV5tcrq_I-x5-nKu8'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55716'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493888876345943'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18659660f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1866059eb0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:412)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataIT.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:412)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataIT.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:412)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataIT.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:412)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataIT.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:12:40 +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>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358567327360">
<ol start="32" class="pre-context" id="pre140358567327360">
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre> """</pre></li>
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358567327360">
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre> return response</pre></li>
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre></pre></li>
<li onclick="toggle('pre140358567327360', 'post140358567327360')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567327360')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567327360">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358566270664">
<ol start="242" class="pre-context" id="pre140358566270664">
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> break</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre></pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358566270664">
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358566270664')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358566270664">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d407ac10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358566530656">
<ol start="171" class="pre-context" id="pre140358566530656">
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre></pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre></pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358566530656">
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> break</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre></pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358566530656')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358566530656">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358546243384">
<ol start="44" class="pre-context" id="pre140358546243384">
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> )</pre></li>
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> )</pre></li>
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358546243384">
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre></pre></li>
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358546243384', 'post140358546243384')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546243384')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546243384">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358566909712">
<ol start="66" class="pre-context" id="pre140358566909712">
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre></pre></li>
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358566909712">
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> )</pre></li>
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> request</pre></li>
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> )</pre></li>
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358566909712', 'post140358566909712')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358566909712')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358566909712">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358567326064">
<ol start="62" class="pre-context" id="pre140358567326064">
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre> """</pre></li>
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre> try:</pre></li>
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358567326064">
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre> )</pre></li>
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre> else:</pre></li>
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre></pre></li>
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre></pre></li>
<li onclick="toggle('pre140358567326064', 'post140358567326064')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567326064')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567326064">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableAuthMN_201712421240669'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2521788100857629071.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2716958652637960734.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18944'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=5SguyWeS-61u_Rr3onYk4-rbgowMe9K'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57309'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493889160878724'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493889160878518'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493889160878253'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493889160878812'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7cc8904f8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c67ab570></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:412)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataIT.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:464)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataTestImplementations.java:412)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableAuthMN(MNUpdateSystemMetadataIT.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:08:38 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742743735472">
<ol start="32" class="pre-context" id="pre139742743735472">
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre> """</pre></li>
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742743735472">
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre> return response</pre></li>
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre></pre></li>
<li onclick="toggle('pre139742743735472', 'post139742743735472')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742743735472')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742743735472">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742736409232">
<ol start="242" class="pre-context" id="pre139742736409232">
<li onclick="toggle('pre139742736409232', 'post139742736409232')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742736409232', 'post139742736409232')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742736409232', 'post139742736409232')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742736409232', 'post139742736409232')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742736409232', 'post139742736409232')"><pre> break</pre></li>
<li onclick="toggle('pre139742736409232', 'post139742736409232')"><pre></pre></li>
<li onclick="toggle('pre139742736409232', 'post139742736409232')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742736409232', 'post139742736409232')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742736409232">
<li onclick="toggle('pre139742736409232', 'post139742736409232')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742736409232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742736409232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742735239936">
<ol start="171" class="pre-context" id="pre139742735239936">
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre></pre></li>
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre></pre></li>
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742735239936">
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre> break</pre></li>
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre></pre></li>
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742735239936', 'post139742735239936')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735239936')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735239936">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742735237632">
<ol start="39" class="pre-context" id="pre139742735237632">
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> )</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> )</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742735237632">
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre></pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742735237632', 'post139742735237632')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735237632')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735237632">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742735240368">
<ol start="60" class="pre-context" id="pre139742735240368">
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre></pre></li>
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742735240368">
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742735240368', 'post139742735240368')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735240368')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735240368">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742743734896">
<ol start="58" class="pre-context" id="pre139742743734896">
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre> """</pre></li>
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre> try:</pre></li>
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742743734896">
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre> )</pre></li>
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre> else:</pre></li>
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre></pre></li>
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre></pre></li>
<li onclick="toggle('pre139742743734896', 'post139742743734896')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742743734896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742743734896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableArchived_201712421310704'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.607277048008601496.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4321015054196895352.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18949'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=NSLyJb-j4KeKzMuD93TWUtTbqTko1qB'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55769'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493888918087137'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18658388f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865838a70></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:518)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:476)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataIT.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:518)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:476)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataIT.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:518)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:476)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataIT.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:518)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:476)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataIT.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:13:27 +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>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358559030520">
<ol start="32" class="pre-context" id="pre140358559030520">
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre> """</pre></li>
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358559030520">
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre> return response</pre></li>
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre></pre></li>
<li onclick="toggle('pre140358559030520', 'post140358559030520')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358559030520')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358559030520">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358565477552">
<ol start="242" class="pre-context" id="pre140358565477552">
<li onclick="toggle('pre140358565477552', 'post140358565477552')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358565477552', 'post140358565477552')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358565477552', 'post140358565477552')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358565477552', 'post140358565477552')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358565477552', 'post140358565477552')"><pre> break</pre></li>
<li onclick="toggle('pre140358565477552', 'post140358565477552')"><pre></pre></li>
<li onclick="toggle('pre140358565477552', 'post140358565477552')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358565477552', 'post140358565477552')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358565477552">
<li onclick="toggle('pre140358565477552', 'post140358565477552')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358565477552')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358565477552">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d407ac10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358566138872">
<ol start="171" class="pre-context" id="pre140358566138872">
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre></pre></li>
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre></pre></li>
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358566138872">
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre> break</pre></li>
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre></pre></li>
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358566138872', 'post140358566138872')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358566138872')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358566138872">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358566911800">
<ol start="44" class="pre-context" id="pre140358566911800">
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> )</pre></li>
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> )</pre></li>
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358566911800">
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre></pre></li>
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358566911800', 'post140358566911800')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358566911800')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358566911800">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358571760816">
<ol start="66" class="pre-context" id="pre140358571760816">
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre></pre></li>
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358571760816">
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> )</pre></li>
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> request</pre></li>
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> )</pre></li>
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358571760816', 'post140358571760816')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358571760816')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358571760816">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358559027352">
<ol start="62" class="pre-context" id="pre140358559027352">
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre> """</pre></li>
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre> try:</pre></li>
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358559027352">
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre> )</pre></li>
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre> else:</pre></li>
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre></pre></li>
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre></pre></li>
<li onclick="toggle('pre140358559027352', 'post140358559027352')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358559027352')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358559027352">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableArchived_201712421327450'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1509220345951497871.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7449167594669236907.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18956'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=qjWK1qPzlYsYnQH-fui1fY8K2YX4uk-q-'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57361'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493889207746047'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493889207745890'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493889207745673'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493889207746077'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c54a3f18></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c5e361b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:518)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:476)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataIT.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:518)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataTestImplementations.java:476)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableArchived(MNUpdateSystemMetadataIT.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:09:00 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742759300344">
<ol start="32" class="pre-context" id="pre139742759300344">
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre> """</pre></li>
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742759300344">
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre> return response</pre></li>
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre></pre></li>
<li onclick="toggle('pre139742759300344', 'post139742759300344')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759300344')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759300344">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742654265320">
<ol start="242" class="pre-context" id="pre139742654265320">
<li onclick="toggle('pre139742654265320', 'post139742654265320')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742654265320', 'post139742654265320')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742654265320', 'post139742654265320')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742654265320', 'post139742654265320')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742654265320', 'post139742654265320')"><pre> break</pre></li>
<li onclick="toggle('pre139742654265320', 'post139742654265320')"><pre></pre></li>
<li onclick="toggle('pre139742654265320', 'post139742654265320')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742654265320', 'post139742654265320')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742654265320">
<li onclick="toggle('pre139742654265320', 'post139742654265320')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742654265320')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742654265320">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742740613672">
<ol start="171" class="pre-context" id="pre139742740613672">
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre></pre></li>
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre></pre></li>
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742740613672">
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre> break</pre></li>
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre></pre></li>
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742740613672', 'post139742740613672')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742740613672')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742740613672">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758614944">
<ol start="39" class="pre-context" id="pre139742758614944">
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> )</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> )</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758614944">
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre></pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758614944')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758614944">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758616816">
<ol start="60" class="pre-context" id="pre139742758616816">
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre></pre></li>
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758616816">
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758616816', 'post139742758616816')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758616816')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758616816">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742759299480">
<ol start="58" class="pre-context" id="pre139742759299480">
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre> """</pre></li>
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre> try:</pre></li>
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742759299480">
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre> )</pre></li>
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre> else:</pre></li>
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre></pre></li>
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre></pre></li>
<li onclick="toggle('pre139742759299480', 'post139742759299480')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759299480')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759299480">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableAuthMN_201712421335486'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6167181033333246882.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4353321536633417728.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18946'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=ysWh6svfd6v0iu4_oC_8CtSvwGFnIKa'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55800'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493888940231676'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865925530></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18659667b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:597)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:529)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataIT.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:597)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:529)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataIT.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:597)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:529)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataIT.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:597)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:529)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataIT.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:13:39 +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>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358566530656">
<ol start="32" class="pre-context" id="pre140358566530656">
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> """</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358566530656">
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> return response</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre></pre></li>
<li onclick="toggle('pre140358566530656', 'post140358566530656')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358566530656')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358566530656">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358546403984">
<ol start="242" class="pre-context" id="pre140358546403984">
<li onclick="toggle('pre140358546403984', 'post140358546403984')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358546403984', 'post140358546403984')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358546403984', 'post140358546403984')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358546403984', 'post140358546403984')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358546403984', 'post140358546403984')"><pre> break</pre></li>
<li onclick="toggle('pre140358546403984', 'post140358546403984')"><pre></pre></li>
<li onclick="toggle('pre140358546403984', 'post140358546403984')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358546403984', 'post140358546403984')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358546403984">
<li onclick="toggle('pre140358546403984', 'post140358546403984')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546403984')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546403984">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d407ac10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358546404200">
<ol start="171" class="pre-context" id="pre140358546404200">
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre></pre></li>
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre></pre></li>
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358546404200">
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre> break</pre></li>
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre></pre></li>
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358546404200', 'post140358546404200')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358546404200')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358546404200">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358567078656">
<ol start="44" class="pre-context" id="pre140358567078656">
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> )</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> )</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358567078656">
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre></pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567078656')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567078656">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358565473456">
<ol start="66" class="pre-context" id="pre140358565473456">
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre></pre></li>
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358565473456">
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> )</pre></li>
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> request</pre></li>
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> )</pre></li>
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358565473456', 'post140358565473456')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358565473456')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358565473456">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358566529720">
<ol start="62" class="pre-context" id="pre140358566529720">
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre> """</pre></li>
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre> try:</pre></li>
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358566529720">
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre> )</pre></li>
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre> else:</pre></li>
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre></pre></li>
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre></pre></li>
<li onclick="toggle('pre140358566529720', 'post140358566529720')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358566529720')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358566529720">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableAuthMN_201712421339158'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7196251710359867693.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.2255202406548976642.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18964'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=2GFeQFP1NU8ec2-ORJ33GrvdLS_RHklq0Hia'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57391'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493889219205568'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493889219205273'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493889219204997'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493889219205640'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c679d3d8></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c680d870></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:597)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:529)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataIT.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:597)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:529)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolderNonAuthMN(MNUpdateSystemMetadataIT.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: https://gmn-s.lternet.edu/mn/v2 testUpdateSystemMetadata_ObsoletesFail() setup steps failed! org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:09:51 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742759226976">
<ol start="32" class="pre-context" id="pre139742759226976">
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre> """</pre></li>
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742759226976">
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre> return response</pre></li>
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre></pre></li>
<li onclick="toggle('pre139742759226976', 'post139742759226976')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759226976')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759226976">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742758423224">
<ol start="242" class="pre-context" id="pre139742758423224">
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> break</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre></pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742758423224">
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758423224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758423224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758614944">
<ol start="171" class="pre-context" id="pre139742758614944">
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre></pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre></pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758614944">
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> break</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre></pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758614944')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758614944">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758981856">
<ol start="39" class="pre-context" id="pre139742758981856">
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> )</pre></li>
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> )</pre></li>
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758981856">
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre></pre></li>
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758981856', 'post139742758981856')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758981856')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758981856">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742757534824">
<ol start="60" class="pre-context" id="pre139742757534824">
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre></pre></li>
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742757534824">
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742757534824', 'post139742757534824')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757534824')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757534824">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742759224240">
<ol start="58" class="pre-context" id="pre139742759224240">
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre> """</pre></li>
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre> try:</pre></li>
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742759224240">
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre> )</pre></li>
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre> else:</pre></li>
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre></pre></li>
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre></pre></li>
<li onclick="toggle('pre139742759224240', 'post139742759224240')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759224240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759224240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_ObsoletesFail_201712421432811'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5605591476756981205.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1131656875197096484.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18982'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=SLp5qXqkPsfBQul9HshckKFLBfZslWdPGwWGH9JS'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55857'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493888991912131'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865a7c370></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865a7cf70></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_ObsoletesFail(MNUpdateSystemMetadataTestImplementations.java:862)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_ObsoletesFail(MNUpdateSystemMetadataTestImplementations.java:819)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_ObsoletesFail(MNUpdateSystemMetadataIT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: https://gmn-s.lternet.edu/mn/v2 testUpdateSystemMetadata_ObsoletedByFail() setup steps failed! org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:10:40 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742759031152">
<ol start="32" class="pre-context" id="pre139742759031152">
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre> """</pre></li>
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742759031152">
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre> return response</pre></li>
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre></pre></li>
<li onclick="toggle('pre139742759031152', 'post139742759031152')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742759031152')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742759031152">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742760424080">
<ol start="242" class="pre-context" id="pre139742760424080">
<li onclick="toggle('pre139742760424080', 'post139742760424080')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742760424080', 'post139742760424080')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742760424080', 'post139742760424080')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742760424080', 'post139742760424080')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742760424080', 'post139742760424080')"><pre> break</pre></li>
<li onclick="toggle('pre139742760424080', 'post139742760424080')"><pre></pre></li>
<li onclick="toggle('pre139742760424080', 'post139742760424080')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742760424080', 'post139742760424080')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742760424080">
<li onclick="toggle('pre139742760424080', 'post139742760424080')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742760424080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742760424080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758748528">
<ol start="171" class="pre-context" id="pre139742758748528">
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre></pre></li>
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre></pre></li>
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758748528">
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre> break</pre></li>
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre></pre></li>
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758748528', 'post139742758748528')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758748528')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758748528">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758421064">
<ol start="39" class="pre-context" id="pre139742758421064">
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> )</pre></li>
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> )</pre></li>
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758421064">
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre></pre></li>
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758421064', 'post139742758421064')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758421064')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758421064">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742758423224">
<ol start="60" class="pre-context" id="pre139742758423224">
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre></pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742758423224">
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742758423224', 'post139742758423224')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758423224')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758423224">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742664940144">
<ol start="58" class="pre-context" id="pre139742664940144">
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> """</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> try:</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742664940144">
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> )</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> else:</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre></pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre></pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742664940144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742664940144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_ObsoletedByFail_201712421526858'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1805240263206083719.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.735322114594454201.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18965'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=3LC2ljeV7U9JkFpBBnexjy-RPY0HtHWaHGW'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55914'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493889040569901'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1865a264b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865a26b30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_ObsoletedByFail(MNUpdateSystemMetadataTestImplementations.java:938)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_ObsoletedByFail(MNUpdateSystemMetadataTestImplementations.java:896)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_ObsoletedByFail(MNUpdateSystemMetadataIT.java:100)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: https://gmn-s.lternet.edu/mn/v2 testUpdateSystemMetadata_MutableObsoletedBy() setup steps failed! org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:11:09 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742766929392">
<ol start="32" class="pre-context" id="pre139742766929392">
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre> """</pre></li>
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742766929392">
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre> return response</pre></li>
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre></pre></li>
<li onclick="toggle('pre139742766929392', 'post139742766929392')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742766929392')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742766929392">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742766929248">
<ol start="242" class="pre-context" id="pre139742766929248">
<li onclick="toggle('pre139742766929248', 'post139742766929248')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742766929248', 'post139742766929248')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742766929248', 'post139742766929248')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742766929248', 'post139742766929248')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742766929248', 'post139742766929248')"><pre> break</pre></li>
<li onclick="toggle('pre139742766929248', 'post139742766929248')"><pre></pre></li>
<li onclick="toggle('pre139742766929248', 'post139742766929248')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742766929248', 'post139742766929248')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742766929248">
<li onclick="toggle('pre139742766929248', 'post139742766929248')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742766929248')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742766929248">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742735294408">
<ol start="171" class="pre-context" id="pre139742735294408">
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre></pre></li>
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre></pre></li>
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742735294408">
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre> break</pre></li>
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre></pre></li>
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742735294408', 'post139742735294408')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735294408')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735294408">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742735293616">
<ol start="39" class="pre-context" id="pre139742735293616">
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> )</pre></li>
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> )</pre></li>
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742735293616">
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre></pre></li>
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742735293616', 'post139742735293616')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735293616')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735293616">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742735293472">
<ol start="60" class="pre-context" id="pre139742735293472">
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre></pre></li>
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742735293472">
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742735293472', 'post139742735293472')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742735293472')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742735293472">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742766929608">
<ol start="58" class="pre-context" id="pre139742766929608">
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre> """</pre></li>
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre> try:</pre></li>
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742766929608">
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre> )</pre></li>
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre> else:</pre></li>
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre></pre></li>
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre></pre></li>
<li onclick="toggle('pre139742766929608', 'post139742766929608')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742766929608')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742766929608">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableObsoletedBy_201712421559302'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4124761494318067489.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5647235675762309330.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18980'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=stPwLlFy5-ysrWr5E4CtbMrghRHJWIC8BYsON'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55939'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493889069753875'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1888c727b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1888c727f0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableObsoletedBy(MNUpdateSystemMetadataTestImplementations.java:998)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableObsoletedBy(MNUpdateSystemMetadataTestImplementations.java:971)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableObsoletedBy(MNUpdateSystemMetadataIT.java:105)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: https://gmn-s.lternet.edu/mn/v2 testUpdateSystemMetadata_MutableObsoletes() setup steps failed! org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:11:38 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742758388728">
<ol start="32" class="pre-context" id="pre139742758388728">
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre> """</pre></li>
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742758388728">
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre> return response</pre></li>
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre></pre></li>
<li onclick="toggle('pre139742758388728', 'post139742758388728')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758388728')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758388728">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742757876584">
<ol start="242" class="pre-context" id="pre139742757876584">
<li onclick="toggle('pre139742757876584', 'post139742757876584')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742757876584', 'post139742757876584')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742757876584', 'post139742757876584')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742757876584', 'post139742757876584')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742757876584', 'post139742757876584')"><pre> break</pre></li>
<li onclick="toggle('pre139742757876584', 'post139742757876584')"><pre></pre></li>
<li onclick="toggle('pre139742757876584', 'post139742757876584')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742757876584', 'post139742757876584')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742757876584">
<li onclick="toggle('pre139742757876584', 'post139742757876584')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742757876584')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742757876584">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742758614944">
<ol start="171" class="pre-context" id="pre139742758614944">
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre></pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre></pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742758614944">
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> break</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre></pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742758614944', 'post139742758614944')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758614944')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758614944">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742758628672">
<ol start="39" class="pre-context" id="pre139742758628672">
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> )</pre></li>
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> )</pre></li>
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742758628672">
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre></pre></li>
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742758628672', 'post139742758628672')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758628672')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758628672">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742664940144">
<ol start="60" class="pre-context" id="pre139742664940144">
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre></pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742664940144">
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742664940144', 'post139742664940144')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742664940144')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742664940144">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742758559328">
<ol start="58" class="pre-context" id="pre139742758559328">
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre> """</pre></li>
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre> try:</pre></li>
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742758559328">
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre> )</pre></li>
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre> else:</pre></li>
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre></pre></li>
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre></pre></li>
<li onclick="toggle('pre139742758559328', 'post139742758559328')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742758559328')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742758559328">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableObsoletes_201712421631342'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.3400139567451314386.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.6293414462074720325.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18948'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=cGZeGLXsD5aY67U49uhQF4Mg6pVPWN'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'55983'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493889098725727'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f18656b54b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f18656b5430></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableObsoletes(MNUpdateSystemMetadataTestImplementations.java:1054)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableObsoletes(MNUpdateSystemMetadataTestImplementations.java:1027)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableObsoletes(MNUpdateSystemMetadataIT.java:110)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: Test setup failed. Couldn't fetch sysmeta (testUpdateSystemMetadata_CNCertNonAuthMN_201712421635867) from CN: GET https://cn-stage-orc-1.test.dataone.org/cn/v2/meta/testUpdateSystemMetadata_CNCertNonAuthMN_201712421635867, origin MN: https://mn-stage-ucsb-2.test.dataone.org/knb/d1/mn/v2 : NotFound: 404: CN sysmeta contained no replica for a v2 MN! GET https://cn-stage-orc-1.test.dataone.org/cn/v2/meta/testUpdateSystemMetadata_CNCertNonAuthMN_201712421635867
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_CNCertNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:723)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_CNCertNonAuthMN(MNUpdateSystemMetadataTestImplementations.java:607)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_CNCertNonAuthMN(MNUpdateSystemMetadataIT.java:115)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:56:24 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742761488680">
<ol start="32" class="pre-context" id="pre139742761488680">
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre> """</pre></li>
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742761488680">
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre> return response</pre></li>
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre></pre></li>
<li onclick="toggle('pre139742761488680', 'post139742761488680')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761488680')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761488680">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742761489040">
<ol start="242" class="pre-context" id="pre139742761489040">
<li onclick="toggle('pre139742761489040', 'post139742761489040')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742761489040', 'post139742761489040')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742761489040', 'post139742761489040')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742761489040', 'post139742761489040')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742761489040', 'post139742761489040')"><pre> break</pre></li>
<li onclick="toggle('pre139742761489040', 'post139742761489040')"><pre></pre></li>
<li onclick="toggle('pre139742761489040', 'post139742761489040')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742761489040', 'post139742761489040')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742761489040">
<li onclick="toggle('pre139742761489040', 'post139742761489040')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761489040')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761489040">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742762106032">
<ol start="171" class="pre-context" id="pre139742762106032">
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre></pre></li>
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre></pre></li>
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742762106032">
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre> break</pre></li>
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre></pre></li>
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742762106032', 'post139742762106032')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742762106032')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742762106032">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742767852288">
<ol start="39" class="pre-context" id="pre139742767852288">
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> )</pre></li>
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> )</pre></li>
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742767852288">
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre></pre></li>
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742767852288', 'post139742767852288')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742767852288')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742767852288">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742767852072">
<ol start="60" class="pre-context" id="pre139742767852072">
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre></pre></li>
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742767852072">
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742767852072', 'post139742767852072')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742767852072')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742767852072">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742761492352">
<ol start="58" class="pre-context" id="pre139742761492352">
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre> """</pre></li>
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre> try:</pre></li>
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742761492352">
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre> )</pre></li>
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre> else:</pre></li>
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre></pre></li>
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre></pre></li>
<li onclick="toggle('pre139742761492352', 'post139742761492352')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742761492352')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742761492352">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_RightsHolder_20171243557498'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1244847971370987436.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8645596547165885444.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18950'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=Kx8xQuIw56lXadb9VB3ncziseJgf28J9e'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57615'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493891784799548'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186593f430></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f186593fdf0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataIT.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataIT.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataIT.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataIT.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 10:06:17 +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>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358554320120">
<ol start="32" class="pre-context" id="pre140358554320120">
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre> """</pre></li>
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358554320120">
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre> return response</pre></li>
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre></pre></li>
<li onclick="toggle('pre140358554320120', 'post140358554320120')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358554320120')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358554320120">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358547170800">
<ol start="242" class="pre-context" id="pre140358547170800">
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> break</pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre></pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358547170800">
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358547170800')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358547170800">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d407ac10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358553605328">
<ol start="171" class="pre-context" id="pre140358553605328">
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre></pre></li>
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre></pre></li>
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358553605328">
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre> break</pre></li>
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre></pre></li>
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358553605328', 'post140358553605328')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358553605328')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358553605328">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358555921080">
<ol start="44" class="pre-context" id="pre140358555921080">
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> )</pre></li>
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> )</pre></li>
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358555921080">
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre></pre></li>
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358555921080', 'post140358555921080')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358555921080')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358555921080">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358556140824">
<ol start="66" class="pre-context" id="pre140358556140824">
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre></pre></li>
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358556140824">
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> )</pre></li>
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> request</pre></li>
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> )</pre></li>
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358556140824', 'post140358556140824')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358556140824')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358556140824">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358566270664">
<ol start="62" class="pre-context" id="pre140358566270664">
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> """</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> try:</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358566270664">
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> )</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> else:</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre></pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre></pre></li>
<li onclick="toggle('pre140358566270664', 'post140358566270664')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358566270664')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358566270664">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_RightsHolder_20171243617461'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.5418727625439934119.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.8360158255033349569.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18952'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=68e2y_iRxJNVW385bvexEbCIrClE5O78pM'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'59235'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493892377744557'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493892377744321'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493892377744103'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493892377744609'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c54cb348></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c5df7370></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataIT.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:162)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataTestImplementations.java:120)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_RightsHolder(MNUpdateSystemMetadataIT.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:57:09 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742760083968">
<ol start="32" class="pre-context" id="pre139742760083968">
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre> """</pre></li>
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742760083968">
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre> return response</pre></li>
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre></pre></li>
<li onclick="toggle('pre139742760083968', 'post139742760083968')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742760083968')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742760083968">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742760087496">
<ol start="242" class="pre-context" id="pre139742760087496">
<li onclick="toggle('pre139742760087496', 'post139742760087496')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742760087496', 'post139742760087496')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742760087496', 'post139742760087496')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742760087496', 'post139742760087496')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742760087496', 'post139742760087496')"><pre> break</pre></li>
<li onclick="toggle('pre139742760087496', 'post139742760087496')"><pre></pre></li>
<li onclick="toggle('pre139742760087496', 'post139742760087496')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742760087496', 'post139742760087496')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742760087496">
<li onclick="toggle('pre139742760087496', 'post139742760087496')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742760087496')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742760087496">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742760083680">
<ol start="171" class="pre-context" id="pre139742760083680">
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre></pre></li>
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre></pre></li>
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742760083680">
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre> break</pre></li>
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre></pre></li>
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742760083680', 'post139742760083680')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742760083680')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742760083680">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742654450504">
<ol start="39" class="pre-context" id="pre139742654450504">
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> )</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> )</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742654450504">
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre></pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742654450504', 'post139742654450504')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742654450504')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742654450504">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742654449064">
<ol start="60" class="pre-context" id="pre139742654449064">
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre></pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742654449064">
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742654449064', 'post139742654449064')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742654449064')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742654449064">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742760083896">
<ol start="58" class="pre-context" id="pre139742760083896">
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre> """</pre></li>
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre> try:</pre></li>
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742760083896">
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre> )</pre></li>
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre> else:</pre></li>
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre></pre></li>
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre></pre></li>
<li onclick="toggle('pre139742760083896', 'post139742760083896')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742760083896')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742760083896">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableRightsHolder_20171243647338'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4353701689152120854.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4438057763042084158.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18964'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=3dq9nDGJvTyba4L54koceVR7rza0Npnz3'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57677'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493891829480946'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f186447b870></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1865ab87b0></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataIT.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataIT.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataIT.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataIT.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 10:07:04 +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>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358567078656">
<ol start="32" class="pre-context" id="pre140358567078656">
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> """</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358567078656">
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> return response</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre></pre></li>
<li onclick="toggle('pre140358567078656', 'post140358567078656')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567078656')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567078656">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358559031024">
<ol start="242" class="pre-context" id="pre140358559031024">
<li onclick="toggle('pre140358559031024', 'post140358559031024')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358559031024', 'post140358559031024')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358559031024', 'post140358559031024')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358559031024', 'post140358559031024')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358559031024', 'post140358559031024')"><pre> break</pre></li>
<li onclick="toggle('pre140358559031024', 'post140358559031024')"><pre></pre></li>
<li onclick="toggle('pre140358559031024', 'post140358559031024')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358559031024', 'post140358559031024')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358559031024">
<li onclick="toggle('pre140358559031024', 'post140358559031024')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358559031024')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358559031024">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d407ac10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358556142264">
<ol start="171" class="pre-context" id="pre140358556142264">
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre></pre></li>
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre></pre></li>
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358556142264">
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre> break</pre></li>
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre></pre></li>
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358556142264', 'post140358556142264')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358556142264')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358556142264">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358553664472">
<ol start="44" class="pre-context" id="pre140358553664472">
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> )</pre></li>
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> )</pre></li>
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358553664472">
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre></pre></li>
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358553664472', 'post140358553664472')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358553664472')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358553664472">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358553663680">
<ol start="66" class="pre-context" id="pre140358553663680">
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre></pre></li>
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358553663680">
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> )</pre></li>
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> request</pre></li>
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> )</pre></li>
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358553663680', 'post140358553663680')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358553663680')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358553663680">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358567219496">
<ol start="62" class="pre-context" id="pre140358567219496">
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre> """</pre></li>
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre> try:</pre></li>
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358567219496">
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre> )</pre></li>
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre> else:</pre></li>
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre></pre></li>
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre></pre></li>
<li onclick="toggle('pre140358567219496', 'post140358567219496')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358567219496')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358567219496">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableRightsHolder_2017124374305'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.1661141478208672223.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7019249870477311397.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18972'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=NMa-Cl8Kv5apx2VdZoNaDd7HFTELWLSNoCrk'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'59270'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493892424499639'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493892424499475'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493892424499167'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493892424499696'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c5ba94b0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c5c4fb30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataIT.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:217)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataTestImplementations.java:174)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableRightsHolder(MNUpdateSystemMetadataIT.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.lternet.edu/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 65</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/usr/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.6</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7',
'/var/local/dataone/gmn/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/lib/python2.7/lib-old',
'/var/local/dataone/gmn/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 09:57:51 +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>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c139742743813800">
<ol start="32" class="pre-context" id="pre139742743813800">
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre> """</pre></li>
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post139742743813800">
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre> return response</pre></li>
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre> return inner</pre></li>
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre></pre></li>
<li onclick="toggle('pre139742743813800', 'post139742743813800')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742743813800')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742743813800">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c139742655062528">
<ol start="242" class="pre-context" id="pre139742655062528">
<li onclick="toggle('pre139742655062528', 'post139742655062528')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre139742655062528', 'post139742655062528')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre139742655062528', 'post139742655062528')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre139742655062528', 'post139742655062528')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742655062528', 'post139742655062528')"><pre> break</pre></li>
<li onclick="toggle('pre139742655062528', 'post139742655062528')"><pre></pre></li>
<li onclick="toggle('pre139742655062528', 'post139742655062528')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre139742655062528', 'post139742655062528')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post139742655062528">
<li onclick="toggle('pre139742655062528', 'post139742655062528')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742655062528')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742655062528">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7f1867d58590>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c139742762105384">
<ol start="171" class="pre-context" id="pre139742762105384">
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre></pre></li>
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre></pre></li>
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post139742762105384">
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre> if response:</pre></li>
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre> break</pre></li>
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre></pre></li>
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre139742762105384', 'post139742762105384')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742762105384')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742762105384">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7f186698db50>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=None, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7f1874045790></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c139742762104088">
<ol start="39" class="pre-context" id="pre139742762104088">
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> .format(view_func.func_name, request.method, view_args, view_kwargs,</pre></li>
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> request.path_info</pre></li>
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> )</pre></li>
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> )</pre></li>
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="46" class="context-line">
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='47' class="post-context" id="post139742762104088">
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre></pre></li>
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre139742762104088', 'post139742762104088')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742762104088')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742762104088">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7f186630d758></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c139742762105240">
<ol start="60" class="pre-context" id="pre139742762105240">
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> if 'HTTP_VENDOR_INCLUDE_CERTIFICATE' in request.META:</pre></li>
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre></pre></li>
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> # the Django request obj.</pre></li>
</ol>
<ol start="67" class="context-line">
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre>
cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)</pre> <span>...</span></li></ol>
<ol start='68' class="post-context" id="post139742762105240">
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> jwt_subject_list = session_jwt.validate_jwt_and_get_subject_list(request)</pre></li>
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str} | set(jwt_subject_list)</pre></li>
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> if len(jwt_subject_list) == 1:</pre></li>
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> jwt_primary_str = jwt_subject_list[0]</pre></li>
<li onclick="toggle('pre139742762105240', 'post139742762105240')"><pre> if jwt_primary_str != cert_primary_str:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742762105240')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742762105240">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7f186698db50></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c139742743810272">
<ol start="58" class="pre-context" id="pre139742743810272">
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre> """</pre></li>
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre> try:</pre></li>
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre> 0,</pre></li>
</ol>
<ol start="65" class="context-line">
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='66' class="post-context" id="post139742743810272">
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre> )</pre></li>
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre> else:</pre></li>
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre></pre></li>
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre></pre></li>
<li onclick="toggle('pre139742743810272', 'post139742743810272')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '139742743810272')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v139742743810272">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.lternet.edu/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.6
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
46. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
67. cert_primary_str, cert_equivalent_set = session_cert.get_subjects(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
65. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableFormat_20171243733622'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.7888353145463630775.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4276454376118299161.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18944'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=cDUb_kYcDQeoSLZQBukZGGFm32ST-0-'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'57733'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.173'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.7 (Ubuntu) Server at gmn-s.lternet.edu Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.7 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIHADCCBeigAwIBAgIQA09MoxiEA3fqnsrSvOHDBDANBgkqhkiG9w0BAQsFADB6\nMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xITAf\nBgNVBAoTGE5ldHdvcmsgU29sdXRpb25zIEwuTC5DLjEpMCcGA1UEAxMgTmV0d29y\nayBTb2x1dGlvbnMgT1YgU2VydmVyIENBIDIwHhcNMTYxMDA0MDAwMDAwWhcNMTcx\nMDIyMjM1OTU5WjCCARExCzAJBgNVBAYTAlVTMRMwEQYDVQQREwo4NzEzMS0wMDAx\nMQswCQYDVQQIEwJOTTEUMBIGA1UEBxMLQWxidXF1ZXJxdWUxIzAhBgNVBAkTGjEg\nVW5pdmVyc2l0eSBvZiBOZXcgTWV4aWNvMSkwJwYDVQQJEyBEZXBhcnRtZW50IG9m\nIEJpb2xvZ3kgTVNDMDMgMjAyMDEhMB8GA1UEChMYVW5pdmVyc2l0eSBvZiBOZXcg\nTWV4aWNvMRwwGgYDVQQLExNMVEVSIE5ldHdvcmsgT2ZmaWNlMSEwHwYDVQQLExhT\nZWN1cmUgTGluayBTU0wgV2lsZGNhcmQxFjAUBgNVBAMMDSoubHRlcm5ldC5lZHUw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/hDQ+aqpYpk2X3hCMlhw2\nRWpOQV5vwFIskZ5MlewRrpCGVpqiOGDVVSSCxmNhAkuOmN5COQJfvmQ5COUrMlT8\n8nPzuOnkqiI9L/Mq7fM8r+N6iYBBnXbxVJ54fkVtawl7FAmBvEqniWNFyEp4Et1E\nnVnZZY5J2pmt3ljIQV5LjCwOlxMSuKbF0KReX0dN9k+zxmN8Ei4VSb7c5RRUXTOA\nnECli56ViljC46VFxEESoURzILGNK8kAyhq1OAZzg4pyuhWQNdgT7YQEZASpCahq\nWOdTtYWhQ0zOgkzW4hqPRAgjsDo5hKj2rELVQyV2BFf0gG4mdgq/NvQgFCmzYAkj\n8IqmHbRc/FPLn4P1zIy6PBTc5Lwp+upEga1zUmvUd9bU/0Wmh9aeNngbtFmK/B+X\nZEIE27VxDBYq0LxzsIGoXtCRiFK7SigbOVrldzJKkiuYFCNTd+6ceKOTjy8tuRki\nLrpRZ5QZRi6MNjzvqQI1oGvEcW5kCzW4Wt4OxOZsp9tTDmg4YkJKKza3X/w3DP+y\n76BfFGzAm1NglqsW0WlNLzp7NaqMeCW3lLofDMZmlYOEPx0mn1BrN+XN5CCUGEVx\nho09GiA23X33AZqFQxGhHpT0ua9TfEKJjJSFtH4lRlOa52rnmbz1+RvRQJQ80bJO\nBOEsshMpYk9nTBR/deHr/QIDAQABo4IB5zCCAeMwHwYDVR0jBBgwFoAUIDPNt2H2\npYZP3MnXc2q8ClFlmOwwHQYDVR0OBBYEFJTuLsEk9g68lrwO7Udn+sHQfEqeMA4G\nA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMB\nBggrBgEFBQcDAjB1BgNVHSAEbjBsMGAGDCsGAQQBhg4BAgEDATBQME4GCCsGAQUF\nBwIBFkJodHRwOi8vd3d3Lm5ldHdvcmtzb2x1dGlvbnMuY29tL2xlZ2FsL1NTTC1s\nZWdhbC1yZXBvc2l0b3J5LWNwcy5qc3AwCAYGZ4EMAQICMEkGA1UdHwRCMEAwPqA8\noDqGOGh0dHA6Ly9jcmwubmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zT1ZT\nZXJ2ZXJDQTIuY3JsMHsGCCsGAQUFBwEBBG8wbTBEBggrBgEFBQcwAoY4aHR0cDov\nL2NydC5uZXRzb2xzc2wuY29tL05ldHdvcmtTb2x1dGlvbnNPVlNlcnZlckNBMi5j\ncnQwJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLm5ldHNvbHNzbC5jb20wJQYDVR0R\nBB4wHIINKi5sdGVybmV0LmVkdYILbHRlcm5ldC5lZHUwDQYJKoZIhvcNAQELBQAD\nggEBAHtmSxZVSFBGRzfRuEkZmEKK0Cs2wpIg+Rr6vboVix//H4ZAlc6Mz/WF0ffu\nkrgX4cdpD1y+WcnNj8KsOoNYooZTQhIAx5DwDB+2FSlq7wDLB1kpKt8wtlVpjDA5\nk6mI0Yfs2HFm/HgxFmVblUfFEoWRJDXL1vm0aZv/pQyDhZW15Wh5HjZIJSFbqtsb\n3wI2a4rzmjUAEwUXNfdb8Z7NPKBzMyqxXMMr6TT0F/pGc/GJSx1icNsR91P50FYN\nglU2kNul1FX5FffrIDnYT1PLmmon63zzoKgcA89H/mzb2eWN46ud6BvoaYI96+nA\nvFdhSzHKeFXzpQeKCG07BRuHqcU=\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.lternet.edu'</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493891871088640'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(3, 4)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7f1864b185f0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7f1864b18b30></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>BASE_DIR</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set(['gmn_test_subject_trusted'])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Roger Dahl', 'dahl@unm.edu'), ('Mark Servilla', 'mark.servilla@gmail.com'))</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.lternet.edu/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'CN=Mark Servilla A6788,O=LTERN (Long Term Ecological Research Network),C=US,DC=cilogon,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'The U.S. Long Term Ecological Research Network (LTER) data include ecological observations from the study of pattern and control of primary production, movement of both organic and inorganic matter, disturbance patterns, and the spatial and temporal distribution of populations selected to represent trophic structure. The data originates from 27 sites across the conterminous United States of America, Alaska, Antarctica, Puerto Rico, and French Polynesia and spans a period from over 100 years ago to the present.'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestLTER'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Stage test for PASTA-GMN'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestLTER,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'23'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.lternet.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataIT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.neonscience.org/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataIT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/Session is required to WRITE to the Node. [for host http://dataone.ornith.cornell.edu/metacat/d1/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataIT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://dataone-test.researchworkspace.com/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataIT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE">
<title>InvalidToken at /v2/object</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; padding-left: 2px; }
div.context ol li pre { display:inline; }
div.context ol.context-line li { color:#505050; background-color:#dfdfdf; padding: 3px 2px; }
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 10px 20px; }
#template-not-exist .postmortem-section { margin-bottom: 3px; }
#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; }
.append-bottom { margin-bottom: 10px; }
</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.textContent = s.textContent == uarr ? darr : uarr;
return false;
}
function switchPastebinFriendly(link) {
s1 = "Switch to copy-and-paste view";
s2 = "Switch back to interactive view";
link.textContent = link.textContent.trim() == s1 ? s2: s1;
toggle('browserTraceback', 'pastebinTraceback');
return false;
}
//-->
</script>
</head>
<body>
<div id="summary">
<h1>InvalidToken at /v2/object</h1>
<pre class="exception_value">name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre>
<table class="meta">
<tr>
<th>Request Method:</th>
<td>POST</td>
</tr>
<tr>
<th>Request URL:</th>
<td>https://gmn-s.edirepository.org/mn/v2/object</td>
</tr>
<tr>
<th>Django Version:</th>
<td>1.10.1</td>
</tr>
<tr>
<th>Exception Type:</th>
<td>InvalidToken</td>
</tr>
<tr>
<th>Exception Value:</th>
<td><pre>name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</pre></td>
</tr>
<tr>
<th>Exception Location:</th>
<td>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py in get_subjects, line 69</td>
</tr>
<tr>
<th>Python Executable:</th>
<td>/var/local/dataone/gmn_venv/bin/python</td>
</tr>
<tr>
<th>Python Version:</th>
<td>2.7.12</td>
</tr>
<tr>
<th>Python Path:</th>
<td><pre>['/var/local/dataone/gmn_venv/lib/python2.7',
'/var/local/dataone/gmn_venv/lib/python2.7/plat-x86_64-linux-gnu',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-old',
'/var/local/dataone/gmn_venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/.',
'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/..']</pre></td>
</tr>
<tr>
<th>Server time:</th>
<td>Thu, 4 May 2017 10:07:50 +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>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>
<div class="context" id="c140358553782824">
<ol start="32" class="pre-context" id="pre140358553782824">
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre> can rely on getting a response instead of an exception.</pre></li>
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre> """</pre></li>
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre> @wraps(get_response, assigned=available_attrs(get_response))</pre></li>
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre> def inner(request):</pre></li>
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre> try:</pre></li>
</ol>
<ol start="39" class="context-line">
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre>
response = get_response(request)</pre> <span>...</span></li></ol>
<ol start='40' class="post-context" id="post140358553782824">
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre> except Exception as exc:</pre></li>
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre> response = response_for_exception(request, exc)</pre></li>
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre> return response</pre></li>
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre> return inner</pre></li>
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre></pre></li>
<li onclick="toggle('pre140358553782824', 'post140358553782824')"><pre></pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358553782824')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358553782824">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>exc</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>get_response</td>
<td class="code"><pre><bound method D1WSGIHandler._legacy_get_response of <_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_legacy_get_response</code>
<div class="context" id="c140358547170800">
<ol start="242" class="pre-context" id="pre140358547170800">
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> # Apply request middleware</pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> for middleware_method in self._request_middleware:</pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> response = middleware_method(request)</pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> break</pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre></pre></li>
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> if response is None:</pre></li>
</ol>
<ol start="249" class="context-line">
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre>
response = self._get_response(request)</pre> <span>...</span></li></ol>
<ol start='250' class="post-context" id="post140358547170800">
<li onclick="toggle('pre140358547170800', 'post140358547170800')"><pre> return response</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358547170800')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358547170800">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method RequestHandler.process_request of <app.middleware.request_handler.RequestHandler object at 0x7fa7d407ac10>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame django">
<code>/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>
<div class="context" id="c140358555922232">
<ol start="171" class="pre-context" id="pre140358555922232">
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre></pre></li>
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre> resolver_match = resolver.resolve(request.path_info)</pre></li>
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre> callback, callback_args, callback_kwargs = resolver_match</pre></li>
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre> request.resolver_match = resolver_match</pre></li>
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre></pre></li>
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre> # Apply view middleware</pre></li>
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre> for middleware_method in self._view_middleware:</pre></li>
</ol>
<ol start="178" class="context-line">
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre>
response = middleware_method(request, callback, callback_args, callback_kwargs)</pre> <span>...</span></li></ol>
<ol start='179' class="post-context" id="post140358555922232">
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre> if response:</pre></li>
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre> break</pre></li>
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre></pre></li>
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre> if response is None:</pre></li>
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>
<li onclick="toggle('pre140358555922232', 'post140358555922232')"><pre> try:</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358555922232')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358555922232">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>callback</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>callback_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>callback_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>middleware_method</td>
<td class="code"><pre><bound method ViewHandler.process_view of <app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090>></pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>resolver</td>
<td class="code"><pre><RegexURLResolver 'app.urls' (None:None) ^/></pre></td>
</tr>
<tr>
<td>resolver_match</td>
<td class="code"><pre>ResolverMatch(func=app.views.external.dispatch_object_list, args=(), kwargs={}, url_name=dispatch_object_list, app_names=[], namespaces=[])</pre></td>
</tr>
<tr>
<td>response</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><_mod_wsgi_64fd1b214d55a1b65e7308653383672c.D1WSGIHandler object at 0x7fa7d537f950></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_view</code>
<div class="context" id="c140358556340664">
<ol start="44" class="pre-context" id="pre140358556340664">
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> logging.info(</pre></li>
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> u'View: func_name="{}", method="{}", args="{}", kwargs="{}", url="{}"'</pre></li>
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> .format(</pre></li>
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> view_func.func_name, request.method, view_args, view_kwargs, request.path_info</pre></li>
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> )</pre></li>
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> )</pre></li>
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> # logging.debug(request.headers)</pre></li>
</ol>
<ol start="51" class="context-line">
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre>
self.process_session(request)</pre> <span>...</span></li></ol>
<ol start='52' class="post-context" id="post140358556340664">
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre></pre></li>
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> def process_session(self, request):</pre></li>
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> # For simulating an HTTPS connection with client authentication when</pre></li>
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> # debugging via regular HTTP, two mechanisms are supported. (1) A full</pre></li>
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> # client side certificate can be included and (2) a list of subjects can be</pre></li>
<li onclick="toggle('pre140358556340664', 'post140358556340664')"><pre> # included. Both use vendor specific extensions (HTTP headers that start</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358556340664')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358556340664">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
<tr>
<td>view_args</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>view_func</td>
<td class="code"><pre><function dispatch_object_list at 0x7fa7c6d346e0></pre></td>
</tr>
<tr>
<td>view_kwargs</td>
<td class="code"><pre>{}</pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py</code> in <code>process_session</code>
<div class="context" id="c140358556343040">
<ol start="66" class="pre-context" id="pre140358556343040">
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> request.META['SSL_CLIENT_CERT'] = \</pre></li>
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> self.pem_in_http_header_to_pem_in_string(</pre></li>
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> request.META['HTTP_VENDOR_INCLUDE_CERTIFICATE'])</pre></li>
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre></pre></li>
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> # Add subjects from any provided certificate and JWT and store them in</pre></li>
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> # the Django request obj.</pre></li>
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> cert_primary_str, cert_equivalent_set = app.middleware.session_cert.get_subjects(</pre></li>
</ol>
<ol start="73" class="context-line">
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre>
request</pre> <span>...</span></li></ol>
<ol start='74' class="post-context" id="post140358556343040">
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> )</pre></li>
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> jwt_subject_list = app.middleware.session_jwt.validate_jwt_and_get_subject_list(</pre></li>
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> request</pre></li>
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> )</pre></li>
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> primary_subject_str = cert_primary_str</pre></li>
<li onclick="toggle('pre140358556343040', 'post140358556343040')"><pre> all_subjects_set = cert_equivalent_set | {cert_primary_str</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358556343040')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358556343040">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></pre></td>
</tr>
<tr>
<td>self</td>
<td class="code"><pre><app.middleware.view_handler.ViewHandler object at 0x7fa7ccba6090></pre></td>
</tr>
</tbody>
</table>
</li>
<li class="frame user">
<code>/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py</code> in <code>get_subjects</code>
<div class="context" id="c140358553783184">
<ol start="62" class="pre-context" id="pre140358553783184">
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre> """</pre></li>
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre> if _is_certificate_provided(request):</pre></li>
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre> try:</pre></li>
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre> return get_authenticated_subjects(request.META['SSL_CLIENT_CERT'])</pre></li>
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre> except Exception as e:</pre></li>
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre> raise d1_common.types.exceptions.InvalidToken(</pre></li>
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre> 0,</pre></li>
</ol>
<ol start="69" class="context-line">
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre>
u'Error extracting session from certificate. error="{}"'.format(str(e))</pre> <span>...</span></li></ol>
<ol start='70' class="post-context" id="post140358553783184">
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre> )</pre></li>
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre> else:</pre></li>
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre> return d1_common.const.SUBJECT_PUBLIC, set()</pre></li>
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre></pre></li>
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre></pre></li>
<li onclick="toggle('pre140358553783184', 'post140358553783184')"><pre>def get_authenticated_subjects(cert_pem):</pre></li>
</ol>
</div>
<div class="commands">
<a href="#" onclick="return varToggle(this, '140358553783184')"><span>▶</span> Local vars</a>
</div>
<table class="vars" id="v140358553783184">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>e</td>
<td class="code"><pre>InvalidToken()</pre></td>
</tr>
<tr>
<td>request</td>
<td class="code"><pre><D1WSGIRequest: POST '/mn/v2/object'></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="InvalidToken at /v2/object">
<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: POST
Request URL: https://gmn-s.edirepository.org/mn/v2/object
Django Version: 1.10.1
Python Version: 2.7.12
Installed Applications:
['django.contrib.staticfiles', 'app']
Installed Middleware:
('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')
Traceback:
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
39. response = get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/var/local/dataone/gmn_venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_view
51. self.process_session(request)
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/view_handler.py" in process_session
73. request
File "/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/./app/middleware/session_cert.py" in get_subjects
69. u'Error extracting session from certificate. error="{}"'.format(str(e))
Exception Type: InvalidToken at /v2/object
Exception Value: name: InvalidToken
errorCode: 401
detailCode: 0
description:
Error extracting session from certificate. error="name: InvalidToken
errorCode: 401
detailCode: 0
description: Could not deserialize SubjectInfo. subject_info="<?xml version="1.0" encoding="UTF-8"?><d1:subjectInfo xmlns:d1="http://ns.dataone.org/service/types/v1">.<person>..<subject>CN=testRightsHolder,DC=dataone,DC=org</subject>..<givenName>testRightsHolder_givenName</givenName>..<familyName>testRightsHolder_familyName</familyName>.</person></d1:subjectInfo>", error="Invalid non-element content at <unknown>[1:113]"
"
</textarea>
<br><br>
<input type="submit" value="Share this traceback on a public website">
</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>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>pid</td>
<td class="code"><pre>u'testUpdateSystemMetadata_MutableFormat_20171243749970'</pre></td>
</tr>
</tbody>
</table>
<h3 id="files-info">FILES</h3>
<table class="req">
<thead>
<tr>
<th>Variable</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>sysmeta</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.9192214134057788360.tmp (application/octet-stream)></pre></td>
</tr>
<tr>
<td>object</td>
<td class="code"><pre><InMemoryUploadedFile: mmp.output.4641510724928278637.tmp (application/octet-stream)></pre></td>
</tr>
</tbody>
</table>
<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>CONTENT_LENGTH</td>
<td class="code"><pre>'18966'</pre></td>
</tr>
<tr>
<td>CONTENT_TYPE</td>
<td class="code"><pre>'multipart/form-data; boundary=fM5NCKebwQkK7qyNXhym_3etOCBaOdQU_N-2T'</pre></td>
</tr>
<tr>
<td>CONTEXT_DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>CONTEXT_PREFIX</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>DOCUMENT_ROOT</td>
<td class="code"><pre>'/var/www'</pre></td>
</tr>
<tr>
<td>GATEWAY_INTERFACE</td>
<td class="code"><pre>'CGI/1.1'</pre></td>
</tr>
<tr>
<td>HTTP_ACCEPT_ENCODING</td>
<td class="code"><pre>'gzip,deflate'</pre></td>
</tr>
<tr>
<td>HTTP_CONNECTION</td>
<td class="code"><pre>'Keep-Alive'</pre></td>
</tr>
<tr>
<td>HTTP_HOST</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>HTTP_USER_AGENT</td>
<td class="code"><pre>'Apache-HttpClient/4.3.6 (java 1.5)'</pre></td>
</tr>
<tr>
<td>HTTP_VIA</td>
<td class="code"><pre>'1.1 localhost (Apache-HttpClient/4.3.6 (cache))'</pre></td>
</tr>
<tr>
<td>PATH_INFO</td>
<td class="code"><pre>u'/v2/object'</pre></td>
</tr>
<tr>
<td>PATH_TRANSLATED</td>
<td class="code"><pre>'/var/www/v2/object'</pre></td>
</tr>
<tr>
<td>QUERY_STRING</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>REMOTE_ADDR</td>
<td class="code"><pre>'64.106.40.19'</pre></td>
</tr>
<tr>
<td>REMOTE_PORT</td>
<td class="code"><pre>'59326'</pre></td>
</tr>
<tr>
<td>REQUEST_METHOD</td>
<td class="code"><pre>'POST'</pre></td>
</tr>
<tr>
<td>REQUEST_SCHEME</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>REQUEST_URI</td>
<td class="code"><pre>'/mn/v2/object'</pre></td>
</tr>
<tr>
<td>SCRIPT_FILENAME</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/wsgi.py'</pre></td>
</tr>
<tr>
<td>SCRIPT_NAME</td>
<td class="code"><pre>u'/mn'</pre></td>
</tr>
<tr>
<td>SERVER_ADDR</td>
<td class="code"><pre>'129.24.124.94'</pre></td>
</tr>
<tr>
<td>SERVER_ADMIN</td>
<td class="code"><pre>'admin@edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_NAME</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>SERVER_PORT</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>SERVER_PROTOCOL</td>
<td class="code"><pre>'HTTP/1.1'</pre></td>
</tr>
<tr>
<td>SERVER_SIGNATURE</td>
<td class="code"><pre>'<address>Apache/2.4.18 (Ubuntu) Server at gmn-s.edirepository.org Port 443</address>\n'</pre></td>
</tr>
<tr>
<td>SERVER_SOFTWARE</td>
<td class="code"><pre>'Apache/2.4.18 (Ubuntu)'</pre></td>
</tr>
<tr>
<td>SSL_CLIENT_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIG7DCCBNSgAwIBAgIJANoyY6KhLQC/MA0GCSqGSIb3DQEBBQUAMFUxEzARBgoJ\nkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdkYXRhb25lMSUwIwYDVQQD\nDBxEYXRhT05FIFRlc3QgSW50ZXJtZWRpYXRlIENBMB4XDTE1MDUyMDE4NTcyMloX\nDTE4MDUxOTE4NTcyMlowSTETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT\n8ixkARkWB2RhdGFvbmUxGTAXBgNVBAMMEHRlc3RSaWdodHNIb2xkZXIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ/zMSGAS2UN3OfmwImsGOJTabIJ1g\nr0Yza+M1dlg4U9w4sw2AKymWRKhwWB5kcbGwqaU799a7+p3whBsy90ymw5wnxaWd\nXrPYU237PE3t3GoDUMm5ksMotcx7zyWD7X6ULTpK0mCUcts/P5Nyz9a5MY8ONyX9\n79iEza7yY8h2WUlPUcAiWC8mNmtWKnkbDMj3J8hftPsHVvQZS/sUV3qZXY+0sTc1\nnfyI3Ki+SVq4pbfXYC67mwCHfEAQkSvDsNHp20R9d53h3DI8iXtkElz1JQKUhYeB\nIRVqcgOsBXCJ3WmabhlOPPr3TQiGGEoT2PnbJ2rzRv9L+UEOgJs10FuBAgMBAAGj\nggLJMIICxTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy\nYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUXWYvIzSx6xMxPwx6yADxN5TQNXsw\nHwYDVR0jBBgwFoAU7y7BJ2wqigmrbMNFfzv5V9UWqbMwggEBBgNVHR8EgfkwgfYw\nPKA6oDiGNmh0dHA6Ly9yZWxlYXNlcy5kYXRhb25lLm9yZy9jcmwvRGF0YU9ORVRl\nc3RJbnRfQ1JMLnBlbTA9oDugOYY3aHR0cDovL2NuLXVjc2ItMS5kYXRhb25lLm9y\nZy9jcmwvRGF0YU9ORVRlc3RJbnRfQ1JMLnBlbTA5oDegNYYzaHR0cDovL2NuLXVu\nbS0xLmRhdGFvbmUub3JnL2NybC9EYXRhT05FVGVzdF9DUkwucGVtMDygOqA4hjZo\ndHRwOi8vY24tb3JjLTEuZGF0YW9uZS5vcmcvY3JsL0RhdGFPTkVUZXN0SW50X0NS\nTC5wZW0wggFDBgorBgEEAYKRNgIBBIIBMwyCAS88P3htbCB2ZXJzaW9uPSIxLjAi\nIGVuY29kaW5nPSJVVEYtOCI/PjxkMTpzdWJqZWN0SW5mbyB4bWxuczpkMT0iaHR0\ncDovL25zLmRhdGFvbmUub3JnL3NlcnZpY2UvdHlwZXMvdjEiPi48cGVyc29uPi4u\nPHN1YmplY3Q+Q049dGVzdFJpZ2h0c0hvbGRlcixEQz1kYXRhb25lLERDPW9yZzwv\nc3ViamVjdD4uLjxnaXZlbk5hbWU+dGVzdFJpZ2h0c0hvbGRlcl9naXZlbk5hbWU8\nL2dpdmVuTmFtZT4uLjxmYW1pbHlOYW1lPnRlc3RSaWdodHNIb2xkZXJfZmFtaWx5\nTmFtZTwvZmFtaWx5TmFtZT4uPC9wZXJzb24+PC9kMTpzdWJqZWN0SW5mbz4wDQYJ\nKoZIhvcNAQEFBQADggIBALrwobQ7Vjwdn5Kxul6+JNz3RXs+8a+CnBZ011uA3M0g\n2Bkxm8ysKHttBctdyzKJ1BXub/WiKMKg5LgJIXGI34Xo4bl5/clrEl6hCsChs6XY\nmWA2YVPPoO/KvwdkOa1gnvU/+n6oxH/AxPBqG4+Zf/guLXs32LasPHGs5CN0rtRz\nwgDZpU1KCnIdCeV6gcGp+W18X1+OJ5eDxFsg0ZVSZzKCVOuL7Tp1aEnOwVfzQBzo\nHQ3mMPMaEt6mBR3c2U7PHtCSGty+R6IHNBiG6bjNO4aD/ZsZVG4FklfQMaClN5U7\nvaNCOS5UZ8H3HPu08/UeimouDx1E/+Y5mqwH2C6JMH+PGUf/ViSci4LuzPY9WYfx\nus42uW+k4PrJv/KrVqHn4rjniOdMFyBvBEuwYIrcE9vvgI3qMa9idWeDX7gKreeR\nj9OnBbVm19+xuU8mijY9mbMqjCzM/L73CxdVXsK6yQ2HjdBVwvmfsCd92Ikpkfvv\nComGDHE7I9/RO5RckZ95uS2AqaWboPHxGGJhSd8+ZfuVjnLBPkQd9mTcGFmzC+UM\n34b4lxZlQ2aEo6/ZWDcjh6afbSixVs9CJZejor6RB0Dg2LYqApYHcjQEVnzW/hF+\nP5tMTrd4EQj+tsyTFQgdj7NtoDY1EkgD0ohYPA9PF6t3R2w7hHVs5hyb/xY/55CV\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_SERVER_CERT</td>
<td class="code"><pre>'-----BEGIN CERTIFICATE-----\nMIIFJzCCBA+gAwIBAgISA9R53ggfRMJP7jK+DakfKG54MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAyMjgxNzAyMDBaFw0x\nNzA1MjkxNzAyMDBaMCAxHjAcBgNVBAMTFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALzVKyUDT8DOT5MRAaqXKNbp\nCHpzRQaI8M6+ClVUkIGhpjgHu4+Awkk/unjBvJjUkJkiS7Nt4HrVGO2poILMd8LX\nXT+1N4UwfPPDvCuC3T1OHExrfQgpjBxCMqMs7OAEYRu1OGU3QTuSUN2RwwwGyT8E\nn/9afRXK6Z6AohHwo7tTSekKrPP47SXWpX0dUGropxADfGEynubmd3E+1BNelw1l\nWEWx6z6wPydyfbIXsdYwiBYaUhKxcuhbC1DVx8qwcdKqcHsOYUJgjiODp98jR22Q\nrF99mATNnqLFvKW06GjOHx8Uu0wpzIncLS5fDPnGAdjrn54ZwD8J8/hUZw3qj78C\nAwEAAaOCAi8wggIrMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcD\nAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU/IIXUwQREMuhyVpo\nTKXStc8yenAwHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwcAYIKwYB\nBQUHAQEEZDBiMC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC5pbnQteDMubGV0c2Vu\nY3J5cHQub3JnLzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNl\nbmNyeXB0Lm9yZy8wOQYDVR0RBDIwMIIXZ21uLXMuZWRpcmVwb3NpdG9yeS5vcmeC\nFWpvZS5lZGlyZXBvc2l0b3J5Lm9yZzCB/gYDVR0gBIH2MIHzMAgGBmeBDAECATCB\n5gYLKwYBBAGC3xMBAQEwgdYwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2Vu\nY3J5cHQub3JnMIGrBggrBgEFBQcCAjCBngyBm1RoaXMgQ2VydGlmaWNhdGUgbWF5\nIG9ubHkgYmUgcmVsaWVkIHVwb24gYnkgUmVseWluZyBQYXJ0aWVzIGFuZCBvbmx5\nIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ2VydGlmaWNhdGUgUG9saWN5IGZvdW5k\nIGF0IGh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL3JlcG9zaXRvcnkvMA0GCSqGSIb3\nDQEBCwUAA4IBAQCHlFhrmXEQ6Iybwvaz1r8Q8swry25a2WxBEqA8tX8hKYIudkiB\nKDmMxa88IsrctccF9XfcbInaOJumZioDoGih9PdCeA0Jqc/i+vi7U5Tl6aqwbcit\nOCLKfKGf/oyn1TEWT/6PvbAJPaQoe79fugfT93xjZOSt/t093aDrCeH7fVWmUbAh\nuXrTFoT4FwT0RgSwhVZTIBTi1R02WF5rFIJiy6qme8qZqcTb+3ixMj0R2dZpdtqg\nLrdfuRVFhznuHGLcOMu/mFBcc8C4sfX1BJHqqYPsyUkgXXyPUN6cuxlBB6WbS3V2\nJ9Vbdd01kKVByUusX8rMF3pfiyVge/gK8ut7\n-----END CERTIFICATE-----\n'</pre></td>
</tr>
<tr>
<td>SSL_TLS_SNI</td>
<td class="code"><pre>'gmn-s.edirepository.org'</pre></td>
</tr>
<tr>
<td>apache.version</td>
<td class="code"><pre>(2, 4, 18)</pre></td>
</tr>
<tr>
<td>mod_wsgi.application_group</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.callable_object</td>
<td class="code"><pre>'application'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_connects</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_restarts</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.daemon_start</td>
<td class="code"><pre>'1493892470240430'</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>mod_wsgi.input_chunked</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_host</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>mod_wsgi.listener_port</td>
<td class="code"><pre>'443'</pre></td>
</tr>
<tr>
<td>mod_wsgi.process_group</td>
<td class="code"><pre>'gmn2'</pre></td>
</tr>
<tr>
<td>mod_wsgi.queue_start</td>
<td class="code"><pre>'1493892470240162'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_handler</td>
<td class="code"><pre>'wsgi-script'</pre></td>
</tr>
<tr>
<td>mod_wsgi.request_start</td>
<td class="code"><pre>'1493892470239838'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_reloading</td>
<td class="code"><pre>'1'</pre></td>
</tr>
<tr>
<td>mod_wsgi.script_start</td>
<td class="code"><pre>'1493892470240501'</pre></td>
</tr>
<tr>
<td>mod_wsgi.version</td>
<td class="code"><pre>(4, 3, 0)</pre></td>
</tr>
<tr>
<td>wsgi.errors</td>
<td class="code"><pre><mod_wsgi.Log object at 0x7fa7c60d5ed0></pre></td>
</tr>
<tr>
<td>wsgi.file_wrapper</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>wsgi.input</td>
<td class="code"><pre><mod_wsgi.Input object at 0x7fa7c5e2f270></pre></td>
</tr>
<tr>
<td>wsgi.multiprocess</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.multithread</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>wsgi.run_once</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>wsgi.url_scheme</td>
<td class="code"><pre>'https'</pre></td>
</tr>
<tr>
<td>wsgi.version</td>
<td class="code"><pre>(1, 0)</pre></td>
</tr>
</tbody>
</table>
<h3 id="settings-info">Settings</h3>
<h4>Using settings module <code>settings</code></h4>
<table class="req">
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>ABSOLUTE_URL_OVERRIDES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>ADMINS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>ALLOWED_HOSTS</td>
<td class="code"><pre>['localhost', '127.0.0.1']</pre></td>
</tr>
<tr>
<td>ALLOW_INTEGRATION_TESTS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>APPEND_SLASH</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>AUTHENTICATION_BACKENDS</td>
<td class="code"><pre>[u'django.contrib.auth.backends.ModelBackend']</pre></td>
</tr>
<tr>
<td>AUTH_PASSWORD_VALIDATORS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>AUTH_USER_MODEL</td>
<td class="code"><pre>u'auth.User'</pre></td>
</tr>
<tr>
<td>CACHES</td>
<td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
'TIMEOUT': 3600}}</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CACHE_MIDDLEWARE_SECONDS</td>
<td class="code"><pre>600</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PATH</td>
<td class="code"><pre>'/var/local/dataone/certs/client/client_cert.pem'</pre></td>
</tr>
<tr>
<td>CLIENT_CERT_PRIVATE_KEY_PATH</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_AGE</td>
<td class="code"><pre>31449600</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_DOMAIN</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>CSRF_COOKIE_NAME</td>
<td class="code"><pre>u'csrftoken'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>CSRF_COOKIE_SECURE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>CSRF_FAILURE_VIEW</td>
<td class="code"><pre>u'django.views.csrf.csrf_failure'</pre></td>
</tr>
<tr>
<td>CSRF_HEADER_NAME</td>
<td class="code"><pre>u'HTTP_X_CSRFTOKEN'</pre></td>
</tr>
<tr>
<td>CSRF_TRUSTED_ORIGINS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATABASES</td>
<td class="code"><pre>{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 0,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'gmn2',
'OPTIONS': {},
'PASSWORD': u'********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': ''}}</pre></td>
</tr>
<tr>
<td>DATABASE_ROUTERS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>DATAONE_ROOT</td>
<td class="code"><pre>'https://cn-stage.test.dataone.org/cn'</pre></td>
</tr>
<tr>
<td>DATAONE_TRUSTED_SUBJECTS</td>
<td class="code"><pre>set([])</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
<td class="code"><pre>1000</pre></td>
</tr>
<tr>
<td>DATETIME_FORMAT</td>
<td class="code"><pre>u'N j, Y, P'</pre></td>
</tr>
<tr>
<td>DATETIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d %H:%M:%S',
u'%Y-%m-%d %H:%M:%S.%f',
u'%Y-%m-%d %H:%M',
u'%Y-%m-%d',
u'%m/%d/%Y %H:%M:%S',
u'%m/%d/%Y %H:%M:%S.%f',
u'%m/%d/%Y %H:%M',
u'%m/%d/%Y',
u'%m/%d/%y %H:%M:%S',
u'%m/%d/%y %H:%M:%S.%f',
u'%m/%d/%y %H:%M',
u'%m/%d/%y']</pre></td>
</tr>
<tr>
<td>DATE_FORMAT</td>
<td class="code"><pre>u'N j, Y'</pre></td>
</tr>
<tr>
<td>DATE_INPUT_FORMATS</td>
<td class="code"><pre>[u'%Y-%m-%d',
u'%m/%d/%Y',
u'%m/%d/%y',
u'%b %d %Y',
u'%b %d, %Y',
u'%d %b %Y',
u'%d %b, %Y',
u'%B %d %Y',
u'%B %d, %Y',
u'%d %B %Y',
u'%d %B, %Y']</pre></td>
</tr>
<tr>
<td>DEBUG</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>DEBUG_GMN</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>DEBUG_PYCHARM</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>DECIMAL_SEPARATOR</td>
<td class="code"><pre>u'.'</pre></td>
</tr>
<tr>
<td>DEFAULT_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>DEFAULT_CONTENT_TYPE</td>
<td class="code"><pre>u'text/html'</pre></td>
</tr>
<tr>
<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
<td class="code"><pre>u'django.views.debug.SafeExceptionReporterFilter'</pre></td>
</tr>
<tr>
<td>DEFAULT_FILE_STORAGE</td>
<td class="code"><pre>u'django.core.files.storage.FileSystemStorage'</pre></td>
</tr>
<tr>
<td>DEFAULT_FROM_EMAIL</td>
<td class="code"><pre>u'webmaster@localhost'</pre></td>
</tr>
<tr>
<td>DEFAULT_INDEX_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DEFAULT_TABLESPACE</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>DISALLOWED_USER_AGENTS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>ECHO_REQUEST_OBJECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_BACKEND</td>
<td class="code"><pre>u'django.core.mail.backends.smtp.EmailBackend'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST</td>
<td class="code"><pre>u'localhost'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_HOST_USER</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>EMAIL_PORT</td>
<td class="code"><pre>25</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_CERTFILE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_SSL_KEYFILE</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>EMAIL_SUBJECT_PREFIX</td>
<td class="code"><pre>u'[Django] '</pre></td>
</tr>
<tr>
<td>EMAIL_TIMEOUT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>EMAIL_USE_SSL</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>EMAIL_USE_TLS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>FILE_CHARSET</td>
<td class="code"><pre>u'utf-8'</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_HANDLERS</td>
<td class="code"><pre>[u'django.core.files.uploadhandler.MemoryFileUploadHandler',
u'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
<td class="code"><pre>2621440</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_PERMISSIONS</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FILE_UPLOAD_TEMP_DIR</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FIRST_DAY_OF_WEEK</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>FIXTURE_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>FORCE_SCRIPT_NAME</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>FORMAT_MODULE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>IGNORABLE_404_URLS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>INSTALLED_APPS</td>
<td class="code"><pre>['django.contrib.staticfiles', 'app']</pre></td>
</tr>
<tr>
<td>INTERNAL_IPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LANGUAGES</td>
<td class="code"><pre>[(u'af', u'Afrikaans'),
(u'ar', u'Arabic'),
(u'ast', u'Asturian'),
(u'az', u'Azerbaijani'),
(u'bg', u'Bulgarian'),
(u'be', u'Belarusian'),
(u'bn', u'Bengali'),
(u'br', u'Breton'),
(u'bs', u'Bosnian'),
(u'ca', u'Catalan'),
(u'cs', u'Czech'),
(u'cy', u'Welsh'),
(u'da', u'Danish'),
(u'de', u'German'),
(u'dsb', u'Lower Sorbian'),
(u'el', u'Greek'),
(u'en', u'English'),
(u'en-au', u'Australian English'),
(u'en-gb', u'British English'),
(u'eo', u'Esperanto'),
(u'es', u'Spanish'),
(u'es-ar', u'Argentinian Spanish'),
(u'es-co', u'Colombian Spanish'),
(u'es-mx', u'Mexican Spanish'),
(u'es-ni', u'Nicaraguan Spanish'),
(u'es-ve', u'Venezuelan Spanish'),
(u'et', u'Estonian'),
(u'eu', u'Basque'),
(u'fa', u'Persian'),
(u'fi', u'Finnish'),
(u'fr', u'French'),
(u'fy', u'Frisian'),
(u'ga', u'Irish'),
(u'gd', u'Scottish Gaelic'),
(u'gl', u'Galician'),
(u'he', u'Hebrew'),
(u'hi', u'Hindi'),
(u'hr', u'Croatian'),
(u'hsb', u'Upper Sorbian'),
(u'hu', u'Hungarian'),
(u'ia', u'Interlingua'),
(u'id', u'Indonesian'),
(u'io', u'Ido'),
(u'is', u'Icelandic'),
(u'it', u'Italian'),
(u'ja', u'Japanese'),
(u'ka', u'Georgian'),
(u'kk', u'Kazakh'),
(u'km', u'Khmer'),
(u'kn', u'Kannada'),
(u'ko', u'Korean'),
(u'lb', u'Luxembourgish'),
(u'lt', u'Lithuanian'),
(u'lv', u'Latvian'),
(u'mk', u'Macedonian'),
(u'ml', u'Malayalam'),
(u'mn', u'Mongolian'),
(u'mr', u'Marathi'),
(u'my', u'Burmese'),
(u'nb', u'Norwegian Bokm\xe5l'),
(u'ne', u'Nepali'),
(u'nl', u'Dutch'),
(u'nn', u'Norwegian Nynorsk'),
(u'os', u'Ossetic'),
(u'pa', u'Punjabi'),
(u'pl', u'Polish'),
(u'pt', u'Portuguese'),
(u'pt-br', u'Brazilian Portuguese'),
(u'ro', u'Romanian'),
(u'ru', u'Russian'),
(u'sk', u'Slovak'),
(u'sl', u'Slovenian'),
(u'sq', u'Albanian'),
(u'sr', u'Serbian'),
(u'sr-latn', u'Serbian Latin'),
(u'sv', u'Swedish'),
(u'sw', u'Swahili'),
(u'ta', u'Tamil'),
(u'te', u'Telugu'),
(u'th', u'Thai'),
(u'tr', u'Turkish'),
(u'tt', u'Tatar'),
(u'udm', u'Udmurt'),
(u'uk', u'Ukrainian'),
(u'ur', u'Urdu'),
(u'vi', u'Vietnamese'),
(u'zh-hans', u'Simplified Chinese'),
(u'zh-hant', u'Traditional Chinese')]</pre></td>
</tr>
<tr>
<td>LANGUAGES_BIDI</td>
<td class="code"><pre>[u'he', u'ar', u'fa', u'ur']</pre></td>
</tr>
<tr>
<td>LANGUAGE_CODE</td>
<td class="code"><pre>'en-us'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_AGE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_DOMAIN</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_NAME</td>
<td class="code"><pre>u'django_language'</pre></td>
</tr>
<tr>
<td>LANGUAGE_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>LOCALE_PATHS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>LOGGING</td>
<td class="code"><pre>{'disable_existing_loggers': True,
'formatters': {'simple': {'format': '%(levelname)s %(message)s'},
'verbose': {'datefmt': '%Y-%m-%d %H:%M:%S',
'format': '%(asctime)s %(levelname)-8s %(name)s %(module)s %(process)d %(thread)d %(message)s'}},
'handlers': {'file': {'class': 'logging.FileHandler',
'filename': '/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log',
'formatter': 'verbose',
'level': 'DEBUG'},
'null': {'class': 'logging.NullHandler', 'level': 'DEBUG'}},
'loggers': {'': {'handlers': ['file'], 'level': 'DEBUG', 'propagate': True},
'django': {'handlers': ['file'],
'level': 'DEBUG',
'propagate': False},
'django.db.backends': {'handlers': ['null'],
'level': 'WARNING',
'propagate': False}},
'version': 1}</pre></td>
</tr>
<tr>
<td>LOGGING_CONFIG</td>
<td class="code"><pre>u'logging.config.dictConfig'</pre></td>
</tr>
<tr>
<td>LOGIN_REDIRECT_URL</td>
<td class="code"><pre>u'/accounts/profile/'</pre></td>
</tr>
<tr>
<td>LOGIN_URL</td>
<td class="code"><pre>u'/accounts/login/'</pre></td>
</tr>
<tr>
<td>LOGOUT_REDIRECT_URL</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>LOG_LEVEL</td>
<td class="code"><pre>'DEBUG'</pre></td>
</tr>
<tr>
<td>LOG_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././gmn.log'</pre></td>
</tr>
<tr>
<td>MANAGERS</td>
<td class="code"><pre>(('Mark Servilla', 'mark.servilla@gmail.com'),)</pre></td>
</tr>
<tr>
<td>MAX_XML_DOCUMENT_SIZE</td>
<td class="code"><pre>10485760</pre></td>
</tr>
<tr>
<td>MEDIA_ROOT</td>
<td class="code"><pre>u''</pre></td>
</tr>
<tr>
<td>MEDIA_URL</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>MESSAGE_STORAGE</td>
<td class="code"><pre>u'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
</tr>
<tr>
<td>MIDDLEWARE</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>MIDDLEWARE_CLASSES</td>
<td class="code"><pre>('app.middleware.request_handler.RequestHandler',
'app.middleware.exception_handler.ExceptionHandler',
'app.middleware.response_handler.ResponseHandler',
'app.middleware.profiling_handler.ProfilingHandler',
'app.middleware.view_handler.ViewHandler',
'app.middleware.startup_handler.StartupHandler')</pre></td>
</tr>
<tr>
<td>MIGRATION_MODULES</td>
<td class="code"><pre>{}</pre></td>
</tr>
<tr>
<td>MONITOR</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>MONTH_DAY_FORMAT</td>
<td class="code"><pre>u'F j'</pre></td>
</tr>
<tr>
<td>NODE_BASEURL</td>
<td class="code"><pre>'https://gmn-s.edirepository.org/mn'</pre></td>
</tr>
<tr>
<td>NODE_CONTACT_SUBJECT</td>
<td class="code"><pre>'UID=http://orcid.org/0000-0002-3192-7306,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_DESCRIPTION</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_IDENTIFIER</td>
<td class="code"><pre>'urn:node:mnTestEDI'</pre></td>
</tr>
<tr>
<td>NODE_NAME</td>
<td class="code"><pre>'Environmental Data Initiative Member Node'</pre></td>
</tr>
<tr>
<td>NODE_REPLICATE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>NODE_STATE</td>
<td class="code"><pre>'up'</pre></td>
</tr>
<tr>
<td>NODE_SUBJECT</td>
<td class="code"><pre>'CN=urn:node:mnTestEDI,DC=dataone,DC=org'</pre></td>
</tr>
<tr>
<td>NODE_SYNCHRONIZE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_HOUR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MINUTE</td>
<td class="code"><pre>'0/3'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTH</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_MONTHDAY</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_SECOND</td>
<td class="code"><pre>'0'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_WEEKDAY</td>
<td class="code"><pre>'?'</pre></td>
</tr>
<tr>
<td>NODE_SYNC_SCHEDULE_YEAR</td>
<td class="code"><pre>'*'</pre></td>
</tr>
<tr>
<td>NUMBER_GROUPING</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>NUM_CHUNK_BYTES</td>
<td class="code"><pre>1048576</pre></td>
</tr>
<tr>
<td>OBJECT_STORE_PATH</td>
<td class="code"><pre>'/var/local/dataone/gmn_object_store'</pre></td>
</tr>
<tr>
<td>PASSWORD_HASHERS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PASSWORD_RESET_TIMEOUT_DAYS</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PREPEND_WWW</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_ENABLED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_PASSWORD</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>PROXY_MODE_BASIC_AUTH_USERNAME</td>
<td class="code"><pre>''</pre></td>
</tr>
<tr>
<td>PROXY_MODE_STREAM_TIMEOUT</td>
<td class="code"><pre>30</pre></td>
</tr>
<tr>
<td>PUBLIC_LOG_RECORDS</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PUBLIC_OBJECT_LIST</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>PYCHARM_BIN</td>
<td class="code"><pre>'pycharm.sh'</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDNODE</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_ALLOWEDOBJECTFORMAT</td>
<td class="code"><pre>()</pre></td>
</tr>
<tr>
<td>REPLICATION_MAXOBJECTSIZE</td>
<td class="code"><pre>-1</pre></td>
</tr>
<tr>
<td>REPLICATION_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>REPLICATION_SPACEALLOCATED</td>
<td class="code"><pre>10737418240</pre></td>
</tr>
<tr>
<td>REQUIRE_WHITELIST_FOR_UPDATE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>ROOT_URLCONF</td>
<td class="code"><pre>'app.urls'</pre></td>
</tr>
<tr>
<td>SECRET_KEY</td>
<td class="code"><pre>u'********************'</pre></td>
</tr>
<tr>
<td>SECURE_BROWSER_XSS_FILTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_CONTENT_TYPE_NOSNIFF</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SECURE_HSTS_SECONDS</td>
<td class="code"><pre>0</pre></td>
</tr>
<tr>
<td>SECURE_PROXY_SSL_HEADER</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_REDIRECT_EXEMPT</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>SECURE_SSL_HOST</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SECURE_SSL_REDIRECT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SERVER_EMAIL</td>
<td class="code"><pre>u'root@localhost'</pre></td>
</tr>
<tr>
<td>SESSION_CACHE_ALIAS</td>
<td class="code"><pre>u'default'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_AGE</td>
<td class="code"><pre>1209600</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_DOMAIN</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>SESSION_COOKIE_NAME</td>
<td class="code"><pre>u'sessionid'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_PATH</td>
<td class="code"><pre>u'/'</pre></td>
</tr>
<tr>
<td>SESSION_COOKIE_SECURE</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>SESSION_ENGINE</td>
<td class="code"><pre>u'django.contrib.sessions.backends.db'</pre></td>
</tr>
<tr>
<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_FILE_PATH</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>SESSION_SAVE_EVERY_REQUEST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>SESSION_SERIALIZER</td>
<td class="code"><pre>u'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
</tr>
<tr>
<td>SETTINGS_MODULE</td>
<td class="code"><pre>'settings'</pre></td>
</tr>
<tr>
<td>SHORT_DATETIME_FORMAT</td>
<td class="code"><pre>u'm/d/Y P'</pre></td>
</tr>
<tr>
<td>SHORT_DATE_FORMAT</td>
<td class="code"><pre>u'm/d/Y'</pre></td>
</tr>
<tr>
<td>SIGNING_BACKEND</td>
<td class="code"><pre>u'django.core.signing.TimestampSigner'</pre></td>
</tr>
<tr>
<td>SILENCED_SYSTEM_CHECKS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STAND_ALONE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>STATICFILES_DIRS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>STATICFILES_FINDERS</td>
<td class="code"><pre>[u'django.contrib.staticfiles.finders.FileSystemFinder',
u'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
</tr>
<tr>
<td>STATICFILES_STORAGE</td>
<td class="code"><pre>u'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
</tr>
<tr>
<td>STATIC_ROOT</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>STATIC_URL</td>
<td class="code"><pre>'/static/'</pre></td>
</tr>
<tr>
<td>SYSMETA_REFRESH_MAX_ATTEMPTS</td>
<td class="code"><pre>24</pre></td>
</tr>
<tr>
<td>TEMPLATES</td>
<td class="code"><pre>[{'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/var/local/dataone/gmn_venv/lib/python2.7/site-packages/gmn/././app/templates'],
'OPTIONS': {'context_processors': ['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages'],
'loaders': ['django.template.loaders.filesystem.Loader']}}]</pre></td>
</tr>
<tr>
<td>TEST_NON_SERIALIZED_APPS</td>
<td class="code"><pre>[]</pre></td>
</tr>
<tr>
<td>TEST_RUNNER</td>
<td class="code"><pre>u'django.test.runner.DiscoverRunner'</pre></td>
</tr>
<tr>
<td>THOUSAND_SEPARATOR</td>
<td class="code"><pre>u','</pre></td>
</tr>
<tr>
<td>TIME_FORMAT</td>
<td class="code"><pre>u'P'</pre></td>
</tr>
<tr>
<td>TIME_INPUT_FORMATS</td>
<td class="code"><pre>[u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']</pre></td>
</tr>
<tr>
<td>TIME_ZONE</td>
<td class="code"><pre>'UTC'</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_AUTHORITATIVEMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATESYSMETADATAMODIFIED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_DATEUPLOADED</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_ORIGINMEMBERNODE</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SERIALVERSION</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>TRUST_CLIENT_SUBMITTER</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_ETAGS</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_I18N</td>
<td class="code"><pre>True</pre></td>
</tr>
<tr>
<td>USE_L10N</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_THOUSAND_SEPARATOR</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_TZ</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_HOST</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>USE_X_FORWARDED_PORT</td>
<td class="code"><pre>False</pre></td>
</tr>
<tr>
<td>WSGI_APPLICATION</td>
<td class="code"><pre>None</pre></td>
</tr>
<tr>
<td>X_FRAME_OPTIONS</td>
<td class="code"><pre>u'SAMEORIGIN'</pre></td>
</tr>
<tr>
<td>YEAR_MONTH_FORMAT</td>
<td class="code"><pre>u'F Y'</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>
[for host https://gmn-s.edirepository.org/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataIT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
java.lang.AssertionError: org.dataone.client.exception.ClientSideException: Unable to create test object!/500: Internal Server Error: parser for deserializing HTML not written yet. Providing message body:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>500 Internal server error</title>
</head>
<body>
<p>
<h3 style="color:red;">500 Internal server error</h3>
</p>
<p>
Please notify the administrator.
</p>
<p>
<a href="/">Home</a>
</p>
</body>
</html>
[for host https://ncei.nceas.ucsb.edu/mn/v2 ]
at org.junit.Assert.fail(Assert.java:91)
at org.dataone.integration.ContextAwareTestCaseDataone$5.call(ContextAwareTestCaseDataone.java:1825)
at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:70)
at org.dataone.integration.ContextAwareTestCaseDataone.handleFail(ContextAwareTestCaseDataone.java:1820)
at org.dataone.integration.it.ContextAwareAdapter.handleFail(ContextAwareAdapter.java:100)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:270)
at org.dataone.integration.it.testImplementations.MNUpdateSystemMetadataTestImplementations.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataTestImplementations.java:229)
at org.dataone.integration.it.apiTests.MNUpdateSystemMetadataIT.testUpdateSystemMetadata_MutableFormat(MNUpdateSystemMetadataIT.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.rules.Verifier$1.evaluate(Verifier.java:34)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:119)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
at com.sun.proxy.$Proxy0.invoke(Unknown Source)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)