Till Toenshoff created MESOS-3978:
-------------------------------------

             Summary: 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.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}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to