Uploaded image for project: 'Serverless logic'
  1. Serverless logic
  2. SRVLOGIC-609

kn workflow plugin fails to run the project when podman-docker is used

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • 1.38.0
    • 1.36.0
    • Cloud:CLI
    • None
    • False
    • Hide

      None

      Show
      None
    • False

      Summary


       

      When you use podman-docker that is emulating docker via podman CLI. Kn workflow plugin behaves as the docker is installed and uses its docker path to spin up the container instead of podman path. This is likely caused by the CLIs use of github.com/docker/docker/client library that is not able to distinquish this as it uses the client.FromEnv option makes the library check the DOCKER_HOST environment variable that will be set when your local installation is podman-docker based.

      When running the command:

      kn workflow run

       

      The container never gets created and an the creation times out with on the one unexpected entry in logs:

      ✅ Checking if Docker is available...
       - Docker is running
      ⏳ Starting your SonataFlow project in dev mode...
      🔎 Warming up SonataFlow containers (registry.redhat.io/openshift-serverless-1/logic-swf-devmode-rhel8:1.36.0), this could take some time...Created container with ID 59a75080ec4d2733f3934d3e0086d27fce56ab993cd7c1be3f755dbb0f279430
      ⏳ Starting your container and SonataFlow project...
      find: ‘./src/main/resources’: Permission denied <--- ERROR, Unexpected
       

       

       

      Environment


      Fedora 41, podman-docker-5:5.4.0-1.fc41.noarch installed using DNF

       

      Steps to reproduce


       

      1. Install podman-docker using DNF - sudo dnf install podman-docker
      2. Run - kn workflow create
      3. Run - cd new-project
      4. Run - kn workflow run

       

       

      Actual results


       

      ✅ Checking if Docker is available...
       - Docker is running
      ⏳ Starting your SonataFlow project in dev mode...
      🔎 Warming up SonataFlow containers (registry.redhat.io/openshift-serverless-1/logic-swf-devmode-rhel8:1.36.0), this could take some time...Created container with ID 59a75080ec4d2733f3934d3e0086d27fce56ab993cd7c1be3f755dbb0f279430
      ⏳ Starting your container and SonataFlow project...
      find: ‘./src/main/resources’: Permission denied 

       

      Expected results


       

       

      No permission denied to `./src/main/resources`

      • CLI uses podman path when `podman-docker` is installed
      • CLI correctly determines it is using podman
      • (optional) consider that we could also fix this by adding `--container-runner=podman|docker` as a flag to CLI features

      Workaround


      When using podman-docker unset the DOCKER_HOST variable.
      Use regular installation of podman.
      User regular installation of docker.

      Testing


      This was found during test day after I have migrated to new laptop and our department was told to not use docker and I set up podman-docker. QE deems this as low prio as we have our testing images for OS machine setup either with docker or podman and creating new one for podman-docker would not be trivial and the value brought is low compared to costs.

              dtikhomi@redhat.com Dmitrii Tikhomirov
              dhanak@redhat.com Dominik Hanak
              Dominik Hanak Dominik Hanak
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: