This is an automated email from the ASF dual-hosted git repository.

bmahler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git


The following commit(s) were added to refs/heads/master by this push:
     new 9e0a37dbb [cgroups2] Fix cgroups isolator test for RevocableCpu.
9e0a37dbb is described below

commit 9e0a37dbbadaa4e99a213b5bc0790a7ccfabeda5
Author: None <None>
AuthorDate: Thu May 16 15:51:25 2024 -0400

    [cgroups2] Fix cgroups isolator test for RevocableCpu.
    
    This patch fixes the RevocableCpu test for cgroups2
    by conditionally skipping the hierarchy check which
    is only relevant to cgroups1 systems.
    
    Review: https://reviews.apache.org/r/74994/
---
 src/tests/containerizer/cgroups_isolator_tests.cpp | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/tests/containerizer/cgroups_isolator_tests.cpp 
b/src/tests/containerizer/cgroups_isolator_tests.cpp
index 01e410a94..6a0443404 100644
--- a/src/tests/containerizer/cgroups_isolator_tests.cpp
+++ b/src/tests/containerizer/cgroups_isolator_tests.cpp
@@ -32,6 +32,9 @@
 #include "slave/containerizer/mesos/containerizer.hpp"
 #include "slave/containerizer/mesos/paths.hpp"
 
+#include "linux/cgroups2.hpp"
+
+#include "slave/containerizer/mesos/isolators/cgroups2/constants.hpp"
 #include "slave/containerizer/mesos/isolators/cgroups/constants.hpp"
 #include "slave/containerizer/mesos/isolators/cgroups/subsystems/net_cls.hpp"
 
@@ -60,6 +63,7 @@ using mesos::internal::slave::CPU_SHARES_PER_CPU_REVOCABLE;
 using mesos::internal::slave::CPU_CFS_PERIOD;
 using mesos::internal::slave::DEFAULT_EXECUTOR_CPUS;
 using mesos::internal::slave::DEFAULT_EXECUTOR_MEM;
+using mesos::internal::slave::CGROUPS2_CPU_WEIGHT_PER_CPU_REVOCABLE;
 
 using mesos::internal::slave::Containerizer;
 using mesos::internal::slave::Fetcher;
@@ -371,15 +375,21 @@ TEST_F(CgroupsIsolatorTest, ROOT_CGROUPS_RevocableCpu)
 
   ContainerID containerId = *(containers->begin());
 
-  Result<string> cpuHierarchy = cgroups::hierarchy("cpu");
-  ASSERT_SOME(cpuHierarchy);
-
   string cpuCgroup = path::join(flags.cgroups_root, containerId.value());
 
   double totalCpus = cpus.cpus().get() + DEFAULT_EXECUTOR_CPUS;
+#ifdef ENABLE_CGROUPS_V2
+  EXPECT_SOME_EQ(
+      static_cast<uint64_t>(CGROUPS2_CPU_WEIGHT_PER_CPU_REVOCABLE * totalCpus),
+      cgroups2::cpu::weight(cpuCgroup));
+#else
+  Result<string> cpuHierarchy = cgroups::hierarchy("cpu");
+  ASSERT_SOME(cpuHierarchy);
+
   EXPECT_SOME_EQ(
       CPU_SHARES_PER_CPU_REVOCABLE * totalCpus,
       cgroups::cpu::shares(cpuHierarchy.get(), cpuCgroup));
+#endif // ENABLE_CGROUPS_V2
 
   driver.stop();
   driver.join();

Reply via email to