I've looked everywhere and I can't find any information on what the minimum kernel requirements are for Nomad. I know that there aren't hard requirements but I'm referring to the req for features like cgroups. I'm thinking primarily about the Java driver and the exec driver. I know as far as the java driver is concerned, the documentation says:
On Linux, Nomad will attempt to use cgroups, namespaces, and chroot to isolate the resources of a process. If the Nomad agent is not running as root many of these mechanisms cannot be used.
As a baseline, the Java jars will be run inside a Java Virtual Machine, providing a minimum amount of isolation.
Since there's no option for the user to run under, I'm assuming that if nomad can't use cgroups, the java process is run as the same user as nomad (like the raw exec driver). I'm also assuming the same for the isolated exec. My understanding of cgroups is a little limited, but from what I've read they were introduced in kernel version 2.6.24, but have changed greatly since then.
I'm pushing to get approval for RHEL 7, but right now the only thing I have access to is RHEL 6.6, which uses an older kernel (~2.6.32). We were originally going to use docker, but without a newer kernel we can't. We'll have to use a combination of the java driver and one of the exec drivers (for the node frontend).
Does nomad support cgroups all the way back to 2.6.24, or is there a cutoff? Am I correct that without cgroups, the java driver will run as the user that nomad is running under? Will the isolated exec run without cgroups and gracefully degrade to just a chroot, or will it just fail? And if it will run, will it run as the nomad user as well?