aboutsummaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2019-01-28 13:51:41 +0000
committerPeter Mikus <pmikus@cisco.com>2019-01-28 13:54:54 +0000
commit81dc66a10a70bb606531523bab6ffe96621cc7d4 (patch)
treee9b73729bbecf1ca156ae32d86a9938844d8496b /resources
parenta8d3515144d3b83d390be864668c1648e948f107 (diff)
FIX: CPU util for NF
- Fix detecting total allocable CPUs for NFs Change-Id: If3345518befb887655d3e162551c49df3163ed92 Signed-off-by: Peter Mikus <pmikus@cisco.com> (cherry picked from commit 15648d7c4f98cc90a406519362b0d7f548893859)
Diffstat (limited to 'resources')
-rw-r--r--resources/libraries/python/CpuUtils.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/resources/libraries/python/CpuUtils.py b/resources/libraries/python/CpuUtils.py
index aa1bd79419..57bf7fdb71 100644
--- a/resources/libraries/python/CpuUtils.py
+++ b/resources/libraries/python/CpuUtils.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
@@ -268,7 +268,10 @@ class CpuUtils(object):
dt_req = ((kwargs['chains'] * kwargs['nodeness']) + kwargs['dtcr'] - 1)\
/ kwargs['dtcr']
- if kwargs['skip_cnt'] + mt_req + dt_req > cpu_list_len:
+ cpu_req = kwargs['skip_cnt'] + mt_req + dt_req
+ if smt_used and cpu_req > cpu_list_len / CpuUtils.NR_OF_THREADS:
+ raise RuntimeError("Not enough CPU cores available for placement!")
+ elif not smt_used and cpu_req > cpu_list_len:
raise RuntimeError("Not enough CPU cores available for placement!")
offset = (kwargs['node_id'] - 1) + (kwargs['chain_id'] - 1)\