Added merge for max_replicas_per_node

Signed-off-by: Kevin Clark <kclark@edustaff.org>
This commit is contained in:
Kevin Clark 2020-09-10 17:05:11 -04:00
parent b4a944c6cb
commit d811500fa0
2 changed files with 3 additions and 0 deletions

View File

@ -1114,6 +1114,7 @@ def merge_deploy(base, override):
md['resources'] = dict(resources_md)
if md.needs_merge('placement'):
placement_md = MergeDict(md.base.get('placement') or {}, md.override.get('placement') or {})
placement_md.merge_scalar('max_replicas_per_node')
placement_md.merge_field('constraints', merge_unique_items_lists, default=[])
placement_md.merge_field('preferences', merge_unique_objects_lists, default=[])
md['placement'] = dict(placement_md)

View File

@ -2543,6 +2543,7 @@ web:
'labels': ['com.docker.compose.a=1', 'com.docker.compose.b=2'],
'mode': 'replicated',
'placement': {
'max_replicas_per_node': 1,
'constraints': [
'node.role == manager', 'engine.labels.aws == true'
],
@ -2599,6 +2600,7 @@ web:
'com.docker.compose.c': '3'
},
'placement': {
'max_replicas_per_node': 1,
'constraints': [
'engine.labels.aws == true', 'engine.labels.dev == true',
'node.role == manager', 'node.role == worker'