Skip to content
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

[Setup]: Nuclio with podman #2969

Open
1 task done
Noklm opened this issue Jul 10, 2023 · 2 comments
Open
1 task done

[Setup]: Nuclio with podman #2969

Noklm opened this issue Jul 10, 2023 · 2 comments

Comments

@Noklm
Copy link

Noklm commented Jul 10, 2023

Setup check

Setup Method

Docker

Kubernetes Cluster Type

N/A - Docker

Nuclio Version

1.8.14

Issue Description

I follow the CVAT tutorial with nuclio to do automatic annotation.

I need to use podman and not docker, that's why I've bind the podman socket on docker one in the docker compose as the image below:

Capture d’écran du 2023-07-10 16-59-59

I also use docker-compose with podman (version 4.5.1). All containers are up. I had successfully install the nuctl version 1.8.14 corresponding to the nuclio dashboard container. And at this stage all is working well, nuctl and the nuclio dashboard communicate without problem.

But when I try deploying a function like
./nuctl-1.8.14-linux-amd64 deploy helloworld -n nuclio --verbose -p https://raw.githubusercontent.com/nuclio/nuclio/master/hack/examples/golang/helloworld/helloworld.go --platform local
Error in volume mount occurs:

Error - exit status 125
    /nuclio/pkg/cmdrunner/shellrunner.go:96

Call stack:
stdout:
Error: incorrect mount format: should be --mount type=<bind|tmpfs|volume>,[src=<host-dir|volume-name>,]target=<ctr-dir>[,options]

stderr:

    /nuclio/pkg/cmdrunner/shellrunner.go:96
Failed to write a processor configuration to a volume
    /nuclio/pkg/platform/local/platform.go:1217
Failed to prepare a function's volume mount
    /nuclio/pkg/platform/local/platform.go:937
Failed to resolve and create function mounts
    /nuclio/pkg/platform/local/platform.go:805
Failed to deploy function
    ...//nuclio/pkg/platform/abstract/platform.go:197

Coming from this command from nuclio (I've shortened it for better visibility):

23.07.10 16:10:58.016 tl.platform.docker.runner (D) Executing {"command": "docker run -d --rm --mount source=nuclio-nuclio-helloworld,destination=/etc/nuclio/config/processor gcr.io/iguazio/alpine:3.15 sh -c 'echo \"UGxhdGZvc ... R0cAo=\" | base64 -d | install -m 777 /dev/stdin /etc/nuclio/config/processor/processor.yaml'"}

The problem is coming from podman because we need to pass the type arg in --mount.

Is there a possibility to force adding the "type" in the --mount argument in nuclio at this stage. Via a configuration file maybe? I don't see anything about that.

Thank you

Setup Logs

Replace this line with the setup logs.

Additional Information

No response

@TomerShor
Copy link
Contributor

Hey @Nokalm ,
Currently Nuclio doesn't support setting a custom mount type.
By default, when the type option is not given in the --mount, it is using the bind type.

We can maybe set the type to be configurable per-function, as the framework is already there.
However, the timeline for this depends on our roadmap.. You are more than welcome to create a fix for this if you'd like, or wait for the next version.

@Noklm
Copy link
Author

Noklm commented Jul 16, 2023

Thank you @TomerShor ,
I'll see to create the fix and send it to you.

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

No branches or pull requests

2 participants