Merge pull request #819 from p12tic/service-runtime

Add support for runtime service configuration key
This commit is contained in:
Povilas Kanapickas 2024-03-08 23:51:17 +02:00 committed by GitHub
commit 1ba1c364b9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 69 additions and 0 deletions

View File

@ -983,6 +983,8 @@ async def container_to_args(compose, cnt, detached=True):
platform = cnt.get("platform", None)
if platform is not None:
podman_args.extend(["--platform", platform])
if cnt.get("runtime", None):
podman_args.extend(["--runtime", cnt["runtime"]])
# WIP: healthchecks are still work in progress
healthcheck = cnt.get("healthcheck", None) or {}

View File

@ -0,0 +1,67 @@
# SPDX-License-Identifier: GPL-2.0
import unittest
from unittest import mock
from podman_compose import container_to_args
def create_compose_mock():
compose = mock.Mock()
compose.project_name = "test_project_name"
compose.dirname = "test_dirname"
compose.container_names_by_service.get = mock.Mock(return_value=None)
compose.prefer_volume_over_mount = False
compose.default_net = None
compose.networks = {}
return compose
def get_minimal_container():
return {
"name": "project_name_service_name1",
"service_name": "service_name",
"image": "busybox",
}
class TestContainerToArgs(unittest.TestCase):
async def test_minimal(self):
c = create_compose_mock()
cnt = get_minimal_container()
args = await container_to_args(c, cnt)
self.assertEqual(
args,
[
"--name=project_name_service_name1",
"-d",
"--net",
"",
"--network-alias",
"service_name",
"busybox",
],
)
async def test_runtime(self):
c = create_compose_mock()
cnt = get_minimal_container()
cnt["runtime"] = "runsc"
args = await container_to_args(c, cnt)
self.assertEqual(
args,
[
"--name=project_name_service_name1",
"-d",
"--net",
"",
"--network-alias",
"service_name",
"--runtime",
"runsc",
"busybox",
],
)