GR360RY / dhcpawn

Other
2 stars 1 forks source link

Access to API following the installation is broken #2

Open GR360RY opened 9 years ago

GR360RY commented 9 years ago

Following the vagrant deployment, basic api test results in error:

curl http://localhost:10080/api/hosts/

Output below:

uWSGI exceptions catcher for "GET /api/hosts/" (request plugin: "python", modifier1: 0)

Exception: sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) column host.options does not exist
LINE 1: ....mac AS host_mac, host.group_id AS host_group_id, host.optio...
                                                             ^
 [SQL: 'SELECT host.id AS host_id, host.name AS host_name, host.mac AS host_mac, host.group_id AS host_group_id, host.options AS host_options \nFROM host']

Exception class: sqlalchemy.exc.ProgrammingError

Exception message: (psycopg2.ProgrammingError) column host.options does not exist
LINE 1: ....mac AS host_mac, host.group_id AS host_group_id, host.optio...
                                                             ^
 [SQL: 'SELECT host.id AS host_id, host.name AS host_name, host.mac AS host_mac, host.group_id AS host_group_id, host.options AS host_options \nFROM host']

Backtrace:
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/flask/app.py" line: 1836 function: "__call__" text/code: "return self.wsgi_app(environ, start_response)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/flask/app.py" line: 1820 function: "wsgi_app" text/code: "response = self.make_response(self.handle_exception(e))"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/flask/app.py" line: 1403 function: "handle_exception" text/code: "reraise(exc_type, exc_value, tb)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/flask/app.py" line: 1817 function: "wsgi_app" text/code: "response = self.full_dispatch_request()"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/flask/app.py" line: 1477 function: "full_dispatch_request" text/code: "rv = self.handle_user_exception(e)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/flask/app.py" line: 1381 function: "handle_user_exception" text/code: "reraise(exc_type, exc_value, tb)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/flask/app.py" line: 1475 function: "full_dispatch_request" text/code: "rv = self.dispatch_request()"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/flask/app.py" line: 1461 function: "dispatch_request" text/code: "return self.view_functions[rule.endpoint](**req.view_args)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/flask/views.py" line: 84 function: "view" text/code: "return self.dispatch_request(*args, **kwargs)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/flask/views.py" line: 149 function: "dispatch_request" text/code: "return meth(*args, **kwargs)"
filename: "/opt/dhcpawn/flask_app/methodviews.py" line: 30 function: "get" text/code: "hosts = Host.query.all()"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py" line: 2398 function: "all" text/code: "return list(self)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py" line: 2515 function: "__iter__" text/code: "return self._execute_and_instances(context)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py" line: 2530 function: "_execute_and_instances" text/code: "result = conn.execute(querycontext.statement, self._params)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py" line: 914 function: "execute" text/code: "return meth(self, multiparams, params)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/sqlalchemy/sql/elements.py" line: 323 function: "_execute_on_connection" text/code: "return connection._execute_clauseelement(self, multiparams, params)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py" line: 1010 function: "_execute_clauseelement" text/code: "compiled_sql, distilled_params"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py" line: 1146 function: "_execute_context" text/code: "context)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py" line: 1332 function: "_handle_dbapi_exception" text/code: "exc_info"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py" line: 199 function: "raise_from_cause" text/code: "reraise(type(exception), exception, tb=exc_tb)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py" line: 1139 function: "_execute_context" text/code: "context)"
filename: "/opt/dhcpawn/.env/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py" line: 442 function: "do_execute" text/code: "cursor.execute(statement, parameters)"

QUERY_STRING =
REQUEST_METHOD = GET
CONTENT_TYPE =
CONTENT_LENGTH =
REQUEST_URI = /api/hosts/
PATH_INFO = /api/hosts/
DOCUMENT_ROOT = /usr/share/nginx/html
SERVER_PROTOCOL = HTTP/1.1
REMOTE_ADDR = 10.0.2.2
REMOTE_PORT = 52172
SERVER_PORT = 80
SERVER_NAME =
HTTP_USER_AGENT = curl/7.37.1
HTTP_HOST = localhost:10080
HTTP_ACCEPT = */*
d9w commented 9 years ago

Fixed for me with 2040e356f280c181b43bee7a04c0219db5ad44f2, but in case you get this again, run

$ python manage.py db upgrade

(requires a running vagrant instance and

$ export LDAP_DATABASE_URI=ldap://localhost:10389
$ export SQLALCHEMY_DATABASE_URI=postgresql://dhcpawn:dhcpawn@localhost:15432/dhcpawn

)

GR360RY commented 9 years ago

Running python manage.py db upgrade on mac requires the following:

sudo ln -s `xcrun --show-sdk-path`/usr/include /usr/include