Browse Source

Adding --cpuset-cpus tfb argument to set it on the server container (#9035)

Francesco Nigro 1 year ago
parent
commit
912ab8b306
3 changed files with 14 additions and 0 deletions
  1. 5 0
      toolset/run-tests.py
  2. 1 0
      toolset/utils/benchmark_config.py
  3. 8 0
      toolset/utils/docker_helper.py

+ 5 - 0
toolset/run-tests.py

@@ -67,6 +67,11 @@ def main(argv=None):
         ''')
         ''')
 
 
     # Suite options
     # Suite options
+    # CPU set  options
+    parser.add_argument(
+        '--cpuset-cpus',
+        default=None,
+        help='The cpu set to run framework container on')
     parser.add_argument(
     parser.add_argument(
         '--audit',
         '--audit',
         action='store_true',
         action='store_true',

+ 1 - 0
toolset/utils/benchmark_config.py

@@ -52,6 +52,7 @@ class BenchmarkConfig:
         self.database_docker_host = None
         self.database_docker_host = None
         self.client_docker_host = None
         self.client_docker_host = None
         self.network = None
         self.network = None
+        self.cpuset_cpus = args.cpuset_cpus
         self.test_container_memory = args.test_container_memory
         self.test_container_memory = args.test_container_memory
         self.extra_docker_runtime_args = args.extra_docker_runtime_args
         self.extra_docker_runtime_args = args.extra_docker_runtime_args
 
 

+ 8 - 0
toolset/utils/docker_helper.py

@@ -189,6 +189,13 @@ class DockerHelper:
                 'soft': 99
                 'soft': 99
             }]
             }]
 
 
+            cpuset_cpus = ''
+
+            if self.benchmarker.config.cpuset_cpus is not None:
+                    cpuset_cpus = self.benchmarker.config.cpuset_cpus
+
+            log("Running docker container with cpu set: %s" %cpuset_cpus)
+
             docker_cmd = ''
             docker_cmd = ''
             if hasattr(test, 'docker_cmd'):
             if hasattr(test, 'docker_cmd'):
                 docker_cmd = test.docker_cmd
                 docker_cmd = test.docker_cmd
@@ -235,6 +242,7 @@ class DockerHelper:
                 sysctls=sysctl,
                 sysctls=sysctl,
                 remove=True,
                 remove=True,
                 log_config={'type': None},
                 log_config={'type': None},
+                cpuset_cpus=cpuset_cpus,
                 **extra_docker_args
                 **extra_docker_args
                 )
                 )