Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ddl-ebrown
Copy link
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