Build: #96 failed
Job: Default Job failed
Get provenance: Test case result
The below summarizes the result of the test "Get provenance" in build 96 of FLARECAST - propertyservice - Default Job.
- Description
- Get provenance
- Test class
- provenance_tests.ProvenanceTests
- Method
- test_get_provenance
- Duration
- < 1 sec
- Status
- Failed (New Failure)
Error Log
RestException: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>OperationalError: could not connect to server: Connection refused Is the server running on host "db" (172.17.0.163) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "db" (172.17.0.163) and accepting TCP/IP connections on port 5432? // Werkzeug Debugger</title> <link rel="stylesheet" href="?__debugger__=yes&cmd=resource&f=style.css" type="text/css"> <!-- We need to make sure this has a favicon so that the debugger does not by accident trigger a request to /favicon.ico which might change the application state. --> <link rel="shortcut icon" href="?__debugger__=yes&cmd=resource&f=console.png"> <script src="?__debugger__=yes&cmd=resource&f=jquery.js"></script> <script src="?__debugger__=yes&cmd=resource&f=debugger.js"></script> <script type="text/javascript"> var TRACEBACK = 140441539865680, CONSOLE_MODE = false, EVALEX = true, EVALEX_TRUSTED = false, SECRET = "03528G3v7iTkYaX5wm2v"; </script> </head> <body> <div class="debugger"> <h1>psycopg2.OperationalError</h1> <div class="detail"> <p class="errormsg">OperationalError: could not connect to server: Connection refused Is the server running on host "db" (172.17.0.163) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "db" (172.17.0.163) and accepting TCP/IP connections on port 5432?</p> </div> <h2 class="traceback">Traceback <em>(most recent call last)</em></h2> <div class="traceback"> <ul><li><div class="frame" id="frame-140441539865744"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>, line <em class="line">1836</em>, in <code class="function">__call__</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span>'Flask.blueprints instead'), stacklevel=2)</pre> <pre class="line before"><span class="ws"> </span>return self.blueprints</pre> <pre class="line before"><span class="ws"></span> </pre> <pre class="line before"><span class="ws"> </span>def __call__(self, environ, start_response):</pre> <pre class="line before"><span class="ws"> </span>"""Shortcut for :attr:`wsgi_app`."""</pre> <pre class="line current"><span class="ws"> </span>return self.wsgi_app(environ, start_response)</pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"> </span>def __repr__(self):</pre> <pre class="line after"><span class="ws"> </span>return '<%s %r>' % (</pre> <pre class="line after"><span class="ws"> </span>self.__class__.__name__,</pre> <pre class="line after"><span class="ws"> </span>self.name,</pre></div> </div> <li><div class="frame" id="frame-140441539865936"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>, line <em class="line">1820</em>, in <code class="function">wsgi_app</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span>try:</pre> <pre class="line before"><span class="ws"> </span>try:</pre> <pre class="line before"><span class="ws"> </span>response = self.full_dispatch_request()</pre> <pre class="line before"><span class="ws"> </span>except Exception as e:</pre> <pre class="line before"><span class="ws"> </span>error = e</pre> <pre class="line current"><span class="ws"> </span>response = self.make_response(self.handle_exception(e))</pre> <pre class="line after"><span class="ws"> </span>return response(environ, start_response)</pre> <pre class="line after"><span class="ws"> </span>finally:</pre> <pre class="line after"><span class="ws"> </span>if self.should_ignore_error(error):</pre> <pre class="line after"><span class="ws"> </span>error = None</pre> <pre class="line after"><span class="ws"> </span>ctx.auto_pop(error)</pre></div> </div> <li><div class="frame" id="frame-140441539866000"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask_cors/extension.py"</cite>, line <em class="line">188</em>, in <code class="function">wrapped_function</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span># Wrap exception handlers with cross_origin</pre> <pre class="line before"><span class="ws"> </span># These error handlers will still respect the behavior of the route</pre> <pre class="line before"><span class="ws"> </span>if options.get('intercept_exceptions', True):</pre> <pre class="line before"><span class="ws"> </span>def _after_request_decorator(f):</pre> <pre class="line before"><span class="ws"> </span>def wrapped_function(*args, **kwargs):</pre> <pre class="line current"><span class="ws"> </span>return cors_after_request(app.make_response(f(*args, **kwargs)))</pre> <pre class="line after"><span class="ws"> </span>return wrapped_function</pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"> </span>if hasattr(app, 'handle_exception'):</pre> <pre class="line after"><span class="ws"> </span>app.handle_exception = _after_request_decorator(</pre> <pre class="line after"><span class="ws"> </span>app.handle_exception)</pre></div> </div> <li><div class="frame" id="frame-140441539865808"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>, line <em class="line">1403</em>, in <code class="function">handle_exception</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span># if we want to repropagate the exception, we can attempt to</pre> <pre class="line before"><span class="ws"> </span># raise it with the whole traceback in case we can do that</pre> <pre class="line before"><span class="ws"> </span># (the function was actually called from the except part)</pre> <pre class="line before"><span class="ws"> </span># otherwise, we just raise the error again</pre> <pre class="line before"><span class="ws"> </span>if exc_value is e:</pre> <pre class="line current"><span class="ws"> </span>reraise(exc_type, exc_value, tb)</pre> <pre class="line after"><span class="ws"> </span>else:</pre> <pre class="line after"><span class="ws"> </span>raise e</pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"> </span>self.log_exception((exc_type, exc_value, tb))</pre> <pre class="line after"><span class="ws"> </span>if handler is None:</pre></div> </div> <li><div class="frame" id="frame-140441539866128"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>, line <em class="line">1817</em>, in <code class="function">wsgi_app</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span>ctx = self.request_context(environ)</pre> <pre class="line before"><span class="ws"> </span>ctx.push()</pre> <pre class="line before"><span class="ws"> </span>error = None</pre> <pre class="line before"><span class="ws"> </span>try:</pre> <pre class="line before"><span class="ws"> </span>try:</pre> <pre class="line current"><span class="ws"> </span>response = self.full_dispatch_request()</pre> <pre class="line after"><span class="ws"> </span>except Exception as e:</pre> <pre class="line after"><span class="ws"> </span>error = e</pre> <pre class="line after"><span class="ws"> </span>response = self.make_response(self.handle_exception(e))</pre> <pre class="line after"><span class="ws"> </span>return response(environ, start_response)</pre> <pre class="line after"><span class="ws"> </span>finally:</pre></div> </div> <li><div class="frame" id="frame-140441539866192"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>, line <em class="line">1477</em>, in <code class="function">full_dispatch_request</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span>request_started.send(self)</pre> <pre class="line before"><span class="ws"> </span>rv = self.preprocess_request()</pre> <pre class="line before"><span class="ws"> </span>if rv is None:</pre> <pre class="line before"><span class="ws"> </span>rv = self.dispatch_request()</pre> <pre class="line before"><span class="ws"> </span>except Exception as e:</pre> <pre class="line current"><span class="ws"> </span>rv = self.handle_user_exception(e)</pre> <pre class="line after"><span class="ws"> </span>response = self.make_response(rv)</pre> <pre class="line after"><span class="ws"> </span>response = self.process_response(response)</pre> <pre class="line after"><span class="ws"> </span>request_finished.send(self, response=response)</pre> <pre class="line after"><span class="ws"> </span>return response</pre> <pre class="line after"><span class="ws"></span> </pre></div> </div> <li><div class="frame" id="frame-140441539866256"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask_cors/extension.py"</cite>, line <em class="line">188</em>, in <code class="function">wrapped_function</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span># Wrap exception handlers with cross_origin</pre> <pre class="line before"><span class="ws"> </span># These error handlers will still respect the behavior of the route</pre> <pre class="line before"><span class="ws"> </span>if options.get('intercept_exceptions', True):</pre> <pre class="line before"><span class="ws"> </span>def _after_request_decorator(f):</pre> <pre class="line before"><span class="ws"> </span>def wrapped_function(*args, **kwargs):</pre> <pre class="line current"><span class="ws"> </span>return cors_after_request(app.make_response(f(*args, **kwargs)))</pre> <pre class="line after"><span class="ws"> </span>return wrapped_function</pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"> </span>if hasattr(app, 'handle_exception'):</pre> <pre class="line after"><span class="ws"> </span>app.handle_exception = _after_request_decorator(</pre> <pre class="line after"><span class="ws"> </span>app.handle_exception)</pre></div> </div> <li><div class="frame" id="frame-140441539865872"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>, line <em class="line">1381</em>, in <code class="function">handle_user_exception</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span>app_handlers = self.error_handler_spec[None].get(None, ())</pre> <pre class="line before"><span class="ws"> </span>for typecheck, handler in chain(blueprint_handlers, app_handlers):</pre> <pre class="line before"><span class="ws"> </span>if isinstance(e, typecheck):</pre> <pre class="line before"><span class="ws"> </span>return handler(e)</pre> <pre class="line before"><span class="ws"></span> </pre> <pre class="line current"><span class="ws"> </span>reraise(exc_type, exc_value, tb)</pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"> </span>def handle_exception(self, e):</pre> <pre class="line after"><span class="ws"> </span>"""Default exception handling that kicks in when an exception</pre> <pre class="line after"><span class="ws"> </span>occurs that is not caught. In debug mode the exception will</pre> <pre class="line after"><span class="ws"> </span>be re-raised immediately, otherwise it is logged and the handler</pre></div> </div> <li><div class="frame" id="frame-140441539866384"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>, line <em class="line">1475</em>, in <code class="function">full_dispatch_request</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span>self.try_trigger_before_first_request_functions()</pre> <pre class="line before"><span class="ws"> </span>try:</pre> <pre class="line before"><span class="ws"> </span>request_started.send(self)</pre> <pre class="line before"><span class="ws"> </span>rv = self.preprocess_request()</pre> <pre class="line before"><span class="ws"> </span>if rv is None:</pre> <pre class="line current"><span class="ws"> </span>rv = self.dispatch_request()</pre> <pre class="line after"><span class="ws"> </span>except Exception as e:</pre> <pre class="line after"><span class="ws"> </span>rv = self.handle_user_exception(e)</pre> <pre class="line after"><span class="ws"> </span>response = self.make_response(rv)</pre> <pre class="line after"><span class="ws"> </span>response = self.process_response(response)</pre> <pre class="line after"><span class="ws"> </span>request_finished.send(self, response=response)</pre></div> </div> <li><div class="frame" id="frame-140441539866448"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>, line <em class="line">1461</em>, in <code class="function">dispatch_request</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span># request came with the OPTIONS method, reply automatically</pre> <pre class="line before"><span class="ws"> </span>if getattr(rule, 'provide_automatic_options', False) \</pre> <pre class="line before"><span class="ws"> </span>and req.method == 'OPTIONS':</pre> <pre class="line before"><span class="ws"> </span>return self.make_default_options_response()</pre> <pre class="line before"><span class="ws"> </span># otherwise dispatch to the handler for that endpoint</pre> <pre class="line current"><span class="ws"> </span>return self.view_functions[rule.endpoint](**req.view_args)</pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"> </span>def full_dispatch_request(self):</pre> <pre class="line after"><span class="ws"> </span>"""Dispatches the request and on top of that performs request</pre> <pre class="line after"><span class="ws"> </span>pre and postprocessing as well as HTTP exception catching and</pre> <pre class="line after"><span class="ws"> </span>error handling.</pre></div> </div> <li><div class="frame" id="frame-140441539866512"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/connexion/decorators/produces.py"</cite>, line <em class="line">116</em>, in <code class="function">wrapper</code></h4> <div class="source"><pre class="line before"><span class="ws"></span> </pre> <pre class="line before"><span class="ws"> </span>@functools.wraps(function)</pre> <pre class="line before"><span class="ws"> </span>def wrapper(*args, **kwargs):</pre> <pre class="line before"><span class="ws"> </span>url = flask.request.url</pre> <pre class="line before"><span class="ws"> </span>logger.debug('Jsonifing %s', url, extra={'url': url, 'mimetype': self.mimetype})</pre> <pre class="line current"><span class="ws"> </span>data, status_code, headers = self.get_full_response(function(*args, **kwargs))</pre> <pre class="line after"><span class="ws"> </span>if isinstance(data, flask.Response): # if the function returns a Response object don't change it</pre> <pre class="line after"><span class="ws"> </span>logger.debug('Endpoint returned a Flask Response', extra={'url': url, 'mimetype': data.mimetype})</pre> <pre class="line after"><span class="ws"> </span>return data</pre> <pre class="line after"><span class="ws"> </span>elif data is NoContent:</pre> <pre class="line after"><span class="ws"> </span>return '', status_code</pre></div> </div> <li><div class="frame" id="frame-140441539866320"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/connexion/decorators/parameter.py"</cite>, line <em class="line">89</em>, in <code class="function">wrapper</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span>logger.debug("Query Parameter '%s' in function arguments", key)</pre> <pre class="line before"><span class="ws"> </span>query_param = query_types[key]</pre> <pre class="line before"><span class="ws"> </span>logger.debug('%s is a %s', key, query_param)</pre> <pre class="line before"><span class="ws"> </span>kwargs[key] = get_val_from_param(value, query_param)</pre> <pre class="line before"><span class="ws"></span> </pre> <pre class="line current"><span class="ws"> </span>return function(*args, **kwargs)</pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"> </span>return wrapper</pre></div> </div> <li><div class="frame" id="frame-140441539866576"> <h4>File <cite class="filename">"/property_service/propertyservice/routes/provenance.py"</cite>, line <em class="line">21</em>, in <code class="function">list</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span>post_data = request.json</pre> <pre class="line before"><span class="ws"> </span>return __insert(post_data)</pre> <pre class="line before"><span class="ws"></span> </pre> <pre class="line before"><span class="ws"></span> </pre> <pre class="line before"><span class="ws"></span>def list():</pre> <pre class="line current"><span class="ws"> </span>with PropertyDBDataSource() as ctx:</pre> <pre class="line after"><span class="ws"> </span>provs = format_get_output(ctx.get_provenances())</pre> <pre class="line after"><span class="ws"> </span>return provs</pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"></span>def get(provenance):</pre></div> </div> <li><div class="frame" id="frame-140441539866064"> <h4>File <cite class="filename">"/property_service/propertyservice/data/property_db_data_source.py"</cite>, line <em class="line">19</em>, in <code class="function">__init__</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span>self.__pg = PostgresNoSQLClient(host=flarecast_config.DB_HOST,</pre> <pre class="line before"><span class="ws"> </span>port=flarecast_config.DB_PORT,</pre> <pre class="line before"><span class="ws"> </span>user=flarecast_config.DB_USER,</pre> <pre class="line before"><span class="ws"> </span>password=flarecast_config.DB_PASSWORD)</pre> <pre class="line before"><span class="ws"></span> </pre> <pre class="line current"><span class="ws"> </span>self.__db = self.__pg[config.PROPERTY_DATABASE]</pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"> </span>self.__property_group = self.__db[config.PROPERTY_GROUP_TABLE]</pre> <pre class="line after"><span class="ws"> </span>self.__property = self.__db[config.PROPERTY_TABLE]</pre> <pre class="line after"><span class="ws"> </span>self.__property_type = self.__db[config.PROPERTY_TYPE_TABLE]</pre> <pre class="line after"><span class="ws"> </span>self.__provenance = self.__db[config.PROVENANCE_TABLE]</pre></div> </div> <li><div class="frame" id="frame-140441538875472"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py"</cite>, line <em class="line">96</em>, in <code class="function">__getitem__</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span>print(e)</pre> <pre class="line before"><span class="ws"> </span>self.__close()</pre> <pre class="line before"><span class="ws"> </span>return exists</pre> <pre class="line before"><span class="ws"></span> </pre> <pre class="line before"><span class="ws"> </span>def __getitem__(self, item):</pre> <pre class="line current"><span class="ws"> </span>return self.get_or_create_database(item)</pre></div> </div> <li><div class="frame" id="frame-140441538875600"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py"</cite>, line <em class="line">64</em>, in <code class="function">get_or_create_database</code></h4> <div class="source"><pre class="line before"><span class="ws"></span> </pre> <pre class="line before"><span class="ws"> </span>self.__close()</pre> <pre class="line before"><span class="ws"> </span>return db_object</pre> <pre class="line before"><span class="ws"></span> </pre> <pre class="line before"><span class="ws"> </span>def get_or_create_database(self, database_name):</pre> <pre class="line current"><span class="ws"> </span>self.__connect()</pre> <pre class="line after"><span class="ws"> </span>db = self.get_database(database_name)</pre> <pre class="line after"><span class="ws"> </span>if not db:</pre> <pre class="line after"><span class="ws"> </span>db = self.create_database(database_name)</pre> <pre class="line after"><span class="ws"> </span>self.__close()</pre> <pre class="line after"><span class="ws"> </span>return db</pre></div> </div> <li><div class="frame" id="frame-140441538875664"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py"</cite>, line <em class="line">36</em>, in <code class="function">__connect</code></h4> <div class="source"><pre class="line before"><span class="ws"></span> </pre> <pre class="line before"><span class="ws"> </span>def __connect(self):</pre> <pre class="line before"><span class="ws"> </span>self.__connect_counter += 1</pre> <pre class="line before"><span class="ws"> </span>if not self.__connection:</pre> <pre class="line before"><span class="ws"> </span>self.__connection = psycopg2.connect(host=self.host, database=self.database, port=self.port,</pre> <pre class="line current"><span class="ws"> </span>user=self.__user, password=self.__password)</pre> <pre class="line after"><span class="ws"> </span>self.__connection.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT)</pre> <pre class="line after"><span class="ws"> </span>self.__cursor = self.__connection.cursor()</pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"> </span>def __close(self):</pre> <pre class="line after"><span class="ws"> </span>self.__connect_counter -= 1</pre></div> </div> <li><div class="frame" id="frame-140441538875728"> <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/psycopg2/__init__.py"</cite>, line <em class="line">164</em>, in <code class="function">connect</code></h4> <div class="source"><pre class="line before"><span class="ws"> </span>raise TypeError('missing dsn and no parameters')</pre> <pre class="line before"><span class="ws"> </span>else:</pre> <pre class="line before"><span class="ws"> </span>dsn = " ".join(["%s=%s" % (k, _param_escape(str(v)))</pre> <pre class="line before"><span class="ws"> </span>for (k, v) in items])</pre> <pre class="line before"><span class="ws"></span> </pre> <pre class="line current"><span class="ws"> </span>conn = _connect(dsn, connection_factory=connection_factory, async=async)</pre> <pre class="line after"><span class="ws"> </span>if cursor_factory is not None:</pre> <pre class="line after"><span class="ws"> </span>conn.cursor_factory = cursor_factory</pre> <pre class="line after"><span class="ws"></span> </pre> <pre class="line after"><span class="ws"> </span>return conn</pre></div> </div> </ul> <blockquote>OperationalError: could not connect to server: Connection refused Is the server running on host "db" (172.17.0.163) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "db" (172.17.0.163) and accepting TCP/IP connections on port 5432?</blockquote> </div> <div class="plain"> <form action="/?__debugger__=yes&cmd=paste" method="post"> <p> <input type="hidden" name="language" value="pytb"> This is the Copy/Paste friendly version of the traceback. <span class="pastemessage">You can also paste this traceback into a <a href="https://gist.github.com/">gist</a>: <input type="submit" value="create paste"></span> </p> <textarea cols="50" rows="10" name="code" readonly>Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__ return self.wsgi_app(environ, start_response) File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app response = self.make_response(self.handle_exception(e)) File "/usr/local/lib/python2.7/site-packages/flask_cors/extension.py", line 188, in wrapped_function return cors_after_request(app.make_response(f(*args, **kwargs))) File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python2.7/site-packages/flask_cors/extension.py", line 188, in wrapped_function return cors_after_request(app.make_response(f(*args, **kwargs))) File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/usr/local/lib/python2.7/site-packages/connexion/decorators/produces.py", line 116, in wrapper data, status_code, headers = self.get_full_response(function(*args, **kwargs)) File "/usr/local/lib/python2.7/site-packages/connexion/decorators/parameter.py", line 89, in wrapper return function(*args, **kwargs) File "/property_service/propertyservice/routes/provenance.py", line 21, in list with PropertyDBDataSource() as ctx: File "/property_service/propertyservice/data/property_db_data_source.py", line 19, in __init__ self.__db = self.__pg[config.PROPERTY_DATABASE] File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 96, in __getitem__ return self.get_or_create_database(item) File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 64, in get_or_create_database self.__connect() File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 36, in __connect user=self.__user, password=self.__password) File "/usr/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect conn = _connect(dsn, connection_factory=connection_factory, async=async) OperationalError: could not connect to server: Connection refused Is the server running on host "db" (172.17.0.163) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "db" (172.17.0.163) and accepting TCP/IP connections on port 5432?</textarea> </form> </div> <div class="explanation"> The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error. <span class="nojavascript"> If you enable JavaScript you can also use additional features such as code execution (if the evalex feature is enabled), automatic pasting of the exceptions and much more.</span> </div> <div class="footer"> Brought to you by <strong class="arthur">DON'T PANIC</strong>, your friendly Werkzeug powered traceback interpreter. </div> </div> <div class="pin-prompt"> <div class="inner"> <h3>Console Locked</h3> <p> The console is locked and needs to be unlocked by entering the PIN. You can find the PIN printed out on the standard output of your shell that runs the server. <form> <p>PIN: <input type=text name=pin size=14> <input type=submit name=btn value="Confirm Pin"> </form> </div> </div> </body> </html> <!-- Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__ return self.wsgi_app(environ, start_response) File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app response = self.make_response(self.handle_exception(e)) File "/usr/local/lib/python2.7/site-packages/flask_cors/extension.py", line 188, in wrapped_function return cors_after_request(app.make_response(f(*args, **kwargs))) File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app response = self.full_dispatch_request() File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request rv = self.handle_user_exception(e) File "/usr/local/lib/python2.7/site-packages/flask_cors/extension.py", line 188, in wrapped_function return cors_after_request(app.make_response(f(*args, **kwargs))) File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception reraise(exc_type, exc_value, tb) File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request rv = self.dispatch_request() File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/usr/local/lib/python2.7/site-packages/connexion/decorators/produces.py", line 116, in wrapper data, status_code, headers = self.get_full_response(function(*args, **kwargs)) File "/usr/local/lib/python2.7/site-packages/connexion/decorators/parameter.py", line 89, in wrapper return function(*args, **kwargs) File "/property_service/propertyservice/routes/provenance.py", line 21, in list with PropertyDBDataSource() as ctx: File "/property_service/propertyservice/data/property_db_data_source.py", line 19, in __init__ self.__db = self.__pg[config.PROPERTY_DATABASE] File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 96, in __getitem__ return self.get_or_create_database(item) File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 64, in get_or_create_database self.__connect() File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 36, in __connect user=self.__user, password=self.__password) File "/usr/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect conn = _connect(dsn, connection_factory=connection_factory, async=async) OperationalError: could not connect to server: Connection refused Is the server running on host "db" (172.17.0.163) and accepting TCP/IP connections on port 5432? could not connect to server: Connection refused Is the server running on host "db" (172.17.0.163) and accepting TCP/IP connections on port 5432? -->
self = <tests.provenance_tests.ProvenanceTests testMethod=test_get_provenance>
def test_get_provenance(self):
> result = self.client.get_provenances()
provenance_tests.py:22:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/bamboo/.local/lib/python2.7/site-packages/flarecast/utils/property_service_client.py:168: in get_provenances
return self.__get_request(url)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
url = 'http://localhost:8002/provenance/list'
@staticmethod
def __get_request(url):
r = requests.get(url)
if r.status_code != 200:
> raise RestException(r)
E RestException: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
E "http://www.w3.org/TR/html4/loose.dtd">
E <html>
E <head>
E <title>OperationalError: could not connect to server: Connection refused
E Is the server running on host "db" (172.17.0.163) and accepting
E TCP/IP connections on port 5432?
E could not connect to server: Connection refused
E Is the server running on host "db" (172.17.0.163) and accepting
E TCP/IP connections on port 5432? // Werkzeug Debugger</title>
E <link rel="stylesheet" href="?__debugger__=yes&cmd=resource&f=style.css"
E type="text/css">
E <!-- We need to make sure this has a favicon so that the debugger does
E not by accident trigger a request to /favicon.ico which might
E change the application state. -->
E <link rel="shortcut icon"
E href="?__debugger__=yes&cmd=resource&f=console.png">
E <script src="?__debugger__=yes&cmd=resource&f=jquery.js"></script>
E <script src="?__debugger__=yes&cmd=resource&f=debugger.js"></script>
E <script type="text/javascript">
E var TRACEBACK = 140441539865680,
E CONSOLE_MODE = false,
E EVALEX = true,
E EVALEX_TRUSTED = false,
E SECRET = "03528G3v7iTkYaX5wm2v";
E </script>
E </head>
E <body>
E <div class="debugger">
E <h1>psycopg2.OperationalError</h1>
E <div class="detail">
E <p class="errormsg">OperationalError: could not connect to server: Connection refused
E Is the server running on host "db" (172.17.0.163) and accepting
E TCP/IP connections on port 5432?
E could not connect to server: Connection refused
E Is the server running on host "db" (172.17.0.163) and accepting
E TCP/IP connections on port 5432?</p>
E </div>
E <h2 class="traceback">Traceback <em>(most recent call last)</em></h2>
E <div class="traceback">
E
E <ul><li><div class="frame" id="frame-140441539865744">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>,
E line <em class="line">1836</em>,
E in <code class="function">__call__</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span>'Flask.blueprints instead'), stacklevel=2)</pre>
E <pre class="line before"><span class="ws"> </span>return self.blueprints</pre>
E <pre class="line before"><span class="ws"></span> </pre>
E <pre class="line before"><span class="ws"> </span>def __call__(self, environ, start_response):</pre>
E <pre class="line before"><span class="ws"> </span>"""Shortcut for :attr:`wsgi_app`."""</pre>
E <pre class="line current"><span class="ws"> </span>return self.wsgi_app(environ, start_response)</pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"> </span>def __repr__(self):</pre>
E <pre class="line after"><span class="ws"> </span>return '<%s %r>' % (</pre>
E <pre class="line after"><span class="ws"> </span>self.__class__.__name__,</pre>
E <pre class="line after"><span class="ws"> </span>self.name,</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539865936">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>,
E line <em class="line">1820</em>,
E in <code class="function">wsgi_app</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span>try:</pre>
E <pre class="line before"><span class="ws"> </span>try:</pre>
E <pre class="line before"><span class="ws"> </span>response = self.full_dispatch_request()</pre>
E <pre class="line before"><span class="ws"> </span>except Exception as e:</pre>
E <pre class="line before"><span class="ws"> </span>error = e</pre>
E <pre class="line current"><span class="ws"> </span>response = self.make_response(self.handle_exception(e))</pre>
E <pre class="line after"><span class="ws"> </span>return response(environ, start_response)</pre>
E <pre class="line after"><span class="ws"> </span>finally:</pre>
E <pre class="line after"><span class="ws"> </span>if self.should_ignore_error(error):</pre>
E <pre class="line after"><span class="ws"> </span>error = None</pre>
E <pre class="line after"><span class="ws"> </span>ctx.auto_pop(error)</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539866000">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask_cors/extension.py"</cite>,
E line <em class="line">188</em>,
E in <code class="function">wrapped_function</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span># Wrap exception handlers with cross_origin</pre>
E <pre class="line before"><span class="ws"> </span># These error handlers will still respect the behavior of the route</pre>
E <pre class="line before"><span class="ws"> </span>if options.get('intercept_exceptions', True):</pre>
E <pre class="line before"><span class="ws"> </span>def _after_request_decorator(f):</pre>
E <pre class="line before"><span class="ws"> </span>def wrapped_function(*args, **kwargs):</pre>
E <pre class="line current"><span class="ws"> </span>return cors_after_request(app.make_response(f(*args, **kwargs)))</pre>
E <pre class="line after"><span class="ws"> </span>return wrapped_function</pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"> </span>if hasattr(app, 'handle_exception'):</pre>
E <pre class="line after"><span class="ws"> </span>app.handle_exception = _after_request_decorator(</pre>
E <pre class="line after"><span class="ws"> </span>app.handle_exception)</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539865808">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>,
E line <em class="line">1403</em>,
E in <code class="function">handle_exception</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span># if we want to repropagate the exception, we can attempt to</pre>
E <pre class="line before"><span class="ws"> </span># raise it with the whole traceback in case we can do that</pre>
E <pre class="line before"><span class="ws"> </span># (the function was actually called from the except part)</pre>
E <pre class="line before"><span class="ws"> </span># otherwise, we just raise the error again</pre>
E <pre class="line before"><span class="ws"> </span>if exc_value is e:</pre>
E <pre class="line current"><span class="ws"> </span>reraise(exc_type, exc_value, tb)</pre>
E <pre class="line after"><span class="ws"> </span>else:</pre>
E <pre class="line after"><span class="ws"> </span>raise e</pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"> </span>self.log_exception((exc_type, exc_value, tb))</pre>
E <pre class="line after"><span class="ws"> </span>if handler is None:</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539866128">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>,
E line <em class="line">1817</em>,
E in <code class="function">wsgi_app</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span>ctx = self.request_context(environ)</pre>
E <pre class="line before"><span class="ws"> </span>ctx.push()</pre>
E <pre class="line before"><span class="ws"> </span>error = None</pre>
E <pre class="line before"><span class="ws"> </span>try:</pre>
E <pre class="line before"><span class="ws"> </span>try:</pre>
E <pre class="line current"><span class="ws"> </span>response = self.full_dispatch_request()</pre>
E <pre class="line after"><span class="ws"> </span>except Exception as e:</pre>
E <pre class="line after"><span class="ws"> </span>error = e</pre>
E <pre class="line after"><span class="ws"> </span>response = self.make_response(self.handle_exception(e))</pre>
E <pre class="line after"><span class="ws"> </span>return response(environ, start_response)</pre>
E <pre class="line after"><span class="ws"> </span>finally:</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539866192">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>,
E line <em class="line">1477</em>,
E in <code class="function">full_dispatch_request</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span>request_started.send(self)</pre>
E <pre class="line before"><span class="ws"> </span>rv = self.preprocess_request()</pre>
E <pre class="line before"><span class="ws"> </span>if rv is None:</pre>
E <pre class="line before"><span class="ws"> </span>rv = self.dispatch_request()</pre>
E <pre class="line before"><span class="ws"> </span>except Exception as e:</pre>
E <pre class="line current"><span class="ws"> </span>rv = self.handle_user_exception(e)</pre>
E <pre class="line after"><span class="ws"> </span>response = self.make_response(rv)</pre>
E <pre class="line after"><span class="ws"> </span>response = self.process_response(response)</pre>
E <pre class="line after"><span class="ws"> </span>request_finished.send(self, response=response)</pre>
E <pre class="line after"><span class="ws"> </span>return response</pre>
E <pre class="line after"><span class="ws"></span> </pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539866256">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask_cors/extension.py"</cite>,
E line <em class="line">188</em>,
E in <code class="function">wrapped_function</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span># Wrap exception handlers with cross_origin</pre>
E <pre class="line before"><span class="ws"> </span># These error handlers will still respect the behavior of the route</pre>
E <pre class="line before"><span class="ws"> </span>if options.get('intercept_exceptions', True):</pre>
E <pre class="line before"><span class="ws"> </span>def _after_request_decorator(f):</pre>
E <pre class="line before"><span class="ws"> </span>def wrapped_function(*args, **kwargs):</pre>
E <pre class="line current"><span class="ws"> </span>return cors_after_request(app.make_response(f(*args, **kwargs)))</pre>
E <pre class="line after"><span class="ws"> </span>return wrapped_function</pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"> </span>if hasattr(app, 'handle_exception'):</pre>
E <pre class="line after"><span class="ws"> </span>app.handle_exception = _after_request_decorator(</pre>
E <pre class="line after"><span class="ws"> </span>app.handle_exception)</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539865872">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>,
E line <em class="line">1381</em>,
E in <code class="function">handle_user_exception</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span>app_handlers = self.error_handler_spec[None].get(None, ())</pre>
E <pre class="line before"><span class="ws"> </span>for typecheck, handler in chain(blueprint_handlers, app_handlers):</pre>
E <pre class="line before"><span class="ws"> </span>if isinstance(e, typecheck):</pre>
E <pre class="line before"><span class="ws"> </span>return handler(e)</pre>
E <pre class="line before"><span class="ws"></span> </pre>
E <pre class="line current"><span class="ws"> </span>reraise(exc_type, exc_value, tb)</pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"> </span>def handle_exception(self, e):</pre>
E <pre class="line after"><span class="ws"> </span>"""Default exception handling that kicks in when an exception</pre>
E <pre class="line after"><span class="ws"> </span>occurs that is not caught. In debug mode the exception will</pre>
E <pre class="line after"><span class="ws"> </span>be re-raised immediately, otherwise it is logged and the handler</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539866384">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>,
E line <em class="line">1475</em>,
E in <code class="function">full_dispatch_request</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span>self.try_trigger_before_first_request_functions()</pre>
E <pre class="line before"><span class="ws"> </span>try:</pre>
E <pre class="line before"><span class="ws"> </span>request_started.send(self)</pre>
E <pre class="line before"><span class="ws"> </span>rv = self.preprocess_request()</pre>
E <pre class="line before"><span class="ws"> </span>if rv is None:</pre>
E <pre class="line current"><span class="ws"> </span>rv = self.dispatch_request()</pre>
E <pre class="line after"><span class="ws"> </span>except Exception as e:</pre>
E <pre class="line after"><span class="ws"> </span>rv = self.handle_user_exception(e)</pre>
E <pre class="line after"><span class="ws"> </span>response = self.make_response(rv)</pre>
E <pre class="line after"><span class="ws"> </span>response = self.process_response(response)</pre>
E <pre class="line after"><span class="ws"> </span>request_finished.send(self, response=response)</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539866448">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/flask/app.py"</cite>,
E line <em class="line">1461</em>,
E in <code class="function">dispatch_request</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span># request came with the OPTIONS method, reply automatically</pre>
E <pre class="line before"><span class="ws"> </span>if getattr(rule, 'provide_automatic_options', False) \</pre>
E <pre class="line before"><span class="ws"> </span>and req.method == 'OPTIONS':</pre>
E <pre class="line before"><span class="ws"> </span>return self.make_default_options_response()</pre>
E <pre class="line before"><span class="ws"> </span># otherwise dispatch to the handler for that endpoint</pre>
E <pre class="line current"><span class="ws"> </span>return self.view_functions[rule.endpoint](**req.view_args)</pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"> </span>def full_dispatch_request(self):</pre>
E <pre class="line after"><span class="ws"> </span>"""Dispatches the request and on top of that performs request</pre>
E <pre class="line after"><span class="ws"> </span>pre and postprocessing as well as HTTP exception catching and</pre>
E <pre class="line after"><span class="ws"> </span>error handling.</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539866512">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/connexion/decorators/produces.py"</cite>,
E line <em class="line">116</em>,
E in <code class="function">wrapper</code></h4>
E <div class="source"><pre class="line before"><span class="ws"></span> </pre>
E <pre class="line before"><span class="ws"> </span>@functools.wraps(function)</pre>
E <pre class="line before"><span class="ws"> </span>def wrapper(*args, **kwargs):</pre>
E <pre class="line before"><span class="ws"> </span>url = flask.request.url</pre>
E <pre class="line before"><span class="ws"> </span>logger.debug('Jsonifing %s', url, extra={'url': url, 'mimetype': self.mimetype})</pre>
E <pre class="line current"><span class="ws"> </span>data, status_code, headers = self.get_full_response(function(*args, **kwargs))</pre>
E <pre class="line after"><span class="ws"> </span>if isinstance(data, flask.Response): # if the function returns a Response object don't change it</pre>
E <pre class="line after"><span class="ws"> </span>logger.debug('Endpoint returned a Flask Response', extra={'url': url, 'mimetype': data.mimetype})</pre>
E <pre class="line after"><span class="ws"> </span>return data</pre>
E <pre class="line after"><span class="ws"> </span>elif data is NoContent:</pre>
E <pre class="line after"><span class="ws"> </span>return '', status_code</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539866320">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/connexion/decorators/parameter.py"</cite>,
E line <em class="line">89</em>,
E in <code class="function">wrapper</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span>logger.debug("Query Parameter '%s' in function arguments", key)</pre>
E <pre class="line before"><span class="ws"> </span>query_param = query_types[key]</pre>
E <pre class="line before"><span class="ws"> </span>logger.debug('%s is a %s', key, query_param)</pre>
E <pre class="line before"><span class="ws"> </span>kwargs[key] = get_val_from_param(value, query_param)</pre>
E <pre class="line before"><span class="ws"></span> </pre>
E <pre class="line current"><span class="ws"> </span>return function(*args, **kwargs)</pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"> </span>return wrapper</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539866576">
E <h4>File <cite class="filename">"/property_service/propertyservice/routes/provenance.py"</cite>,
E line <em class="line">21</em>,
E in <code class="function">list</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span>post_data = request.json</pre>
E <pre class="line before"><span class="ws"> </span>return __insert(post_data)</pre>
E <pre class="line before"><span class="ws"></span> </pre>
E <pre class="line before"><span class="ws"></span> </pre>
E <pre class="line before"><span class="ws"></span>def list():</pre>
E <pre class="line current"><span class="ws"> </span>with PropertyDBDataSource() as ctx:</pre>
E <pre class="line after"><span class="ws"> </span>provs = format_get_output(ctx.get_provenances())</pre>
E <pre class="line after"><span class="ws"> </span>return provs</pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"></span>def get(provenance):</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441539866064">
E <h4>File <cite class="filename">"/property_service/propertyservice/data/property_db_data_source.py"</cite>,
E line <em class="line">19</em>,
E in <code class="function">__init__</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span>self.__pg = PostgresNoSQLClient(host=flarecast_config.DB_HOST,</pre>
E <pre class="line before"><span class="ws"> </span>port=flarecast_config.DB_PORT,</pre>
E <pre class="line before"><span class="ws"> </span>user=flarecast_config.DB_USER,</pre>
E <pre class="line before"><span class="ws"> </span>password=flarecast_config.DB_PASSWORD)</pre>
E <pre class="line before"><span class="ws"></span> </pre>
E <pre class="line current"><span class="ws"> </span>self.__db = self.__pg[config.PROPERTY_DATABASE]</pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"> </span>self.__property_group = self.__db[config.PROPERTY_GROUP_TABLE]</pre>
E <pre class="line after"><span class="ws"> </span>self.__property = self.__db[config.PROPERTY_TABLE]</pre>
E <pre class="line after"><span class="ws"> </span>self.__property_type = self.__db[config.PROPERTY_TYPE_TABLE]</pre>
E <pre class="line after"><span class="ws"> </span>self.__provenance = self.__db[config.PROVENANCE_TABLE]</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441538875472">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py"</cite>,
E line <em class="line">96</em>,
E in <code class="function">__getitem__</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span>print(e)</pre>
E <pre class="line before"><span class="ws"> </span>self.__close()</pre>
E <pre class="line before"><span class="ws"> </span>return exists</pre>
E <pre class="line before"><span class="ws"></span> </pre>
E <pre class="line before"><span class="ws"> </span>def __getitem__(self, item):</pre>
E <pre class="line current"><span class="ws"> </span>return self.get_or_create_database(item)</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441538875600">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py"</cite>,
E line <em class="line">64</em>,
E in <code class="function">get_or_create_database</code></h4>
E <div class="source"><pre class="line before"><span class="ws"></span> </pre>
E <pre class="line before"><span class="ws"> </span>self.__close()</pre>
E <pre class="line before"><span class="ws"> </span>return db_object</pre>
E <pre class="line before"><span class="ws"></span> </pre>
E <pre class="line before"><span class="ws"> </span>def get_or_create_database(self, database_name):</pre>
E <pre class="line current"><span class="ws"> </span>self.__connect()</pre>
E <pre class="line after"><span class="ws"> </span>db = self.get_database(database_name)</pre>
E <pre class="line after"><span class="ws"> </span>if not db:</pre>
E <pre class="line after"><span class="ws"> </span>db = self.create_database(database_name)</pre>
E <pre class="line after"><span class="ws"> </span>self.__close()</pre>
E <pre class="line after"><span class="ws"> </span>return db</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441538875664">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py"</cite>,
E line <em class="line">36</em>,
E in <code class="function">__connect</code></h4>
E <div class="source"><pre class="line before"><span class="ws"></span> </pre>
E <pre class="line before"><span class="ws"> </span>def __connect(self):</pre>
E <pre class="line before"><span class="ws"> </span>self.__connect_counter += 1</pre>
E <pre class="line before"><span class="ws"> </span>if not self.__connection:</pre>
E <pre class="line before"><span class="ws"> </span>self.__connection = psycopg2.connect(host=self.host, database=self.database, port=self.port,</pre>
E <pre class="line current"><span class="ws"> </span>user=self.__user, password=self.__password)</pre>
E <pre class="line after"><span class="ws"> </span>self.__connection.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT)</pre>
E <pre class="line after"><span class="ws"> </span>self.__cursor = self.__connection.cursor()</pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"> </span>def __close(self):</pre>
E <pre class="line after"><span class="ws"> </span>self.__connect_counter -= 1</pre></div>
E </div>
E
E <li><div class="frame" id="frame-140441538875728">
E <h4>File <cite class="filename">"/usr/local/lib/python2.7/site-packages/psycopg2/__init__.py"</cite>,
E line <em class="line">164</em>,
E in <code class="function">connect</code></h4>
E <div class="source"><pre class="line before"><span class="ws"> </span>raise TypeError('missing dsn and no parameters')</pre>
E <pre class="line before"><span class="ws"> </span>else:</pre>
E <pre class="line before"><span class="ws"> </span>dsn = " ".join(["%s=%s" % (k, _param_escape(str(v)))</pre>
E <pre class="line before"><span class="ws"> </span>for (k, v) in items])</pre>
E <pre class="line before"><span class="ws"></span> </pre>
E <pre class="line current"><span class="ws"> </span>conn = _connect(dsn, connection_factory=connection_factory, async=async)</pre>
E <pre class="line after"><span class="ws"> </span>if cursor_factory is not None:</pre>
E <pre class="line after"><span class="ws"> </span>conn.cursor_factory = cursor_factory</pre>
E <pre class="line after"><span class="ws"></span> </pre>
E <pre class="line after"><span class="ws"> </span>return conn</pre></div>
E </div>
E </ul>
E <blockquote>OperationalError: could not connect to server: Connection refused
E Is the server running on host "db" (172.17.0.163) and accepting
E TCP/IP connections on port 5432?
E could not connect to server: Connection refused
E Is the server running on host "db" (172.17.0.163) and accepting
E TCP/IP connections on port 5432?</blockquote>
E </div>
E
E <div class="plain">
E <form action="/?__debugger__=yes&cmd=paste" method="post">
E <p>
E <input type="hidden" name="language" value="pytb">
E This is the Copy/Paste friendly version of the traceback. <span
E class="pastemessage">You can also paste this traceback into
E a <a href="https://gist.github.com/">gist</a>:
E <input type="submit" value="create paste"></span>
E </p>
E <textarea cols="50" rows="10" name="code" readonly>Traceback (most recent call last):
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
E return self.wsgi_app(environ, start_response)
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
E response = self.make_response(self.handle_exception(e))
E File "/usr/local/lib/python2.7/site-packages/flask_cors/extension.py", line 188, in wrapped_function
E return cors_after_request(app.make_response(f(*args, **kwargs)))
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
E reraise(exc_type, exc_value, tb)
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
E response = self.full_dispatch_request()
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
E rv = self.handle_user_exception(e)
E File "/usr/local/lib/python2.7/site-packages/flask_cors/extension.py", line 188, in wrapped_function
E return cors_after_request(app.make_response(f(*args, **kwargs)))
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
E reraise(exc_type, exc_value, tb)
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
E rv = self.dispatch_request()
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
E return self.view_functions[rule.endpoint](**req.view_args)
E File "/usr/local/lib/python2.7/site-packages/connexion/decorators/produces.py", line 116, in wrapper
E data, status_code, headers = self.get_full_response(function(*args, **kwargs))
E File "/usr/local/lib/python2.7/site-packages/connexion/decorators/parameter.py", line 89, in wrapper
E return function(*args, **kwargs)
E File "/property_service/propertyservice/routes/provenance.py", line 21, in list
E with PropertyDBDataSource() as ctx:
E File "/property_service/propertyservice/data/property_db_data_source.py", line 19, in __init__
E self.__db = self.__pg[config.PROPERTY_DATABASE]
E File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 96, in __getitem__
E return self.get_or_create_database(item)
E File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 64, in get_or_create_database
E self.__connect()
E File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 36, in __connect
E user=self.__user, password=self.__password)
E File "/usr/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect
E conn = _connect(dsn, connection_factory=connection_factory, async=async)
E OperationalError: could not connect to server: Connection refused
E Is the server running on host "db" (172.17.0.163) and accepting
E TCP/IP connections on port 5432?
E could not connect to server: Connection refused
E Is the server running on host "db" (172.17.0.163) and accepting
E TCP/IP connections on port 5432?</textarea>
E </form>
E </div>
E <div class="explanation">
E The debugger caught an exception in your WSGI application. You can now
E look at the traceback which led to the error. <span class="nojavascript">
E If you enable JavaScript you can also use additional features such as code
E execution (if the evalex feature is enabled), automatic pasting of the
E exceptions and much more.</span>
E </div>
E <div class="footer">
E Brought to you by <strong class="arthur">DON'T PANIC</strong>, your
E friendly Werkzeug powered traceback interpreter.
E </div>
E </div>
E
E <div class="pin-prompt">
E <div class="inner">
E <h3>Console Locked</h3>
E <p>
E The console is locked and needs to be unlocked by entering the PIN.
E You can find the PIN printed out on the standard output of your
E shell that runs the server.
E <form>
E <p>PIN:
E <input type=text name=pin size=14>
E <input type=submit name=btn value="Confirm Pin">
E </form>
E </div>
E </div>
E </body>
E </html>
E
E <!--
E
E Traceback (most recent call last):
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
E return self.wsgi_app(environ, start_response)
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
E response = self.make_response(self.handle_exception(e))
E File "/usr/local/lib/python2.7/site-packages/flask_cors/extension.py", line 188, in wrapped_function
E return cors_after_request(app.make_response(f(*args, **kwargs)))
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
E reraise(exc_type, exc_value, tb)
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
E response = self.full_dispatch_request()
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
E rv = self.handle_user_exception(e)
E File "/usr/local/lib/python2.7/site-packages/flask_cors/extension.py", line 188, in wrapped_function
E return cors_after_request(app.make_response(f(*args, **kwargs)))
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
E reraise(exc_type, exc_value, tb)
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request
E rv = self.dispatch_request()
E File "/usr/local/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request
E return self.view_functions[rule.endpoint](**req.view_args)
E File "/usr/local/lib/python2.7/site-packages/connexion/decorators/produces.py", line 116, in wrapper
E data, status_code, headers = self.get_full_response(function(*args, **kwargs))
E File "/usr/local/lib/python2.7/site-packages/connexion/decorators/parameter.py", line 89, in wrapper
E return function(*args, **kwargs)
E File "/property_service/propertyservice/routes/provenance.py", line 21, in list
E with PropertyDBDataSource() as ctx:
E File "/property_service/propertyservice/data/property_db_data_source.py", line 19, in __init__
E self.__db = self.__pg[config.PROPERTY_DATABASE]
E File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 96, in __getitem__
E return self.get_or_create_database(item)
E File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 64, in get_or_create_database
E self.__connect()
E File "/usr/local/lib/python2.7/site-packages/pg4nosql/PostgresNoSQLClient.py", line 36, in __connect
E user=self.__user, password=self.__password)
E File "/usr/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect
E conn = _connect(dsn, connection_factory=connection_factory, async=async)
E OperationalError: could not connect to server: Connection refused
E Is the server running on host "db" (172.17.0.163) and accepting
E TCP/IP connections on port 5432?
E could not connect to server: Connection refused
E Is the server running on host "db" (172.17.0.163) and accepting
E TCP/IP connections on port 5432?
E
E -->
/home/bamboo/.local/lib/python2.7/site-packages/flarecast/utils/property_service_client.py:214: RestException