mirror of https://github.com/ceph/ceph-ansible.git
ceph-volume: Set max open files limit on container
The ceph-volume lvm list command takes ages to complete when having
a lot of LV devices on containerized deployment.
For instance, with 25 OSDs on a node it takes 3 mins 44s to list the
OSD.
Adding the max open files limit to the container engine cli when
executing the ceph-volume command seems to improve a lot thee
execution time ~30s.
This was impacting the OSDs creation with ceph-volume (both filestore
and bluestore) when using multiple LV devices.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1702285
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit b987534881
)
pull/4144/head
parent
f29366b848
commit
f4212b20e5
|
@ -183,6 +183,7 @@ def container_exec(binary, container_image):
|
||||||
Build the docker CLI to run a command inside a container
|
Build the docker CLI to run a command inside a container
|
||||||
'''
|
'''
|
||||||
command_exec = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host',
|
command_exec = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host',
|
||||||
|
'--ulimit', 'nofile=1024:1024',
|
||||||
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
||||||
'-v', '/var/run/udev/:/var/run/udev/:z',
|
'-v', '/var/run/udev/:/var/run/udev/:z',
|
||||||
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z',
|
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z',
|
||||||
|
|
|
@ -40,6 +40,7 @@ class TestCephVolumeModule(object):
|
||||||
fake_binary = "ceph-volume"
|
fake_binary = "ceph-volume"
|
||||||
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
||||||
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
||||||
|
'--ulimit', 'nofile=1024:1024',
|
||||||
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
||||||
'-v', '/var/run/udev/:/var/run/udev/:z',
|
'-v', '/var/run/udev/:/var/run/udev/:z',
|
||||||
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
||||||
|
@ -56,6 +57,7 @@ class TestCephVolumeModule(object):
|
||||||
fake_module.params = {'data': '/dev/sda'}
|
fake_module.params = {'data': '/dev/sda'}
|
||||||
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
||||||
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
||||||
|
'--ulimit', 'nofile=1024:1024',
|
||||||
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
||||||
'-v', '/var/run/udev/:/var/run/udev/:z',
|
'-v', '/var/run/udev/:/var/run/udev/:z',
|
||||||
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
||||||
|
@ -124,6 +126,7 @@ class TestCephVolumeModule(object):
|
||||||
fake_module.params = {'cluster': 'ceph', 'data': '/dev/sda'}
|
fake_module.params = {'cluster': 'ceph', 'data': '/dev/sda'}
|
||||||
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
||||||
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
||||||
|
'--ulimit', 'nofile=1024:1024',
|
||||||
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
||||||
'-v', '/var/run/udev/:/var/run/udev/:z',
|
'-v', '/var/run/udev/:/var/run/udev/:z',
|
||||||
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
||||||
|
@ -151,6 +154,7 @@ class TestCephVolumeModule(object):
|
||||||
fake_action = "create"
|
fake_action = "create"
|
||||||
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
||||||
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
||||||
|
'--ulimit', 'nofile=1024:1024',
|
||||||
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
||||||
'-v', '/var/run/udev/:/var/run/udev/:z',
|
'-v', '/var/run/udev/:/var/run/udev/:z',
|
||||||
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
||||||
|
@ -199,6 +203,7 @@ class TestCephVolumeModule(object):
|
||||||
fake_action = "prepare"
|
fake_action = "prepare"
|
||||||
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
||||||
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
||||||
|
'--ulimit', 'nofile=1024:1024',
|
||||||
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
||||||
'-v', '/var/run/udev/:/var/run/udev/:z',
|
'-v', '/var/run/udev/:/var/run/udev/:z',
|
||||||
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
||||||
|
@ -248,6 +253,7 @@ class TestCephVolumeModule(object):
|
||||||
|
|
||||||
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
fake_container_image = "docker.io/ceph/daemon:latest-luminous"
|
||||||
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
expected_command_list = ['docker', 'run', '--rm', '--privileged', '--net=host', '--ipc=host', # noqa E501
|
||||||
|
'--ulimit', 'nofile=1024:1024',
|
||||||
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
'-v', '/run/lock/lvm:/run/lock/lvm:z',
|
||||||
'-v', '/var/run/udev/:/var/run/udev/:z',
|
'-v', '/var/run/udev/:/var/run/udev/:z',
|
||||||
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
'-v', '/dev:/dev', '-v', '/etc/ceph:/etc/ceph:z', # noqa E501
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
|
|
||||||
- name: set_fact docker_exec_start_osd
|
- name: set_fact docker_exec_start_osd
|
||||||
set_fact:
|
set_fact:
|
||||||
docker_exec_start_osd: "{{ 'docker run --rm --privileged=true -v /run/lvm/lvmetad.socket:/run/lvm/lvmetad.socket -v /var/run/udev/:/var/run/udev/:z -v /etc/ceph:/etc/ceph:z -v /dev:/dev --entrypoint=ceph-volume ' + ceph_docker_registry + '/' + ceph_docker_image + ':' + ceph_docker_image_tag if containerized_deployment else 'ceph-volume' }}"
|
docker_exec_start_osd: "{{ 'docker run --rm --ulimit nofile=1024:1024 --privileged=true -v /run/lvm/lvmetad.socket:/run/lvm/lvmetad.socket -v /var/run/udev/:/var/run/udev/:z -v /etc/ceph:/etc/ceph:z -v /dev:/dev --entrypoint=ceph-volume ' + ceph_docker_registry + '/' + ceph_docker_image + ':' + ceph_docker_image_tag if containerized_deployment else 'ceph-volume' }}"
|
||||||
|
|
||||||
- name: collect osd ids
|
- name: collect osd ids
|
||||||
shell: >
|
shell: >
|
||||||
|
|
Loading…
Reference in New Issue