You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ariatosca.apache.org by "Ran Ziv (JIRA)" <ji...@apache.org> on 2017/04/30 13:29:04 UTC

[jira] [Assigned] (ARIA-160) Operation toolbelt unit tests fail spordically

     [ https://issues.apache.org/jira/browse/ARIA-160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ran Ziv reassigned ARIA-160:
----------------------------

    Assignee: Maxim Orlov

> Operation toolbelt unit tests fail spordically
> ----------------------------------------------
>
>                 Key: ARIA-160
>                 URL: https://issues.apache.org/jira/browse/ARIA-160
>             Project: AriaTosca
>          Issue Type: Bug
>            Reporter: Ran Ziv
>            Assignee: Maxim Orlov
>            Priority: Minor
>
> The unit tests in the module {{test_toolbelt.py}} fail remote builds (TravisCI, Jenkins) sporadically.
> Stack trace:
> {code}
> workflow_context = WorkflowContext(deployment_id=1, workflow_name=test_workflow, execution_id=1)
> executor = <aria.orchestrator.workflows.executor.thread.ThreadExecutor object at 0x7f57f8482a50>
>     def test_host_ip(workflow_context, executor):
>         interface_name = 'Standard'
>         operation_name = 'create'
>         _, dependency_node, _, _, _ = _get_elements(workflow_context)
>         inputs = {'putput': True}
>         interface = mock.models.create_interface(
>             dependency_node.service,
>             interface_name=interface_name,
>             operation_name=operation_name,
>             operation_kwargs=dict(implementation=op_path(host_ip, module_path=__name__),
>                                   inputs=inputs)
>         )
>         dependency_node.interfaces[interface.name] = interface
>         workflow_context.model.node.update(dependency_node)
>     
>         @workflow
>         def basic_workflow(graph, **_):
>             graph.add_tasks(
>                 api.task.OperationTask.for_node(
>                     node=dependency_node,
>                     interface_name=interface_name,
>                     operation_name=operation_name,
>                     inputs=inputs
>                 )
>             )
>     
> >       execute(workflow_func=basic_workflow, workflow_context=workflow_context, executor=executor)
> tests/orchestrator/context/test_toolbelt.py:101: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> tests/orchestrator/context/__init__.py:29: in execute
>     eng.execute()
> aria/orchestrator/workflows/core/engine.py:59: in execute
>     for task in self._ended_tasks():
> aria/orchestrator/workflows/core/engine.py:96: in <genexpr>
>     return (task for task in self._tasks_iter() if task.has_ended())
> aria/orchestrator/workflows/core/task.py:259: in __getattr__
>     return getattr(self.model_task, attr)
> aria/orchestrator/workflows/core/task.py:178: in model_task
>     return self._workflow_context.model.task.get(self._task_id)
> aria/storage/sql_mapi.py:59: in get
>     result = query.first()
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/orm/query.py:2731: in first
>     ret = list(self[0:1])
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/orm/query.py:2523: in __getitem__
>     return list(res)
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/orm/query.py:2831: in __iter__
>     return self._execute_and_instances(context)
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/orm/query.py:2854: in _execute_and_instances
>     result = conn.execute(querycontext.statement, self._params)
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py:945: in execute
>     return meth(self, multiparams, params)
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/sql/elements.py:263: in _execute_on_connection
>     return connection._execute_clauseelement(self, multiparams, params)
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py:1053: in _execute_clauseelement
>     compiled_sql, distilled_params
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py:1189: in _execute_context
>     context)
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py:1393: in _handle_dbapi_exception
>     exc_info
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/util/compat.py:203: in raise_from_cause
>     reraise(type(exception), exception, tb=exc_tb, cause=cause)
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/base.py:1182: in _execute_context
>     context)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> self = <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at 0x7f57f97ee250>
> cursor = <sqlite3.Cursor object at 0x7f57fb83c420>
> statement = 'SELECT task.id AS task_id, task.name AS task_name, task.implementation AS task_implementation, task.max_attempts AS t..._fk AS task_execution_fk, task.relationship_fk AS task_relationship_fk 
> FROM task 
> WHERE task.id = ?
>  LIMIT ? OFFSET ?'
> parameters = (1, 1, 0)
> context = <sqlalchemy.dialects.sqlite.base.SQLiteExecutionContext object at 0x7f57f83b1810>
>     def do_execute(self, cursor, statement, parameters, context=None):
> >       cursor.execute(statement, parameters)
> E       InterfaceError: (sqlite3.InterfaceError) Error binding parameter 0 - probably unsupported type. [SQL: u'SELECT task.id AS task_id, task.name AS task_name, task.implementation AS task_implementation, task.max_attempts AS task_max_attempts, task.retry_interval AS task_retry_interval, task.ignore_failure AS task_ignore_failure, task.status AS task_status, task.due_at AS task_due_at, task.started_at AS task_started_at, task.ended_at AS task_ended_at, task.attempts_count AS task_attempts_count, task.node_fk AS task_node_fk, task.plugin_fk AS task_plugin_fk, task.execution_fk AS task_execution_fk, task.relationship_fk AS task_relationship_fk \nFROM task \nWHERE task.id = ?\n LIMIT ? OFFSET ?'] [parameters: (1, 1, 0)]
> .tox/py27/lib/python2.7/site-packages/sqlalchemy/engine/default.py:470: InterfaceError
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)