Fix docker restart policy issue on docker engine 1.13

Docker v1.25 api now validates restart policies[0]

[0] https://github.com/docker/docker/blob/master/docs/api/version-history.md

Change-Id: Idc90cb99cf38ab1e637568ee5dbe5adcb2fa5b78
Closes-Bug: #1657946
(cherry picked from commit 69b985f1b62d3ca8bdce97c04c7ce761cb70261f)
This commit is contained in:
Jeffrey Zhang 2017-01-20 16:32:31 +08:00
parent 8157ba8b57
commit 54d0cdf33e
1 changed files with 10 additions and 5 deletions

View File

@ -475,11 +475,16 @@ class DockerWorker(object):
'volumes_from': self.params.get('volumes_from')
}
if self.params.get('restart_policy') in ['on-failure', 'always']:
options['restart_policy'] = {
'Name': self.params.get('restart_policy'),
'MaximumRetryCount': self.params.get('restart_retries')
}
if self.params.get('restart_policy') in ['on-failure',
'always',
'unless-stopped']:
policy = {'Name': self.params.get('restart_policy')}
# NOTE(Jeffrey4l): MaximumRetryCount is only needed for on-failure
# policy
if self.params.get('restart_policy') == 'on-failure':
retries = self.params.get('restart_retries')
policy['MaximumRetryCount'] = retries
options['restart_policy'] = policy
if binds:
options['binds'] = binds