Skip to content

Commit b89d398

Browse files
committed
ref(controller): implement suggestions to check the docker version
1 parent 380e1bf commit b89d398

4 files changed

Lines changed: 13 additions & 2 deletions

File tree

controller/deis/settings.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import os.path
77
import random
88
import string
9+
import semantic_version
910
import sys
1011
import tempfile
1112

@@ -340,3 +341,12 @@
340341
if os.path.exists('/templates/confd_settings.py'):
341342
sys.path.append('/templates')
342343
from confd_settings import * # noqa
344+
345+
346+
DOCKER_VERSION = os.environ.get('DOCKER_VERSION', '1.4.1')
347+
348+
DISABLE_SWAP = ""
349+
350+
if (semantic_version.validate(DOCKER_VERSION) and
351+
semantic_version.Version(DOCKER_VERSION) >= semantic_version.Version('1.5.0')):
352+
DISABLE_SWAP = "--memory-swap=-1"

controller/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ paramiko==1.15.2
1616
psycopg2==2.6
1717
python-etcd==0.3.2
1818
PyYAML==3.11
19+
semantic_version==2.3.1
1920
setproctitle==1.1.8
2021
static==1.1.1
2122
South==1.0.2

controller/scheduler/fleet.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ def _create_container(self, name, image, command, unit, **kwargs):
129129
# prepare memory limit for the container type
130130
mem = kwargs.get('memory', {}).get(l['c_type'], None)
131131
if mem:
132-
l.update({'memory': '-m {} --memory-swap=-1'.format(mem.lower())})
132+
l.update({'memory': '-m {} {} '.format(mem.lower(), settings.DISABLE_SWAP)})
133133
else:
134134
l.update({'memory': ''})
135135
# prepare memory limit for the container type

deisctl/units/deis-controller.service

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ EnvironmentFile=/etc/environment
88
TimeoutStartSec=20m
99
ExecStartPre=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/controller` && docker history $IMAGE >/dev/null 2>&1 || docker pull $IMAGE"
1010
ExecStartPre=/bin/sh -c "docker inspect deis-controller >/dev/null 2>&1 && docker rm -f deis-controller || true"
11-
ExecStart=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/controller` && docker run --name deis-controller --rm -p 8000:8000 -e EXTERNAL_PORT=8000 -e HOST=$COREOS_PRIVATE_IPV4 -v /var/run/fleet.sock:/var/run/fleet.sock -v /var/lib/deis/store:/data $IMAGE"
11+
ExecStart=/bin/sh -c "DOCKER_VERSION=`docker -v | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\).*$/\1/'` && IMAGE=`/run/deis/bin/get_image /deis/controller` && docker run --name deis-controller --rm -p 8000:8000 -e EXTERNAL_PORT=8000 -e HOST=$COREOS_PRIVATE_IPV4 -e DOCKER_VERSION=$DOCKER_VERSION -v /var/run/fleet.sock:/var/run/fleet.sock -v /var/lib/deis/store:/data $IMAGE"
1212
ExecStopPost=-/usr/bin/docker rm -f deis-controller
1313
Restart=on-failure
1414
RestartSec=5

0 commit comments

Comments
 (0)