Set the API version when checking differences in containers and use this to determine the location of the Memory value depending on the version used.

In v1.18 and earlier it was ['Config']['Memory'], but in v1.19 it
changed to ['HostConfig']['Memory'].
This commit is contained in:
Micheal Waltz 2015-07-23 11:34:33 -07:00 committed by Matt Clay
parent 167e940e78
commit af5e402b87

View file

@ -970,6 +970,9 @@ class DockerManager(object):
running = self.get_running_containers()
current = self.get_inspect_containers(running)
#Get API version
api_version = self.client.version()['ApiVersion']
image = self.get_inspect_image()
if image is None:
# The image isn't present. Assume that we're about to pull a new
@ -1038,6 +1041,10 @@ class DockerManager(object):
actual_mem = container['HostConfig']['Memory']
#Use v1.18 API and earlier Memory element location
if docker_api_version <= 1.18:
actual_mem = container['Config']['Memory']
if expected_mem and actual_mem != expected_mem:
self.reload_reasons.append('memory ({0} => {1})'.format(actual_mem, expected_mem))
differing.append(container)