TypeError in podman_compose.py container_to_args
Describe the bug Trying to use podman-compose to bring up a zabbix 6.4 setup as outlined https://www.zabbix.com/documentation/6.4/en/manual/installation/containers results in the following traceback:
$ podman-compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up
podman-compose version: 1.0.6
['podman', '--version', '']
using podman version: 4.4.1
** excluding: set()
['podman', 'ps', '--filter', 'label=io.podman.compose.project=zabbix-docker', '-a', '--format', '{{ index .Labels "io.podman.compose.config-hash"}}']
Traceback (most recent call last):
File "/home/jenkins/.local/bin/podman-compose", line 8, in <module>
sys.exit(main())
File "/home/jenkins/.local/lib/python3.9/site-packages/podman_compose.py", line 2941, in main
podman_compose.run()
File "/home/jenkins/.local/lib/python3.9/site-packages/podman_compose.py", line 1423, in run
cmd(self, args)
File "/home/jenkins/.local/lib/python3.9/site-packages/podman_compose.py", line 1754, in wrapped
return func(*args, **kw)
File "/home/jenkins/.local/lib/python3.9/site-packages/podman_compose.py", line 2067, in compose_up
podman_args = container_to_args(compose, cnt, detached=args.detach)
File "/home/jenkins/.local/lib/python3.9/site-packages/podman_compose.py", line 890, in container_to_args
i = os.path.realpath(os.path.join(dirname, i))
File "/usr/lib64/python3.9/posixpath.py", line 90, in join
genericpath._check_arg_types('join', a, *p)
File "/usr/lib64/python3.9/genericpath.py", line 152, in _check_arg_types
raise TypeError(f'{funcname}() argument must be str, bytes, or '
TypeError: join() argument must be str, bytes, or os.PathLike object, not 'dict'
To Reproduce Steps to reproduce the behavior (following the instructions outlined on the Zabbix documentation https://www.zabbix.com/documentation/6.4/en/manual/installation/containers):
git clone https://github.com/zabbix/zabbix-docker.gitgit checkout 6.4podman-compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up
Expected behavior podman-compose should (in default cases) work as a replacement for docker-compose
Actual behavior The command fails with the aforementioned trackback.
Output
$ podman-compose version
podman-compose version: 1.0.6
['podman', '--version', '']
using podman version: 4.4.1
podman-compose version 1.0.6
podman --version
podman version 4.4.1
exit code: 0
Environment:
- OS: Red Hat Enterprise Linux release 9.2 (Plow)
- podman version: 4.4.1
- podman compose version: 1.0.6 retrieved via pip3 as instructed in the manual
I think this required makes a problem. I was commented it and its works. But should be works out of the box
Update compose_zabbix_components and compose_databases files and comment this "required"
- path: ${ENV_VARS_DIRECTORY}/.env_prx_mysql_override
# required: false