diff options
Diffstat (limited to 'docker/models/services.py')
| -rw-r--r-- | docker/models/services.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/docker/models/services.py b/docker/models/services.py index 6fc5c2a..009e455 100644 --- a/docker/models/services.py +++ b/docker/models/services.py @@ -251,6 +251,7 @@ CONTAINER_SPEC_KWARGS = [ # kwargs to copy straight over to TaskTemplate TASK_TEMPLATE_KWARGS = [ + 'networks', 'resources', 'restart_policy', ] @@ -261,7 +262,6 @@ CREATE_SERVICE_KWARGS = [ 'labels', 'mode', 'update_config', - 'networks', 'endpoint_spec', ] @@ -295,6 +295,15 @@ def _get_create_service_kwargs(func_name, kwargs): 'Options': kwargs.pop('log_driver_options', {}) } + if func_name == 'update': + if 'force_update' in kwargs: + task_template_kwargs['force_update'] = kwargs.pop('force_update') + + # fetch the current spec by default if updating the service + # through the model + fetch_current_spec = kwargs.pop('fetch_current_spec', True) + create_kwargs['fetch_current_spec'] = fetch_current_spec + # All kwargs should have been consumed by this point, so raise # error if any are left if kwargs: |
