podman-compose icon indicating copy to clipboard operation
podman-compose copied to clipboard

Fails to handle the `service_healthy` condition of a `depends_on` element

Open candleindark opened this issue 1 year ago • 2 comments

Describe the bug podman-compose fails to handle the service_healthy condition of a depends_on element.

To Reproduce Steps to reproduce the behavior:

  1. Create the following docker-compose.yml file
services:
  base:
    image: docker.io/debian
    command: [ "tail", "-f", "/dev/null" ]
    healthcheck:
      test: [ "CMD", "false" ]
      interval: 30s
      timeout: 30s
      retries: 3
      start_period: 1m

  dependent:
    image: docker.io/debian
    depends_on:
      base:
        condition: service_healthy
    command: [ "tail", "-f", "/dev/null" ]
  1. Run podman-compose -f docker-compose.yml up -d in the containing directory

Expected behavior The container corresponding to the dependent service never starts since the base can never be healthy.

Actual behavior The container corresponding to the dependent service always starts.

Output

podman-compose version
podman-compose version: 1.0.6
['podman', '--version', '']
using podman version: 4.3.1
podman-compose version 1.0.6
podman --version 
podman version 4.3.1
exit code: 0

Environment:

  • OS: Debian GNU/Linux 12 (bookworm)
  • podman version: 4.3.1
  • podman compose version: 1.0.6

candleindark avatar Mar 06 '24 21:03 candleindark

Could be a duplicate, as the correct implementation of healthchecks is actually a 5-year-old issue: https://github.com/containers/podman-compose/issues/23

pfeileon avatar Jul 15 '24 11:07 pfeileon

I am hitting now the same bug: I have a container that is supposed to start when 4 previous containers are up and healthy, and instead it starts right away :-/

flixman avatar Oct 07 '24 19:10 flixman