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();