brainy-raincoat-7497
07/28/2025, 9:24 PMimages:
# Default image for the project
#default: <http://registry.gitlab.com/xx/xx/ns-devops/ns-uv-flytekit:1.1|registry.gitlab.com/xx/xx/ns-devops/ns-uv-flytekit:1.1>
default: ns-uv-flytekit:1.1
I have added ImageSpec
image_spec = ImageSpec(
name="ns-uv-flytekit:1.1", # default docker image name.
registry="<http://registry.gitlab.com/xxx/xxx/ns-devops|registry.gitlab.com/xxx/xxx/ns-devops>",
)
I ran my test with pyflyte run --remote workflow.py my_flow and failed
I also ran the test with image argument in pyflyte commandline:
pyflyte run --overwrite-cache --remote --image <http://registry.gitlab.com/xxx/xxxx/ns-devops/ns-uv-flytekit:1.1|registry.gitlab.com/xxx/xxxx/ns-devops/ns-uv-flytekit:1.1> imagespectest.py hello_world_workflow
I got the following error when used --image:
Running Execution on Remote.
Failed to check if the image exists with error:
400 Client Error for <http+docker://localhost/v1.51/distribution/registry.gitlab.com/xxx/xxx/ns-devops/ns-uv-flytekit:1.1:oFKBBBk_A__Q_dLWRnU4_A/json>: Bad Request ("invalid reference format")
Flytekit assumes the image <http://registry.gitlab.com/qvyon/gemini/ns-devops/ns-uv-flytekit:1.1:oFKBBBk_A__Q_dLWRnU4_A|registry.gitlab.com/qvyon/gemini/ns-devops/ns-uv-flytekit:1.1:oFKBBBk_A__Q_dLWRnU4_A> already exists.
when I ran without --image argument, but imagespec is passed thru container_image to task:
Running Execution on Remote.
Failed to check if the image exists with error:
400 Client Error for <http+docker://localhost/v1.51/distribution/registry.gitlab.com/xxx/xxx/ns-devops/ns-uv-flytekit:1.1:oFKBBBk_A__Q_dLWRnU4_A/json>: Bad Request ("invalid reference format")
Flytekit assumes the image <http://registry.gitlab.com/xxx/xxx/ns-devops/ns-uv-flytekit:1.1:oFKBBBk_A__Q_dLWRnU4_A|registry.gitlab.com/xxx/xxx/ns-devops/ns-uv-flytekit:1.1:oFKBBBk_A__Q_dLWRnU4_A> already exists.
and in console I see the following error for task:
containers with unready status: [aksmw88sq9ktbw6ztx6f-n0-0]|Failed to apply default image tag "<http://registry.gitlab.com/xx/xx/ns-devops/ns-uv-flytekit:1.1:oFKBBBk_A__Q_dLWRnU4_A|registry.gitlab.com/xx/xx/ns-devops/ns-uv-flytekit:1.1:oFKBBBk_A__Q_dLWRnU4_A>": couldn't parse image name "<http://registry.gitlab.com/xx/xx/ns-devops/ns-uv-flytekit:1.1:oFKBBBk_A__Q_dLWRnU4_A|registry.gitlab.com/xx/xx/ns-devops/ns-uv-flytekit:1.1:oFKBBBk_A__Q_dLWRnU4_A>": invalid reference format
Note that, I already logged into docker with docker login registry.gitlab.com. Can you please help me resolve the issue.
We are evaluating Flyte currently and would definitely help moving forward
I don't know how I canaverage-finland-92144
07/28/2025, 9:36 PMbrainy-raincoat-7497
07/28/2025, 10:40 PMechoing-account-76888
07/29/2025, 1:38 AM:
?
image_spec = ImageSpec(
name="ns-uv-flytekit", # without a colon
registry="<http://registry.gitlab.com/xxx/xxx/ns-devops|registry.gitlab.com/xxx/xxx/ns-devops>",
)
brainy-raincoat-7497
07/29/2025, 2:04 AMechoing-account-76888
07/29/2025, 2:29 AMbrainy-raincoat-7497
07/29/2025, 3:58 AMimage_spec = ImageSpec(
name="ns-uv-flytekit", # default docker image name.
registry="registry.gitlab.com/xxx/xxx/ns-devops",
)
I am still getting in vscode/terminal.
Running Execution on Remote.
Failed to check if the image exists with error:
Error while fetching server API version: ('Connection aborted.', PermissionError(13, 'Permission denied'))
Flytekit assumes the image registry.gitlab.com/xxx/xxx/ns-devops/ns-uv-flytekit:_fmlLE12TEtlftipywMtIA already exists.
From same terminal, I ran sudo docker pull registry.gitlab.com/xxx/xxx/ns-devops/ns-uv-flytekit and downloaded the image successfully.
Am I missing something in permissions or authentication in config-sandbox.yaml file or imagespec.echoing-account-76888
07/29/2025, 5:27 AMregistry_config
that points to the path to the docker config? Default path should be ~/.docker/config.json
image_spec = ImageSpec(
name="ns-uv-flytekit",
registry="<http://registry.gitlab.com/xxx/xxx/ns-devops|registry.gitlab.com/xxx/xxx/ns-devops>",
registry_config="~/.docker/config.json",
)
echoing-account-76888
07/29/2025, 5:37 AMbrainy-raincoat-7497
07/29/2025, 1:37 PMechoing-account-76888
07/30/2025, 1:16 AMechoing-account-76888
07/30/2025, 1:24 AMflytesnacks-development
if you are using the demo clusterbrainy-raincoat-7497
07/30/2025, 2:40 AM[1/1] currentAttempt done. Last Error: USER::Grace period [3m0s] exceeded|containers with unready status: [a7wldslj42wjx4wkrb5g-n0-0]|Back-off pulling image "<http://registry.gitlab.com/xxx/xxx/ns-devops/ns-uv-flytekit:_fmlLE12TEtlftipywMtIA|registry.gitlab.com/xxx/xxx/ns-devops/ns-uv-flytekit:_fmlLE12TEtlftipywMtIA>"
1. Are there time limits that we can configure, so that task won't bail out because image pull or push taking more time
2. We already have image ns-uv-flytekit:latest in our Gitlab Container Registry, but why did flyte built an image and pushed to our registry. My understand is that flyte will use the image I provided in ImageSpec. Also, how can we provide tag such as ns-uv-flytekit:latest or ns-uv-flytekit:1.1 in ImageSpec where latest or 1.1 are tags/versionbrainy-raincoat-7497
07/30/2025, 2:45 AMaverage-finland-92144
07/30/2025, 1:20 PMimage-pull-backoff-grace-period
to something higher than the default 3m
https://www.union.ai/docs/v1/flyte/deployment/configuration-reference/flytepropeller-config/#k8s-configk8spluginconfigechoing-account-76888
07/31/2025, 12:28 AMpackages
, which install the extra package to the image and this update the image. While the image is updated, flyte will try to re-build and push the new version to the registry you specifiedechoing-account-76888
07/31/2025, 12:31 AMechoing-account-76888
07/31/2025, 12:35 AMlocalhost:30000
if you are using the demo cluster), and provide the image you want to pull from in the base_image
In this case, after the new image with the scikit-learn installed, it is pushed to the localhost:30000
and can be reached by the pod
image_spec = ImageSpec(
base_image="<http://ghcr.io/machichima/flytekit-private-image:toozpo4nnklfydlkhs8seg|ghcr.io/machichima/flytekit-private-image:toozpo4nnklfydlkhs8seg>", # remote image you want to use
name="flytekit-private-image",
registry="localhost:30000", # use local registry instead of remote one
packages=["scikit-learn"],
)
brainy-raincoat-7497
08/04/2025, 1:57 AM[3/3] currentAttempt done. Last Error: SYSTEM::Pod failed. No message received from kubernetes.
[a7ddq9snckq4zl4g8lx7-n0-3] terminated with exit code (128). Reason [StartError]. Message:
failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "pyflyte-fast-execute": executable file not found in $PATH: unknown.
In this scenario I am using demo cluster. I even removed my code and just running tasks with print statements. Please advise on what am I doing wrong.
Here is my script:
from flytekit import task, workflow, FlyteDirectory, ImageSpec,dynamic
from flytekit.clis.sdk_in_container import pyflyte
import os
#<http://ghcr.io/flyteorg/flytekit:py3.11-1.10.2%7Cghcr.io/flyteorg/flytekit:py3.11-1.10.2>
image_spec = ImageSpec(
name="ns-uv-flytekit-slim", # default docker image name.
registry="localhost:30000",
tag_format="3.11",
)
@task(cache=True, cache_version="1.0",container_image=image_spec)
def clone_imagerepo()->str:
return 'clone_imagerepo'
@task
def sayhello(greet:str) -> str:
"""
A simple task that returns a greeting.
"""
return (f"{greet}")
@workflow
def hello_world_workflow() -> str:
clone_image=clone_imagerepo()
greeting = sayhello(clone_image)
return "wofkflow completed"
~
brainy-raincoat-7497
08/04/2025, 2:15 AMbrainy-raincoat-7497
08/04/2025, 5:33 PMbrainy-raincoat-7497
08/07/2025, 7:24 PMechoing-account-76888
08/08/2025, 12:12 AMbrainy-raincoat-7497
08/08/2025, 3:32 PMechoing-account-76888
08/09/2025, 12:48 AMechoing-account-76888
08/09/2025, 12:48 AM