Skip to content

Commit 53e4607

Browse files
author
Joan Fontanals
authored
feat: pass native in container runtime docker (#3200)
* feat: pass native in container runtime docker * test: add test native passed
1 parent 945adb8 commit 53e4607

File tree

2 files changed

+56
-0
lines changed

2 files changed

+56
-0
lines changed

jina/peapods/runtimes/container/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ def _docker_run(self, replay: bool = False):
158158
from ....parsers import set_pea_parser
159159

160160
self.args.runs_in_docker = True
161+
self.args.native = True
161162
non_defaults = ArgNamespace.get_non_defaults_args(
162163
self.args,
163164
set_pea_parser(),

tests/unit/peapods/runtimes/container/test_container_runtime.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,3 +391,58 @@ def test_gpu_container(
391391
assert device_requests[0]['DeviceIDs'] == expected_device
392392
assert device_requests[0]['Driver'] == expected_driver
393393
assert device_requests[0]['Capabilities'] == expected_capabilities
394+
395+
396+
def test_pass_native_arg(monkeypatch, mocker):
397+
import docker
398+
399+
mocker.patch(
400+
'jina.peapods.runtimes.container.ContainerRuntime.is_ready',
401+
return_value=True,
402+
)
403+
404+
class MockContainers:
405+
class MockContainer:
406+
def reload(self):
407+
pass
408+
409+
def logs(self, **kwargs):
410+
return []
411+
412+
def __init__(self):
413+
pass
414+
415+
def run(self, *args, **kwargs):
416+
assert '--native' in args[1]
417+
return MockContainers.MockContainer()
418+
419+
class MockClient:
420+
def __init__(self, *args, **kwargs):
421+
pass
422+
423+
def close(self):
424+
pass
425+
426+
def version(self):
427+
return {'Version': '20.0.1'}
428+
429+
@property
430+
def networks(self):
431+
return {'bridge': None}
432+
433+
@property
434+
def containers(self):
435+
return MockContainers()
436+
437+
@property
438+
def images(self):
439+
return {}
440+
441+
monkeypatch.setattr(docker, 'from_env', MockClient)
442+
args = set_pea_parser().parse_args(
443+
[
444+
'--uses',
445+
'docker://jinahub/pod',
446+
]
447+
)
448+
_ = ContainerRuntime(args, ctrl_addr='', ready_event=multiprocessing.Event())

0 commit comments

Comments
 (0)