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:
aiordache 2020-12-01 16:46:29 +01:00 committed by Ulysses Souza
parent 8f2dbd9b12
commit 21c07bd76c
3 changed files with 3 additions and 33 deletions

View File

@ -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)
)

View File

@ -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'),

View File

@ -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(