proud-answer-87162
10/03/2025, 3:42 PMpyflyte register ... --version . This works until i want to update the version of the reference_workflow that it points to. e.g., if v1 of my named launchplan points to a reference workflow that uses workflow v1, and then i want to register launchplan v2 that points to workflow v2, i get this error:
Request rejected by the API, due to Invalid input.
RPC Failed, with Status: StatusCode.INVALID_ARGUMENT
Details: launch plan with different structure already exists:
- /workflow_id/version: v1 -> v2
Is this intended behavior, or am i doing something wrong? i can easily get around the issue by giving my LaunchPlan a new name, but i don't want to do that every time i need to bump versionsancient-wolf-19325
10/03/2025, 3:42 PMproud-answer-87162
10/03/2025, 3:44 PMreference_workflowancient-wolf-19325
10/03/2025, 3:45 PMmy_lp_v1, my_lp_v2). This allows you to register and activate new launch plans for updated workflow versions without conflicting with previous ones. You can then deactivate or archive old launch plans as needed, keeping your project organized and ensuring that scheduled or manual executions always use the intended workflow version.
Sources:
- https://github.com/flyteorg/flyte/issues/5073
- https://github.com/flyteorg/flyte/issues/3109 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.proud-answer-87162
10/03/2025, 3:49 PMLaunchPlan if the underlying workflow can't change between versions?ancient-wolf-19325
10/03/2025, 3:49 PMLaunchPlan is to allow updates to its configuration—such as default or fixed inputs, schedules, notifications, labels, or other runtime overrides—while keeping the underlying workflow structure constant. This enables you to iterate on operational aspects (e.g., change a schedule or notification policy) without altering the workflow logic itself. The workflow reference (project/domain/name/version) must remain the same for all versions of a given launch plan name, ensuring structural consistency and reproducibility. See launch_plan_test.go and errors_test.go.
If you need to point to a new workflow version, you must create a new launch plan name. Versioning is thus intended for managing changes to launch plan metadata and operational parameters, not for changing the workflow it executes.
Sources:
- https://github.com/flyteorg/flyte/issues/5073
- https://github.com/flyteorg/flyte/issues/5415 👍 0 button 👎 0 button 💡 Hint: Mention @runllm in the thread for followups.proud-answer-87162
10/03/2025, 3:52 PMbrief-family-9488
10/03/2025, 5:10 PM