From 796e6a4473dc519d6ab65c7222743346de8be9f2 Mon Sep 17 00:00:00 2001 From: Enrico204 Date: Sat, 4 Apr 2020 23:09:37 +0200 Subject: [PATCH] Avoid crash when no services are defined If no services are defined, podman-compose crashes as services variable is None, while the expected behavior might be an error or the same as docker-compose, which will continue the execution of the compose file (eg. creating networks, etc). This commit fixes the crash and allows the program to continue, mimicking docker-compose behavior. --- podman_compose.py | 4 ++++ tests/no_services/docker-compose.yaml | 7 +++++++ 2 files changed, 11 insertions(+) create mode 100644 tests/no_services/docker-compose.yaml diff --git a/podman_compose.py b/podman_compose.py index 866a7e7..3b59858 100755 --- a/podman_compose.py +++ b/podman_compose.py @@ -828,6 +828,10 @@ class PodmanCompose: print(" ** merged:\n", json.dumps(compose, indent = 2)) ver = compose.get('version') services = compose.get('services') + if services is None: + services = {} + print("WARNING: No services defined") + # NOTE: maybe add "extends.service" to _deps at this stage flat_deps(services, with_extends=True) service_names = sorted([ (len(srv["_deps"]), name) for name, srv in services.items() ]) diff --git a/tests/no_services/docker-compose.yaml b/tests/no_services/docker-compose.yaml new file mode 100644 index 0000000..c5b0194 --- /dev/null +++ b/tests/no_services/docker-compose.yaml @@ -0,0 +1,7 @@ +version: '3' +networks: + shared-network: + driver: bridge + ipam: + config: + - subnet: 172.19.0.0/24