Browse Source

Set ulimit for neutron agent containers

Neutron agents are using oslo-rootwrap-daemon to run
privileged commands. Containers inherit file descriptor
limit from docker daemon(currently:1048576) which is too
high and leading to performance issues. This patch set
nofile limit for neutron agent containers to 1024 which is
reasonable as before containers they were using host defaults
i.e 1024.

Depends-On: I0cfcf4e3e3e13578ec42e12f459732992fb3a760
Change-Id: Iec722cdfd7642ff3149f50d940d8079b9e1b7147
Related-Bug: #1760471
changes/68/559268/2
yatin 4 years ago
parent
commit
b77cce2ab8
  1. 6
      docker/docker-toool
  2. 1
      docker/services/neutron-dhcp.yaml
  3. 1
      docker/services/neutron-l3.yaml
  4. 1
      docker/services/neutron-ovs-agent.yaml

6
docker/docker-toool

@ -90,6 +90,7 @@ def docker_arg_map(key, value):
'pid': "--pid=%s" % value,
'privileged': "--privileged=%s" % value.lower(),
'user': "--user=%s" % value,
'ulimit': "--ulimit=%s" % value,
'volumes': "--volume=%s" % value,
'volumes_from': "--volumes-from=%s" % value,
}.get(key, None)
@ -124,6 +125,11 @@ def run_docker_container(opts, container_name):
arg = docker_arg_map("environment", env)
if arg:
cmd.append(arg)
elif container_data == "ulimit":
for limit in (json_data[step][container][container_data] or []):
arg = docker_arg_map("ulimit", limit)
if arg:
cmd.append(arg)
elif container_data == "volumes":
for volume in (json_data[step][container][container_data] or []):
arg = docker_arg_map("volumes", volume)

1
docker/services/neutron-dhcp.yaml

@ -126,6 +126,7 @@ outputs:
restart: always
healthcheck:
test: /openstack/healthcheck
ulimit: ['nofile=1024']
volumes:
list_concat:
- {get_attr: [ContainersCommon, volumes]}

1
docker/services/neutron-l3.yaml

@ -104,6 +104,7 @@ outputs:
restart: always
healthcheck:
test: /openstack/healthcheck
ulimit: ['nofile=1024']
volumes:
list_concat:
- {get_attr: [ContainersCommon, volumes]}

1
docker/services/neutron-ovs-agent.yaml

@ -148,6 +148,7 @@ outputs:
restart: always
healthcheck:
test: /openstack/healthcheck
ulimit: ['nofile=1024']
volumes:
list_concat:
- {get_attr: [ContainersCommon, volumes]}

Loading…
Cancel
Save