* [spp] [PATCH] cli: fix TODOs in pri command
@ 2019-08-06 12:07 yasufum.o
0 siblings, 0 replies; only message in thread
From: yasufum.o @ 2019-08-06 12:07 UTC (permalink / raw)
To: spp, ferruh.yigit, yasufum.o
From: Yasufumi Ogawa <yasufum.o@gmail.com>
This update is to fix following TODOs in `commands/pri.py`. For second
one, add util method print_compl_warinig().
* Not accept if given sec ID is already used.
* Warn if enough number of empty lcores cannot be assinged.
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
---
src/cli/commands/pri.py | 16 +++++++++-------
src/cli/shell_lib/common.py | 11 +++++++++++
2 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/src/cli/commands/pri.py b/src/cli/commands/pri.py
index eb4d7d4..da5eca6 100644
--- a/src/cli/commands/pri.py
+++ b/src/cli/commands/pri.py
@@ -238,9 +238,6 @@ class SppPrimary(object):
if (tokens[2] in spp_common.SEC_TYPES) and \
(int(tokens[3])-1 in range(max_secondary)):
ptype = tokens[2]
-
- # TODO(yasufum) Not accept if given sec ID is already
- # used.
sid = tokens[3]
# Option of secondary ID is different between spp_nfv
@@ -290,21 +287,26 @@ class SppPrimary(object):
empty_lcores = self._get_empty_lcores()
empty_lcores = sum(empty_lcores, [])
+ # Check if enough number of lcores available.
+ if len(empty_lcores) < nof_slaves:
+ common.print_compl_warinig(
+ 'No available lcores remained!')
+ return []
+
if 'sec_m_lcore' in cli_config.keys():
master_lcore = cli_config['sec_m_lcore']['val']
else:
logger.error('Config "sec_m_lcore" is not defined!')
has_invalid_param = True
- # Decide lcore option based on configured number of
- # lcores.
+ # Decide lcore option based on configured number of lcores.
slave_lcores = []
for l in empty_lcores:
# Master lcore ID should be smaller than slaves.
if l > int(master_lcore):
slave_lcores.append(str(l))
- # TODO(yasufum) warn if enough number of empty
- # lcores cannot be assinged.
+
+ # Check if required number of lcores are found.
if len(slave_lcores) > (nof_slaves - 1):
break
diff --git a/src/cli/shell_lib/common.py b/src/cli/shell_lib/common.py
index ad34e56..b936348 100644
--- a/src/cli/shell_lib/common.py
+++ b/src/cli/shell_lib/common.py
@@ -282,3 +282,14 @@ def validate_config_val(key, val):
# No need to check others.
return True
+
+
+def print_compl_warinig(msg):
+ """Print warning message for completion.
+
+ Printing message while complition disturbs user's input, but it should be
+ printed in some error cases. This method is just for printing warning
+ message simply.
+ """
+
+ print('// WARN: {msg}'.format(msg=msg))
--
2.17.1
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-08-06 12:07 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-06 12:07 [spp] [PATCH] cli: fix TODOs in pri command yasufum.o
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).