Skip to content

[DOM-57587] Allow same execution names across projects#1

Draft
ddl-ebrown wants to merge 1 commit into
masterfrom
fix-use-k8s-label-selector
Draft

[DOM-57587] Allow same execution names across projects#1
ddl-ebrown wants to merge 1 commit into
masterfrom
fix-use-k8s-label-selector

Conversation

@ddl-ebrown
Copy link
Copy Markdown
Collaborator

  • Typically Flyte is configured so that each project / domain has its own Kubernetes namespace.

    Flyte in Domino overrides this behavior so that all workflows are launched inside of the domino-compute namespace, given it's currently not practical within Domino to support additional namespaces

  • This patch fixes 2 important things to make this work properly inside of Flyte:

    • it adds a random element to the CR name in Flyte so that the CR is named by the execution + some unique value when created by flyteadmin

      Without this change, an execution Foo in project A will prevent an
      execution Foo in project B from launching, because the name of the
      CR thats generated in Kubernetes assumes that the namespace the
      CRs are put into is different for project A and project B

      In Domino, that assumption is wrong

    • it makes sure that when flytepropeller cleans up the CR resource that it uses Kubernetes labels to find the correct CR -- so instead of assuming that it can use the execution name, it instead uses the project, domain and execution labels

  • The first version of this patch was incomplete and failed to address the second issue caused by the first change

Tracking issue

Why are the changes needed?

What changes were proposed in this pull request?

How was this patch tested?

Setup process

Screenshots

Check all the applicable boxes

  • I updated the documentation accordingly.
  • All new and existing tests passed.
  • All commits are signed-off.

Related PRs

Docs link

 - Typically Flyte is configured so that each project / domain has its
   own Kubernetes namespace.

   Flyte in Domino overrides this behavior so that all workflows are
   launched inside of the domino-compute namespace, given it's currently
   not practical within Domino to support additional namespaces

 - This patch fixes 2 important things to make this work properly inside
   of Flyte:

   * it adds a random element to the CR name in Flyte so that the CR is
     named by the execution + some unique value when created by
     flyteadmin

     Without this change, an execution Foo in project A will prevent an
     execution Foo in project B from launching, because the name of the
     CR thats generated in Kubernetes *assumes* that the namespace the
     CRs are put into is different for project A and project B

     In Domino, that assumption is wrong

   * it makes sure that when flytepropeller cleans up the CR resource
     that it uses Kubernetes labels to find the correct CR -- so instead
     of assuming that it can use the execution name, it instead uses the
     project, domain and execution labels

 - The first version of this patch was incomplete and failed to address
   the second issue caused by the first change
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant