F

Flyte enables you to build & deploy data & ML pipelines, hassle-free. The infinitely scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks. Explore and Join the Flyte Community!

Launch Plans Not Connecting to Workflows

Summary

The user is facing an issue where newly registered launch plans created with LaunchPlan.get_or_create(...) are not appearing connected to a workflow, despite being visible in the Flyte console. They suspect this problem started after a recent update to their Flyte deployment via Terraform. The new launch plan "z_detector" is visible in the Launch Plans tab but not in the Workflows tab, which is preventing the execution of updated versions of existing launch plans. The user is reviewing their deployment code for issues, and the problem persists even after deleting the launch plan, suggesting the workflow itself isn't updating. They note that this issue affects all workflows, with the last update for any workflow being on 8/26. The user later realizes that a recent refactor added a directory to the workflows' path, causing the problem. They plan to clear out old workflows to ensure only new ones are displayed and are trying to understand why old workflows are still running when triggering a workflow run.

Status
resolved
Tags
    Source
    #ask-the-community
      y

      ytong

      9/27/2024

      ofc

      a

      andrew.merrill

      9/27/2024

      for sure. thanks for the help! that helped me realize that

      y

      ytong

      9/27/2024

      thanks! let us know

      y

      ytong

      9/27/2024

      like a folder gets added and i kept searching for the old path.

      y

      ytong

      9/27/2024

      i’ve run into that before

      y

      ytong

      9/27/2024

      oh yeah, should’ve thought of that.

      a

      andrew.merrill

      9/27/2024

      I just need to figure out why the old workflows are still running when I trigger a workflow run, but I think I can figure that out

      a

      andrew.merrill

      9/27/2024

      yeah, it looks like that's the issue, i need to see if I can clear out these workflows so that only the new ones show up... that's my bad, it was just the directory path issue

      a

      andrew.merrill

      9/27/2024

      oh man.. I think I see the issue. there was a refactor a little bit ago that added a directory in the path to the workflows, and now I'm seeing the new workflow with the new path showing up

      y

      ytong

      9/27/2024

      and you’re sure this is the correct project/domain

      y

      ytong

      9/27/2024

      and if you click on one… then manually change the version to Mxuji6SmjvFRo5-uGYS5yg do you get a 404?

      a

      andrew.merrill

      9/27/2024

      looks like its true for all of my workflows. the latest update for any workflow was 8/26. that's making me think it is some kind of deployment issue..

      a

      andrew.merrill

      9/27/2024

      yeah, it isn't there either. the versions go back to january, but the august one is still the latest

      y

      ytong

      9/27/2024

      and if you click on the View All… it’s still missing?

      y

      ytong

      9/27/2024

      got it okay

      a

      andrew.merrill

      9/27/2024

      yeah, I guess its more that the workflow itself isn't updating at all

      y

      ytong

      9/27/2024

      the problem persists even if you delete this launch plan.

      y

      ytong

      9/27/2024

      the issue is that the workflows page is missing the workflow that is registered.

      y

      ytong

      9/27/2024

      so just to clarify… this doesn’t really have to do with the launch plan right?

      a

      andrew.merrill

      9/27/2024

      I'm trying to look through my deployment code to see if anything ended up weird there, because its weird that it just stopped updating a month ago

      a

      andrew.merrill

      9/27/2024

      Yeah, here's a modified version of the launchplan in the code

          z_launch_plan = LaunchPlan.get_or_create(
              name=z_launch_plan_name,
              workflow=detector_pipeline,
              default_inputs={
                  **default_inputs,
                  "epochs": 16,
                  "batch_size": 28,
              },
              fixed_inputs={
                  "model_type": "detector",
                  "model_category": "z",
              },
          )```
      where `detector_pipeline` is the name of the workflow in the code
      
      y

      ytong

      9/27/2024

      which workflow does z_detector_pipeline_launchplan correspond to? detector.detector_pipeline.detector_pipeline?

      a

      andrew.merrill

      9/27/2024

      Yeah, here's the output

      Registering against <http://flyte.domain.com|flyte.domain.com>
      Detected Root path/to/code, using this to create deployable package...
      No output path provided, using a temporary directory at /var/folders/fg/rj4k8n6n6gz2mvvsqdv34_1h0000gn/T/tmp_u9v4qpo instead
      Computed version is Mxuji6SmjvFRo5-uGYS5yg
      Loading packages ['detector.detector_pipeline'] under source root path/to/code
      Image us-central1-docker.pkg.dev/dai-ml-pipelines/flyte-pipelines/default:QbhpPoJ1HnMIoJtST_44bg found. Skip building.
      Image us-central1-docker.pkg.dev/dai-ml-pipelines/flyte-pipelines/gcloud:DHMde3nJznQF0DCOHcCFDA found. Skip building.
      Image us-central1-docker.pkg.dev/dai-ml-pipelines/flyte-pipelines/detector_train:aeK6Nv9bo_qYB2HjeKq_FA found. Skip building.
      Image us-central1-docker.pkg.dev/dai-ml-pipelines/flyte-pipelines/detector_serialize:URlgVNOdiYdTZ7reC_w7bA found. Skip building.
      Successfully serialized 24 flyte objects
      [✔] Registration common.tasks.pipeline_setup.get_pipeline_steps type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration common.tasks.pipeline_setup.get_dataset_bucket_dir type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration common.tasks.pipeline_setup.return_float type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration common.tasks.pipeline_setup.create_pipeline_status type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration common.tasks.data_validation.validate_dataset type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration detector.steps.detector_bigquery.setup_detector_bigquery type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration common.tasks.pipeline_setup.return_str type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration common.tasks.pipeline_setup.noop type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration detector.steps.detector_data_processing.process_detector_dataset type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration common.tasks.pipeline_setup.get_output_dir type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration common.tasks.pipeline_setup.return_str_float_tuple type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration common.tasks.deploy.trigger_model_deployment type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration detector.steps.detector_serialize.serialize_detector type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration detector.steps.detector_evaluate.evaluate_detector type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration detector.steps.detector_train.train_detector type TASK successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration detector.detector_pipeline.detector_train_eval_serialize type WORKFLOW successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration detector.detector_pipeline.detector_train_eval_serialize type LAUNCH_PLAN successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration detector.detector_pipeline.detector_pipeline type WORKFLOW successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration detector.detector_pipeline.detector_pipeline type LAUNCH_PLAN successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration x_detector_pipeline_launchplan type LAUNCH_PLAN successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration y_detector_pipeline_launchplan type LAUNCH_PLAN successful with version Mxuji6SmjvFRo5-uGYS5yg
      [✔] Registration z_detector_pipeline_launchplan type LAUNCH_PLAN successful with version Mxuji6SmjvFRo5-uGYS5yg```
      z_detector, the bottom one, is the new launch plan that I added
      In the Launch Plans tab, I can see the versions of that launchplan showing up, as shown in the first image
      
      then the second image shows that on the Workflows tab, there are no new versions showing up, the latest is from over a month ago
      
      then when I click Launch Workflow, the new launchplan does not show up, because it only has those old workflow versions where it didn't exist. and I also can't run the updated versions of the existing launchplans
      
      y

      ytong

      9/27/2024

      that will let us track down the api call

      y

      ytong

      9/27/2024

      and mind screenshotting the ui that is missing?

      y

      ytong

      9/27/2024

      not entirely following… would you mind copy/pasting the register output (redact names if you want)

      a

      andrew.merrill

      9/27/2024

      That's a bit before I updated my flyte deployment through terraform, I wonder if something broke with that somehow

      a

      andrew.merrill

      9/27/2024

      I've ran it a bunch recently, and the most recent workflow version is 8/22/2024, I'm now seeing...

      a

      andrew.merrill

      9/27/2024

      Yeah, so all the Registration ... LAUNCH_PLAN and Registration ... WORKFLOW stuff prints out. The workflow is there for the overall workflow, and each launchplan that I'd expect to see if there, but then that version of workflow doesn't show up in the console, but it does show up in the launchplans

      y

      ytong

      9/27/2024

      and yes the versions should be the same.

      y

      ytong

      9/27/2024

      does it show up there?

      y

      ytong

      9/27/2024

      the register command should print out all the entities it’s registering

      a

      andrew.merrill

      9/27/2024

      Hey! I'm having an issue with registering launchplans, and having them show up connected to a workflow. I'm adding a new launchplan for a workflow using LaunchPlan.get_or_create(...), then running pyflyte register path/to/workflow.py -p project -d domain. Everything runs fine, and it shows the new version string. In the flyte console, I can see the launchplan itself in the Launch Plans tab with the new version, but when I go to the workflow in the Workflows tab, and click Launch Workflow, its only showing older versions in the Workflow version dropdown, and the new launchplan isn't shown in the Launch Plan dropdown. Is the workflow version the same as the version shown when registering? This only just now seems to be an issue, it was working fine up until recently