XMLWordPrintable

    • Type: Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Priority: Icon: Blocker Blocker
    • master, 4.6.0, 4.5.1
    • Affects Version/s: master, 4.6.0, 4.5.1
    • Component/s: None
    • None

      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' ()

            Assignee:
            rafsilva Rafael Ferreira Da Silva (Inactive)
            Reporter:
            mayani Rajiv Mayani
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: