mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bernd Mathiske (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (MESOS-3978) Missing support for cpu.cfs_quota_us breaks test suite.
Date Mon, 23 Nov 2015 15:52:11 GMT

     [ https://issues.apache.org/jira/browse/MESOS-3978?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Bernd Mathiske updated MESOS-3978:
----------------------------------
    Sprint: Mesosphere Sprint 23

> 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
>            Assignee: Till Toenshoff
>              Labels: mesosphere
>
> {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)

Mime
View raw message