Skip to content

Register the connector-service (webapi) plugin in the Flyte 2 executor #7564

Description

@dejanzele

The Flyte 2 executor doesn't register the connector-service (webapi) plugin, so it can't run connector tasks. The Python SDK already ships the connector interfaces (AsyncConnector and friends), but nothing on the executor side runs them: the plugin that delegates to a connector deployment is never registered.

I ran into this building a connector for Armada. The task type resolves to connector-service, but the executor has no plugin by that name, so the task never routes.

Registering the plugin isn't quite enough on its own. The webapi machinery also pulls a ResourceManager and a SecretManager from the plugin setup context, and the executor provides neither, so the allocation-token path nil-derefs.

I opened #7565 with the change. It registers connector-service in the executor and supplies a no-op ResourceManager and registrar so the allocation path doesn't panic. With it, a connector works end to end: https://github.com/dejanzele/armada-flyte runs plain @env.task functions as Armada jobs through it (fan-out, gang scheduling, a small ML pipeline).

A couple of questions for reviewers:

  1. Is registering connector-service in the executor the intended path for v2, or is connector execution meant to be wired up somewhere else?
  2. Is a no-op ResourceManager and SecretManager acceptable in the executor, or should it provide real implementations?

This isn't Armada-specific. Any connector backend (Databricks, Ray, etc.) needs the same plugin registered to run on v2.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions