[
https://issues.apache.org/jira/browse/MESOS-3978?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Till Toenshoff updated MESOS-3978:
----------------------------------
Description:
{noformat}
[ RUN ] LimitedCpuIsolatorTest.ROOT_CGROUPS_Cfs
F1122 17:26:40.585412 23162 isolator_tests.cpp:455] CHECK_SOME(isolator):
Failed to find 'cpu.cfs_quota_us'. Your kernel might be too old to use the CFS
cgroups feature.
*** Check failure stack trace: ***
@ 0x7f81e3fc42ba google::LogMessage::Fail()
@ 0x7f81e3fc4216 google::LogMessage::SendToLog()
@ 0x7f81e3fc3c0c google::LogMessage::Flush()
@ 0x7f81e3fc69c6 google::LogMessageFatal::~LogMessageFatal()
@ 0x962139 _CheckFatal::~_CheckFatal()
@ 0x1305e48
mesos::internal::tests::LimitedCpuIsolatorTest_ROOT_CGROUPS_Cfs_Test::TestBody()
@ 0x1439638
testing::internal::HandleSehExceptionsInMethodIfSupported<>()
@ 0x1434544
testing::internal::HandleExceptionsInMethodIfSupported<>()
@ 0x1415883 testing::Test::Run()
@ 0x1416011 testing::TestInfo::Run()
@ 0x141664c testing::TestCase::Run()
@ 0x141cf9b testing::internal::UnitTestImpl::RunAllTests()
@ 0x143a2c7
testing::internal::HandleSehExceptionsInMethodIfSupported<>()
@ 0x14350d0
testing::internal::HandleExceptionsInMethodIfSupported<>()
@ 0x141bccb testing::UnitTest::Run()
@ 0xd324ac RUN_ALL_TESTS()
@ 0xd3208a main
@ 0x7f81dde20b45 (unknown)
@ 0x92ae59 (unknown)
{noformat}
This hints that our kernel does not support {{cpu.cfs_quota_us}}. For checking,
I simply did a:
{noformat}
$ ls -l /sys/fs/cgroup/cpu/cpu.*
-rw-r--r-- 1 root root 0 Nov 22 17:28 /sys/fs/cgroup/cpu/cpu.shares
{noformat}
So obviously this kernel won't support this feature as it is not listed. A
rather simple test in our test-suite could be used to dis/enable those tests.
{noformat}
$ ls -l /sys/fs/cgroup/cpu/cpu.cfs_quota_us
ls: cannot access /sys/fs/cgroup/cpu/cpu.cfs_quota_us: No such file or directory
$ echo $?
2
{noformat}
We should make sure that either the test itself does not break or that it is
excluded in the test-runs when the system does not support this feature.
Vagrant generator script used:
{noformat}
export VAGRANT_CPUS=8
export VAGRANT_MEM=16384
cat << EOF > Vagrantfile
# -*- mode: ruby -*-" >
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
# Disable shared folder to prevent certain kernel module dependencies.
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.hostname = "debian82"
config.vm.box = "bento/debian-8.2"
config.vm.provider "virtualbox" do |vb|
vb.memory = ENV['VAGRANT_MEM']
vb.cpus = ENV['VAGRANT_CPUS']
end
config.vm.provider "vmware_fusion" do |vb|
vb.memory = ENV['VAGRANT_MEM']
vb.cpus = ENV['VAGRANT_CPUS']
end
config.vm.provision "shell", inline: <<-SHELL
# Update the entire system.
sudo apt-get update
# Install Mesos dependecies.
sudo apt-get install -y openjdk-7-jdk autoconf libtool
sudo apt-get install -y build-essential python-dev python-boto
libcurl4-nss-dev libsasl2-dev maven libapr1-dev libsvn-dev
# Install latest Docker.
sudo wget -qO- https://get.docker.com/ | sh
# Enable memory and swap cgroups.
sudo echo "GRUB_CMDLINE_LINUX_DEFAULT=\"cgroup_enable=memory
swapaccount=1\"" >>/etc/default/grub
sudo grub-mkconfig -o /boot/grub/grub.cfg "$@"
SHELL
end
EOF
vagrant up
vagrant reload
vagrant ssh -c "
sudo docker info
git clone https://github.com/apache/mesos.git mesos
cd mesos
git checkout -b 0.26.0-rc1 0.26.0-rc1
./bootstrap
mkdir build
cd build
../configure --disable-java --disable-python
GTEST_FILTER="" make check -j$VAGRANT_CPUS
sudo ./bin/mesos-tests.sh
"
{noformat}
was:
{noformat}
[ RUN ] LimitedCpuIsolatorTest.ROOT_CGROUPS_Cfs
F1122 17:26:40.585412 23162 isolator_tests.cpp:455] CHECK_SOME(isolator):
Failed to find 'cpu.cfs_quota_us'. Your kernel might be too old to use the CFS
cgroups feature.
*** Check failure stack trace: ***
@ 0x7f81e3fc42ba google::LogMessage::Fail()
@ 0x7f81e3fc4216 google::LogMessage::SendToLog()
@ 0x7f81e3fc3c0c google::LogMessage::Flush()
@ 0x7f81e3fc69c6 google::LogMessageFatal::~LogMessageFatal()
@ 0x962139 _CheckFatal::~_CheckFatal()
@ 0x1305e48
mesos::internal::tests::LimitedCpuIsolatorTest_ROOT_CGROUPS_Cfs_Test::TestBody()
@ 0x1439638
testing::internal::HandleSehExceptionsInMethodIfSupported<>()
@ 0x1434544
testing::internal::HandleExceptionsInMethodIfSupported<>()
@ 0x1415883 testing::Test::Run()
@ 0x1416011 testing::TestInfo::Run()
@ 0x141664c testing::TestCase::Run()
@ 0x141cf9b testing::internal::UnitTestImpl::RunAllTests()
@ 0x143a2c7
testing::internal::HandleSehExceptionsInMethodIfSupported<>()
@ 0x14350d0
testing::internal::HandleExceptionsInMethodIfSupported<>()
@ 0x141bccb testing::UnitTest::Run()
@ 0xd324ac RUN_ALL_TESTS()
@ 0xd3208a main
@ 0x7f81dde20b45 (unknown)
@ 0x92ae59 (unknown)
{noformat}
This hints that our kernel does not support {{cpu.cfs_quota_us}}. For checking,
I simply did a:
{noformat}
$ ls -l /sys/fs/cgroup/cpu/cpu.cfs_quota_us
ls: cannot access /sys/fs/cgroup/cpu/cpu.cfs_quota_us: No such file or directory
{noformat}
We should make sure that either the test itself does not break or that it is
excluded in the test-runs when the system does not support this feature.
Vagrant generator script used:
{noformat}
export VAGRANT_CPUS=8
export VAGRANT_MEM=16384
cat << EOF > Vagrantfile
# -*- mode: ruby -*-" >
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
# Disable shared folder to prevent certain kernel module dependencies.
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.hostname = "debian82"
config.vm.box = "bento/debian-8.2"
config.vm.provider "virtualbox" do |vb|
vb.memory = ENV['VAGRANT_MEM']
vb.cpus = ENV['VAGRANT_CPUS']
end
config.vm.provider "vmware_fusion" do |vb|
vb.memory = ENV['VAGRANT_MEM']
vb.cpus = ENV['VAGRANT_CPUS']
end
config.vm.provision "shell", inline: <<-SHELL
# Update the entire system.
sudo apt-get update
# Install Mesos dependecies.
sudo apt-get install -y openjdk-7-jdk autoconf libtool
sudo apt-get install -y build-essential python-dev python-boto
libcurl4-nss-dev libsasl2-dev maven libapr1-dev libsvn-dev
# Install latest Docker.
sudo wget -qO- https://get.docker.com/ | sh
# Enable memory and swap cgroups.
sudo echo "GRUB_CMDLINE_LINUX_DEFAULT=\"cgroup_enable=memory
swapaccount=1\"" >>/etc/default/grub
sudo grub-mkconfig -o /boot/grub/grub.cfg "$@"
SHELL
end
EOF
vagrant up
vagrant reload
vagrant ssh -c "
sudo docker info
git clone https://github.com/apache/mesos.git mesos
cd mesos
git checkout -b 0.26.0-rc1 0.26.0-rc1
./bootstrap
mkdir build
cd build
../configure --disable-java --disable-python
GTEST_FILTER="" make check -j$VAGRANT_CPUS
sudo ./bin/mesos-tests.sh
"
{noformat}
> Missing support for cpu.cfs_quota_us breaks test suite.
> -------------------------------------------------------
>
> Key: MESOS-3978
> URL: https://issues.apache.org/jira/browse/MESOS-3978
> Project: Mesos
> Issue Type: Bug
> Environment: Debian 8, kernel 3.16.0-4-amd64, gcc 4.9.2
> Reporter: Till Toenshoff
>
> {noformat}
> [ RUN ] LimitedCpuIsolatorTest.ROOT_CGROUPS_Cfs
> F1122 17:26:40.585412 23162 isolator_tests.cpp:455] CHECK_SOME(isolator):
> Failed to find 'cpu.cfs_quota_us'. Your kernel might be too old to use the
> CFS cgroups feature.
> *** Check failure stack trace: ***
> @ 0x7f81e3fc42ba google::LogMessage::Fail()
> @ 0x7f81e3fc4216 google::LogMessage::SendToLog()
> @ 0x7f81e3fc3c0c google::LogMessage::Flush()
> @ 0x7f81e3fc69c6 google::LogMessageFatal::~LogMessageFatal()
> @ 0x962139 _CheckFatal::~_CheckFatal()
> @ 0x1305e48
> mesos::internal::tests::LimitedCpuIsolatorTest_ROOT_CGROUPS_Cfs_Test::TestBody()
> @ 0x1439638
> testing::internal::HandleSehExceptionsInMethodIfSupported<>()
> @ 0x1434544
> testing::internal::HandleExceptionsInMethodIfSupported<>()
> @ 0x1415883 testing::Test::Run()
> @ 0x1416011 testing::TestInfo::Run()
> @ 0x141664c testing::TestCase::Run()
> @ 0x141cf9b testing::internal::UnitTestImpl::RunAllTests()
> @ 0x143a2c7
> testing::internal::HandleSehExceptionsInMethodIfSupported<>()
> @ 0x14350d0
> testing::internal::HandleExceptionsInMethodIfSupported<>()
> @ 0x141bccb testing::UnitTest::Run()
> @ 0xd324ac RUN_ALL_TESTS()
> @ 0xd3208a main
> @ 0x7f81dde20b45 (unknown)
> @ 0x92ae59 (unknown)
> {noformat}
> This hints that our kernel does not support {{cpu.cfs_quota_us}}. For
> checking, I simply did a:
> {noformat}
> $ ls -l /sys/fs/cgroup/cpu/cpu.*
> -rw-r--r-- 1 root root 0 Nov 22 17:28 /sys/fs/cgroup/cpu/cpu.shares
> {noformat}
> So obviously this kernel won't support this feature as it is not listed. A
> rather simple test in our test-suite could be used to dis/enable those tests.
> {noformat}
> $ ls -l /sys/fs/cgroup/cpu/cpu.cfs_quota_us
> ls: cannot access /sys/fs/cgroup/cpu/cpu.cfs_quota_us: No such file or
> directory
> $ echo $?
> 2
> {noformat}
> We should make sure that either the test itself does not break or that it is
> excluded in the test-runs when the system does not support this feature.
> Vagrant generator script used:
> {noformat}
> export VAGRANT_CPUS=8
> export VAGRANT_MEM=16384
> cat << EOF > Vagrantfile
> # -*- mode: ruby -*-" >
> # vi: set ft=ruby :
> Vagrant.configure(2) do |config|
> # Disable shared folder to prevent certain kernel module dependencies.
> config.vm.synced_folder ".", "/vagrant", disabled: true
> config.vm.hostname = "debian82"
> config.vm.box = "bento/debian-8.2"
> config.vm.provider "virtualbox" do |vb|
> vb.memory = ENV['VAGRANT_MEM']
> vb.cpus = ENV['VAGRANT_CPUS']
> end
> config.vm.provider "vmware_fusion" do |vb|
> vb.memory = ENV['VAGRANT_MEM']
> vb.cpus = ENV['VAGRANT_CPUS']
> end
> config.vm.provision "shell", inline: <<-SHELL
> # Update the entire system.
> sudo apt-get update
> # Install Mesos dependecies.
> sudo apt-get install -y openjdk-7-jdk autoconf libtool
> sudo apt-get install -y build-essential python-dev python-boto
> libcurl4-nss-dev libsasl2-dev maven libapr1-dev libsvn-dev
> # Install latest Docker.
> sudo wget -qO- https://get.docker.com/ | sh
> # Enable memory and swap cgroups.
> sudo echo "GRUB_CMDLINE_LINUX_DEFAULT=\"cgroup_enable=memory
> swapaccount=1\"" >>/etc/default/grub
> sudo grub-mkconfig -o /boot/grub/grub.cfg "$@"
> SHELL
> end
> EOF
> vagrant up
> vagrant reload
> vagrant ssh -c "
> sudo docker info
> git clone https://github.com/apache/mesos.git mesos
> cd mesos
> git checkout -b 0.26.0-rc1 0.26.0-rc1
> ./bootstrap
> mkdir build
> cd build
> ../configure --disable-java --disable-python
> GTEST_FILTER="" make check -j$VAGRANT_CPUS
> sudo ./bin/mesos-tests.sh
> "
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)