FIX: CPU util for NF 18/17118/1
authorPeter Mikus <pmikus@cisco.com>
Mon, 28 Jan 2019 13:51:41 +0000 (13:51 +0000)
committerPeter Mikus <pmikus@cisco.com>
Mon, 28 Jan 2019 13:51:41 +0000 (13:51 +0000)
- Fix detecting total allocable CPUs for NFs

Change-Id: If3345518befb887655d3e162551c49df3163ed92
Signed-off-by: Peter Mikus <pmikus@cisco.com>
resources/libraries/python/CpuUtils.py
tests/vpp/perf/vm_vhost/2n-10ge2p1x710-eth-l2bd-32vhost-4chain-16vm-l3fwdip4-ndrpdr.robot

index aa1bd79..57bf7fd 100644 (file)
@@ -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:
 # 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']
 
         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)\
             raise RuntimeError("Not enough CPU cores available for placement!")
 
         offset = (kwargs['node_id'] - 1) + (kwargs['chain_id'] - 1)\
index 88fe685..259eb17 100644 (file)
@@ -57,7 +57,7 @@
 # X710 bandwidth limit
 | ${s_limit}= | ${10000000000}
 # Traffic profile:
 # X710 bandwidth limit
 | ${s_limit}= | ${10000000000}
 # Traffic profile:
-| ${traffic_profile}= | trex-sl-2n3n-ethip4-ip4src254-4c16n
+| ${traffic_profile}= | trex-sl-2n3n-ethip4-ip4src254-4c4n
 
 *** Keywords ***
 | Local Template
 
 *** Keywords ***
 | Local Template