Skip to content

latest/edge fails to be deployed in consumer charm CI #86

@DnPlas

Description

@DnPlas

Bug Description

The latest/edge charm is failing to be deployed in a consumer charm CI (kserve-controller) with no obvious reason as to why.
This was observed in the kserve-controller on_pull CI (link).

To Reproduce

Execute the on_pull CI for a consumer charm, it can be kserve-controller in this case, wait for the test_deploy_resource_dispatcher test case to fail.

Environment

Relevant Log Output

# The test case is fairly simple:

async def test_deploy_resource_dispatcher(ops_test: OpsTest):
    """
    Test if the charm can relate to resource dispatcher and stay in Active state

    We need to deploy Metacontroller and poddefaults CRD (for Resource dispatcher).
    """
    deploy_k8s_resources([PODDEFAULTS_CRD_TEMPLATE])
    await ops_test.model.deploy(
        entity_url=METACONTROLLER_CHARM_NAME,
        channel="latest/edge",
        trust=True,
    )
    await ops_test.model.wait_for_idle(
        apps=[METACONTROLLER_CHARM_NAME],
        status="active",
        raise_on_blocked=False,
        raise_on_error=False,
        timeout=120,
    )
    await ops_test.model.deploy(RESOURCE_DISPATCHER_CHARM_NAME, channel="latest/edge", trust=True)
    await ops_test.model.wait_for_idle(
        apps=[CHARM_NAME],
        status="active",
        raise_on_blocked=False,
        raise_on_error=False,
        timeout=120,
        idle_period=60,
    )

    await ops_test.model.integrate(
        f"{CHARM_NAME}:service-accounts", f"{RESOURCE_DISPATCHER_CHARM_NAME}:service-accounts"
    )
    await ops_test.model.integrate(
        f"{CHARM_NAME}:secrets", f"{RESOURCE_DISPATCHER_CHARM_NAME}:secrets"
    )

    await ops_test.model.wait_for_idle(
        apps=[RESOURCE_DISPATCHER_CHARM_NAME, CHARM_NAME],
        status="active",
        raise_on_blocked=False,
        raise_on_error=False,
        timeout=1200,
    )
    assert ops_test.model.applications[CHARM_NAME].units[0].workload_status == "active"

# Error after running the test case

=================================== FAILURES ===================================
_______________________ test_deploy_resource_dispatcher ________________________
Traceback (most recent call last):
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/runner.py", line 341, in from_call
    result: Optional[TResult] = func()
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/runner.py", line 241, in <lambda>
    lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_callers.py", line 139, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_callers.py", line 122, in _multicall
    teardown.throw(exception)  # type: ignore[union-attr]
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/threadexception.py", line 87, in pytest_runtest_call
    yield from thread_exception_runtest_hook()
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/threadexception.py", line 63, in thread_exception_runtest_hook
    yield
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_callers.py", line 122, in _multicall
    teardown.throw(exception)  # type: ignore[union-attr]
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/unraisableexception.py", line 90, in pytest_runtest_call
    yield from unraisable_exception_runtest_hook()
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/unraisableexception.py", line 65, in unraisable_exception_runtest_hook
    yield
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_callers.py", line 122, in _multicall
    teardown.throw(exception)  # type: ignore[union-attr]
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call
    yield from self._runtest_for(item, "call")
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/logging.py", line 833, in _runtest_for
    yield
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_callers.py", line 122, in _multicall
    teardown.throw(exception)  # type: ignore[union-attr]
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/capture.py", line 878, in pytest_runtest_call
    return (yield)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_callers.py", line 122, in _multicall
    teardown.throw(exception)  # type: ignore[union-attr]
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/skipping.py", line 257, in pytest_runtest_call
    return (yield)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/runner.py", line 183, in pytest_runtest_call
    raise e
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call
    item.runtest()
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/python.py", line 1632, in runtest
    self.ihook.pytest_pyfunc_call(pyfuncitem=self)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_hooks.py", line 513, in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_manager.py", line 120, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_callers.py", line 182, in _multicall
    return outcome.get_result()
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_result.py", line 100, in get_result
    raise exc.with_traceback(exc.__traceback__)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pluggy/_callers.py", line 103, in _multicall
    res = hook_impl.function(*args)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call
    result = testfunction(**testargs)
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/pytest_asyncio/plugin.py", line 529, in inner
    _loop.run_until_complete(task)
  File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/home/runner/work/kserve-operators/kserve-operators/charms/kserve-controller/tests/integration/test_charm.py", line 519, in test_deploy_resource_dispatcher
    await ops_test.model.wait_for_idle(
  File "/home/runner/work/kserve-operators/kserve-operators/.tox/integration/lib/python3.8/site-packages/juju/model.py", line 2969, in wait_for_idle
    raise jasyncio.TimeoutError("Timed out waiting for model:\n" + busy)
asyncio.exceptions.TimeoutError: Timed out waiting for model:

Additional Context

No response

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