Fix ipc_mode comparison in the latest docker
In old docker, if you do not specify ipc_mode, the default value is empty, but in the latest docker, such as 17.09.0, if not specified, the default is "IpcMode": "shareable", which will cause all containers to be deleted and re-create when to redeploy or upgrade. This commit solves the problem. Change-Id: Ia8269b9c8066880e4aee23d6fdea8d9c04c41e44 Closes-Bug: #1747586
This commit is contained in:
parent
0f2d547b2c
commit
193ce726c2
@ -310,8 +310,10 @@ class DockerWorker(object):
|
||||
if not current_ipc_mode:
|
||||
current_ipc_mode = None
|
||||
|
||||
if new_ipc_mode != current_ipc_mode:
|
||||
# only check IPC mode if it is specified
|
||||
if new_ipc_mode is not None and new_ipc_mode != current_ipc_mode:
|
||||
return True
|
||||
return False
|
||||
|
||||
def compare_cap_add(self, container_info):
|
||||
new_cap_add = self.params.get('cap_add', list())
|
||||
@ -744,7 +746,10 @@ def generate_module():
|
||||
name=dict(required=False, type='str'),
|
||||
environment=dict(required=False, type='dict'),
|
||||
image=dict(required=False, type='str'),
|
||||
ipc_mode=dict(required=False, type='str', choices=['host', '']),
|
||||
ipc_mode=dict(required=False, type='str', choices=['',
|
||||
'host',
|
||||
'private',
|
||||
'shareable']),
|
||||
cap_add=dict(required=False, type='list', default=list()),
|
||||
security_opt=dict(required=False, type='list', default=list()),
|
||||
pid_mode=dict(required=False, type='str', choices=['host', '']),
|
||||
|
@ -57,7 +57,10 @@ class ModuleArgsTest(base.BaseTestCase):
|
||||
name=dict(required=False, type='str'),
|
||||
environment=dict(required=False, type='dict'),
|
||||
image=dict(required=False, type='str'),
|
||||
ipc_mode=dict(required=False, type='str', choices=['host', '']),
|
||||
ipc_mode=dict(required=False, type='str', choices=['',
|
||||
'host',
|
||||
'private',
|
||||
'shareable']),
|
||||
cap_add=dict(required=False, type='list', default=list()),
|
||||
security_opt=dict(required=False, type='list', default=list()),
|
||||
pid_mode=dict(required=False, type='str', choices=['host', '']),
|
||||
|
Loading…
Reference in New Issue
Block a user