rultor
rultor copied to clipboard
Rultor Needs to Allow Disabling Swapping for Containers
Rultor currently starts Docker containers with two somewhat tricky flags:
-
--memory-swap=16g
-
--oom-kill-disable
This creates almost impossible to debug situations in tests involving timeouts. Certain software e.g. ZooKeeper will bring a system to an almost standstill when swapping, but never actually kill the process requiring more than the available amount of physical memory.
--oom-kill-disable
is even worse creating situations where a container completely freezes without error when allocating too much memory, see here https://github.com/docker/docker/issues/14440 for the somewhat interesting details on this :)
At any rate, we cannot simply remove this behaviour, Rultor is often under heavy load ... turning it off in general would have builds fail all over the place. We should for the time being give the option to disable it for a build via the .rultor.yml
, simply so that builds heavily dependant in their behaviour on not swapping will rather die and at least create a controlled and understood situation.
Task requires:
- Adding an
allow-swapping
option to the.rultor.yml
- Set it to true per default and retain the old behaviour as a default
- If set to false the container needs to be started without the
--memory-swap=16g --oom-kill-disable
section of the docker run command in_head.sh
.
- Put a brief description of the feature in the Readme, explaining that test including timeouts and waits, that are unstable on Rultor should try tuning off swapping
@alex-palevsky this is a bug.
@alex-palevsky this is a bug.
@original-brownbear I added bug
tag to this ticket
@original-brownbear I added milestone 2.0
to this issue, let me know if there has to be something else
@original-brownbear thanks a lot for reporting, 30 mins added to your acc, pmt ID AP-7A52811671755653U
@alex-palevsky this is urgent.
@alex-palevsky this is urgent.
@original-brownbear sure, thanks, I added "urgent" label to it
@alex-palevsky assign someone to this issue please if possible.
@alex-palevsky assign someone to this issue please if possible.
@original-brownbear OK
@alex-palevsky I'm ready to take this.
@alex-palevsky this is not urgent, lets focus on ECS full force for now.
@alex-palevsky this is postponed, lets focus on ECS ...
@alex-palevsky this is not urgent, lets focus on ECS full force for now.
@original-brownbear thanks, I removed the "urgent" tag
@alex-palevsky this is postponed, lets focus on ECS ...
@original-brownbear thanks, I added "postponed" label
@alex-palevsky this is postponed, lets focus on ECS ...
@original-brownbear I will assign somebody else to this issue