Skip to content

[BUG] No default image is assigned to an agent running a containerized task #6157

Open
flyteorg/flytekit
#3163
@JiangJiaWei1103

Description

@JiangJiaWei1103

Describe the bug

When developing and testing a new agent locally following this guide, we found that there exists a case in which no default image is assigned:

Screenshot 2025-01-10 at 9 35 47 PM

Possible Patch

In execute method of AsyncAgentExecutorMixin, SerializationSettings's image_config field isn't well initialized, as shown here. Hence, the error is raised when:

  1. container_image isn't specified in the corresponding task and
  2. ctx.serialization_settings is None

SyncAgentExecutorMixin may have the same issue.

Expected behavior

The local test should pass even if an user doesn't explicitly specify container_image parameter in the corresponding task.

Additional context to reproduce

Test Slurm agent locally with the following example,

import os

from flytekit import workflow
from flytekitplugins.slurm import Slurm, SlurmTask


echo_job = SlurmTask(
    name="echo-job-name",
    task_config=Slurm(
        slurm_host="slurm",
        # Specify a remote Slurm batch script
        batch_script_path="/home/abaowei/echo.slurm",
        batch_script_args=["--debug"],
        sbatch_conf={
            "partition": "debug",
            "job-name": "tiny-slurm",
        }
    )
    # No container_image is specified here
)


@workflow
def wf() -> None:
    echo_job()


if __name__ == "__main__":
    from flytekit.clis.sdk_in_container import pyflyte
    from click.testing import CliRunner

    runner = CliRunner()
    path = os.path.realpath(__file__)

    # Local run
    print(f">>> LOCAL EXEC <<<")
    result = runner.invoke(pyflyte.main, ["run", path, "wf"])
    print(result.output)

Screenshots

No response

Are you sure this issue hasn't been raised already?

  • Yes

Have you read the Code of Conduct?

  • Yes

Metadata

Metadata

Labels

bugSomething isn't workingstale

Type

No type

Projects

Status

Assigned

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions