mirror of
https://github.com/docker/compose.git
synced 2025-04-08 17:05:13 +02:00
Move device requests to service_dict to avoid adding another field to config hash
Signed-off-by: aiordache <anca.iordache@docker.com>
This commit is contained in:
parent
8f2dbd9b12
commit
21c07bd76c
@ -128,7 +128,7 @@ class Project:
|
||||
config_data.secrets)
|
||||
|
||||
service_dict['scale'] = project.get_service_scale(service_dict)
|
||||
device_requests = project.get_device_requests(service_dict)
|
||||
service_dict['device_requests'] = project.get_device_requests(service_dict)
|
||||
service_dict = translate_credential_spec_to_security_opt(service_dict)
|
||||
service_dict, ignored_keys = translate_deploy_keys_to_container_config(
|
||||
service_dict
|
||||
@ -154,7 +154,6 @@ class Project:
|
||||
ipc_mode=ipc_mode,
|
||||
platform=service_dict.pop('platform', None),
|
||||
default_platform=default_platform,
|
||||
device_requests=device_requests,
|
||||
extra_labels=extra_labels,
|
||||
**service_dict)
|
||||
)
|
||||
|
@ -181,7 +181,6 @@ class Service:
|
||||
pid_mode=None,
|
||||
default_platform=None,
|
||||
extra_labels=None,
|
||||
device_requests=None,
|
||||
**options
|
||||
):
|
||||
self.name = name
|
||||
@ -197,7 +196,6 @@ class Service:
|
||||
self.secrets = secrets or []
|
||||
self.scale_num = scale
|
||||
self.default_platform = default_platform
|
||||
self.device_requests = device_requests
|
||||
self.options = options
|
||||
self.extra_labels = extra_labels or []
|
||||
|
||||
@ -709,7 +707,7 @@ class Service:
|
||||
except NoSuchImageError:
|
||||
return None
|
||||
|
||||
c = {
|
||||
return {
|
||||
'options': self.options,
|
||||
'image_id': image_id(),
|
||||
'links': self.get_link_names(),
|
||||
@ -722,10 +720,6 @@ class Service:
|
||||
]
|
||||
}
|
||||
|
||||
if self.device_requests:
|
||||
c['devices'] = self.device_requests
|
||||
return c
|
||||
|
||||
def get_dependency_names(self):
|
||||
net_name = self.network_mode.service_name
|
||||
pid_namespace = self.pid_mode.service_name
|
||||
@ -1023,7 +1017,7 @@ class Service:
|
||||
privileged=options.get('privileged', False),
|
||||
network_mode=self.network_mode.mode,
|
||||
devices=options.get('devices'),
|
||||
device_requests=self.device_requests,
|
||||
device_requests=options.get('device_requests'),
|
||||
dns=options.get('dns'),
|
||||
dns_opt=options.get('dns_opt'),
|
||||
dns_search=options.get('dns_search'),
|
||||
|
@ -732,29 +732,6 @@ class ServiceTest(unittest.TestCase):
|
||||
}
|
||||
assert config_dict == expected
|
||||
|
||||
def test_config_dict_with_device_requests(self):
|
||||
self.mock_client.inspect_image.return_value = {'Id': 'abcd'}
|
||||
service = Service(
|
||||
'foo',
|
||||
image='example.com/foo',
|
||||
client=self.mock_client,
|
||||
network_mode=ServiceNetworkMode(Service('other')),
|
||||
networks={'default': None},
|
||||
device_requests=[{'driver': 'nvidia', 'device_ids': ['0'], 'capabilities': ['gpu']}])
|
||||
|
||||
config_dict = service.config_dict()
|
||||
expected = {
|
||||
'image_id': 'abcd',
|
||||
'options': {'image': 'example.com/foo'},
|
||||
'links': [],
|
||||
'net': 'other',
|
||||
'secrets': [],
|
||||
'networks': {'default': None},
|
||||
'volumes_from': [],
|
||||
'devices': [{'driver': 'nvidia', 'device_ids': ['0'], 'capabilities': ['gpu']}],
|
||||
}
|
||||
assert config_dict == expected
|
||||
|
||||
def test_config_hash_matches_label(self):
|
||||
self.mock_client.inspect_image.return_value = {'Id': 'abcd'}
|
||||
service = Service(
|
||||
|
Loading…
x
Reference in New Issue
Block a user