Skip to content

Celery docker-tests fail #3338

@jeremydvoss

Description

@jeremydvoss

Non-contrib sibling issue for this

Describe your environment Checks that previously passed have started failing and block my pr:

=================================== FAILURES ===================================
__________________________ test_fn_exception_expected __________________________

celery_app = <Celery celery.tests at 0x7fbb1d780b50>
memory_exporter = <opentelemetry.sdk.trace.export.in_memory_span_exporter.InMemorySpanExporter object at 0x7fbb1d926f80>

    def test_fn_exception_expected(celery_app, memory_exporter):
        @celery_app.task(throws=(MyException,))
        def fn_exception():
            raise MyException("Task class is failing")
    
        result = fn_exception.apply()
    
        assert result.failed() is True
        assert "Task class is failing" in result.traceback
    
        spans = memory_exporter.get_finished_spans()
        assert len(spans) == 1
    
        span = spans[0]
    
>       assert span.status.is_ok is True
E       assert False is True
E        +  where False = <opentelemetry.trace.status.Status object at 0x7fbb1d7d6d40>.is_ok
E        +    where <opentelemetry.trace.status.Status object at 0x7fbb1d7d6d40> = <opentelemetry.sdk.trace.ReadableSpan object at 0x7fbb1d7d7b20>.status

celery/test_celery_functional.py:306: AssertionError
______________________ test_class_task_exception_excepted ______________________

celery_app = <Celery celery.tests at 0x7fbb1d6c9240>
memory_exporter = <opentelemetry.sdk.trace.export.in_memory_span_exporter.InMemorySpanExporter object at 0x7fbb1d683910>

    def test_class_task_exception_excepted(celery_app, memory_exporter):
        class BaseTask(celery_app.Task):
            throws = (MyException,)
    
            def run(self):
                raise MyException("Task class is failing")
    
        task = BaseTask()
        # register the Task class if it's available (required in Celery 4.0+)
        register_task = getattr(celery_app, "register_task", None)
        if register_task is not None:
            register_task(task)
    
        result = task.apply()
    
        assert result.failed() is True
        assert "Task class is failing" in result.traceback
    
        spans = memory_exporter.get_finished_spans()
        assert len(spans) == 1
    
        span = spans[0]
    
>       assert span.status.is_ok is True
E       assert False is True
E        +  where False = <opentelemetry.trace.status.Status object at 0x7fbb1d6fb910>.is_ok
E        +    where <opentelemetry.trace.status.Status object at 0x7fbb1d6fb910> = <opentelemetry.sdk.trace.ReadableSpan object at 0x7fbb1d6fbc40>.status

celery/test_celery_functional.py:446: AssertionError

Steps to reproduce
Make a pr

What is the expected behavior?
Checks pass

What is the actual behavior?
Checks fail

Additional context
Possibly related to open-telemetry/opentelemetry-python-contrib#653

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions