<#3772 [BUG] Imagespec envd build skipped when not...
# flytekit
c
#3772 [BUG] Imagespec envd build skipped when _not_ using pyflyte register Issue created by zeryx ### Describe the bug Imagespec dependencies, such as those added to a workflow/example.py file are automatically built when one calls
pyflyte register
. https://gist.github.com/zeryx/a3074a2aade6a7263c3d796d08891741 However, when you register and execute with
pyflyte run
,
pyflyte run --copy-all
, or
flytekit.remote.register_workflow
the ImageSpec build step is skipped, and the container_image argument failsover to use the base image. ### Expected behavior The expected behavior is regardless of the mechanism used to register the workflow onto a flyte cluster, if an imagespec image is required for any tasks; those ImageSpec steps should be built via envd and deployed to the provided registry. If that fails for whatever reason, the registration itself should fail; and return a useful error indicating that an ImageSpec build process failed for some reason; rather than registering the task with the default flyte base image. If one is using flytekit as a library and triggering register_workflow() or register_task() and an imagespec image is provided as a
container_image
argument; that ImageSpec image should attempt to build said image, or validate that the existing image already exists. ### Additional context to reproduce • pyflyte init, replace your workflow/example.py with https://gist.github.com/zeryx/a3074a2aade6a7263c3d796d08891741 • call pyflyte run --copy-all workflows/example.py • verify that envd is not being interacted with, and no images are written to registry ### Screenshots [image](https://private-user-images.githubusercontent.com/1892175/245193603-ef1f83bd-b687-4f1f-96b5-920027d9ab1e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NDcyNjgxMzksIm5iZiI6MTc0NzI2NzgzOSwicGF0aCI6Ii8xODkyMTc1LzI0NTE5MzYwMy1lZjFmODNiZC1iNjg3LTRmMWYtOTZiNS05MjAwMjdkOWFiMWUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDUxNSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTA1MTVUMDAxMDM5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9Zjg2MWUwM2JiYjYxNDIwZThiNDk5M2JhMGU5YzlkYmM3ZjdmOGM2YzMxYmFkYjhjMGY0Y2Q3OWU1ODdhZTYzMSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.obbMUsDjBixXRn8u0AOohkUJHvPRlGClQxAW-JY7OMU)
Copy code
pyflyte --config ~/.uctl/config.yaml run --remote --copy-all workflows/example.py wf
2023-06-12 11:23:46,062144 WARNING  {"asctime": "2023-06-12 11:23:46,062", "name": "flytekit.cli", "levelname": "WARNING", ignore.py:51
                                    "message": "Could not determine ignored files due to:\nb'fatal: not a git repository               
                                    (or any of the parent directories): .git\\n'\nNot applying any filters"}                           
Opening in existing browser session.
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
127.0.0.1 - - [12/Jun/2023 11:24:13] "GET /callback?code=WnyxL2kywRTHw3tSSMLVO3T-38OLUwpQbOr5_8i_snY&state=feEPffKlUICJ63Y8bCuEtXBtgcU3kY2Oi1sQNrme5amT17xMnhgNOA HTTP/1.1" 200 -
Go to <https://demo.hosted.unionai.cloud/console/projects/flytesnacks/domains/development/executions/f8a710d7a26b74e77a9e> to see execution in the console.
### Are you sure this issue hasn't been raised already? • Yes ### Have you read the Code of Conduct? • Yes flyteorg/flyte