LIGO will allow read access to all databases of all users, but won't allow write access to non-owners. When a user X tries to access a DB owned user Y which is not up-to-date, then pegasus-db-admin throws an OperationalError instead of DBAdminError.
Traceback (most recent call last):
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/flask/app.py", line 1817, in wsgi_app
[Wed Jun 03 16:37:57 2015] [error] response = self.full_dispatch_request()
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/flask/app.py", line 1477, in full_dispatch_request
[Wed Jun 03 16:37:57 2015] [error] rv = self.handle_user_exception(e)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/flask/app.py", line 1381, in handle_user_exception
[Wed Jun 03 16:37:57 2015] [error] reraise(exc_type, exc_value, tb)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/flask/app.py", line 1475, in full_dispatch_request
[Wed Jun 03 16:37:57 2015] [error] rv = self.dispatch_request()
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/flask/app.py", line 1461, in dispatch_request
[Wed Jun 03 16:37:57 2015] [error] return self.view_functions[rule.endpoint](**req.view_args)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/python2.6/site-packages/Pegasus/service/dashboard/views.py", line 53, in index
[Wed Jun 03 16:37:57 2015] [error] totals = dashboard.get_root_workflow_list(counts_only=True, **args)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/python2.6/site-packages/Pegasus/service/dashboard/dashboard.py", line 78, in get_root_workflow_list
[Wed Jun 03 16:37:57 2015] [error] all_workflows = queries.MasterDatabase(self._master_db_url)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/python2.6/site-packages/Pegasus/service/dashboard/queries.py", line 41, in _init_
[Wed Jun 03 16:37:57 2015] [error] SQLAlchemyInit._init_(self, connString)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/python2.6/site-packages/Pegasus/db/modules/_init.py", line 39, in __init_
[Wed Jun 03 16:37:57 2015] [error] self.session = connection.connect(dburi, create=True)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/python2.6/site-packages/Pegasus/db/connection.py", line 56, in connect
[Wed Jun 03 16:37:57 2015] [error] db_create(dburi, engine, db, pegasus_version=pegasus_version, force=force)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/python2.6/site-packages/Pegasus/db/admin/admin_loader.py", line 50, in db_create
[Wed Jun 03 16:37:57 2015] [error] db_version.create(engine, checkfirst=True)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/sqlalchemy/schema.py", line 615, in create
[Wed Jun 03 16:37:57 2015] [error] checkfirst=checkfirst)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/sqlalchemy/engine/base.py", line 1487, in _run_visitor
[Wed Jun 03 16:37:57 2015] [error] conn._run_visitor(visitorcallable, element, **kwargs)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/sqlalchemy/engine/base.py", line 1130, in _run_visitor
[Wed Jun 03 16:37:57 2015] [error] **kwargs).traverse_single(element)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/sqlalchemy/sql/visitors.py", line 111, in traverse_single
[Wed Jun 03 16:37:57 2015] [error] return meth(obj, **kw)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/sqlalchemy/engine/ddl.py", line 89, in visit_table
[Wed Jun 03 16:37:57 2015] [error] self.connection.execute(schema.CreateTable(table))
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/sqlalchemy/engine/base.py", line 664, in execute
[Wed Jun 03 16:37:57 2015] [error] params)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/sqlalchemy/engine/base.py", line 723, in _execute_ddl
[Wed Jun 03 16:37:57 2015] [error] compiled
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/sqlalchemy/engine/base.py", line 878, in _execute_context
[Wed Jun 03 16:37:57 2015] [error] context)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/sqlalchemy/engine/base.py", line 871, in _execute_context
[Wed Jun 03 16:37:57 2015] [error] context)
[Wed Jun 03 16:37:57 2015] [error] File "/usr/lib64/pegasus/externals/python/sqlalchemy/engine/default.py", line 320, in do_execute
[Wed Jun 03 16:37:57 2015] [error] cursor.execute(statement, parameters)
[Wed Jun 03 16:37:57 2015] [error] OperationalError: (OperationalError) attempt to write a readonly database u'
nCREATE TABLE dbversion (\\n
tid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, \\n
tversion_number INTEGER NOT NULL, \\n
tversion_timestamp INTEGER NOT NULL\\n)\\n
n' ()