Skip to content

Commit 71ae008

Browse files
committed
Fixup
Signed-off-by: Matthias Büchse <matthias.buechse@alasca.cloud>
1 parent b79b074 commit 71ae008

1 file changed

Lines changed: 13 additions & 30 deletions

File tree

Tests/iaas/scs_0100_flavor_naming/flavor_names_check.py

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
logger = logging.getLogger(__name__)
1010

1111

12-
TESTCASES = ('scs-0100-syntax-check', 'scs-0100-semantics-check', 'flavor-name-check')
1312
STRATEGY = flavor_names.ParsingStrategy(
1413
vstr='v3',
1514
parsers=(flavor_names.parser_v3, ),
@@ -32,25 +31,14 @@ def compute_scs_flavors(flavors: typing.List[openstack.compute.v2.flavor.Flavor]
3231
try:
3332
flavorname = parser(flv.name)
3433
except ValueError as exc:
35-
logger.info(f"error parsing {flv.name}: {exc}")
36-
flavorname = None
34+
flavorname = f"error parsing {flv.name}: {exc}"
3735
result.append((flv, flavorname))
3836
return result
3937

4038

41-
def _log_errors(cause, names):
42-
"""helper to construct result for testcase"""
43-
if not names:
44-
return []
45-
message = f"{cause} with flavor(s): {', '.join(sorted(names))}"
46-
logger.error(message)
47-
return message
48-
49-
5039
def compute_scs_0100_syntax_check(scs_flavors: list) -> bool:
5140
"""This test ensures that each SCS flavor is indeed named correctly."""
52-
problems = [flv.name for flv, flavorname in scs_flavors if not flavorname]
53-
return _log_errors('syntax problems', problems)
41+
return [flavorname for _, flavorname in scs_flavors if isinstance(flavorname, str)]
5442

5543

5644
def compute_scs_0100_semantics_check(scs_flavors: list) -> bool:
@@ -61,36 +49,31 @@ def compute_scs_0100_semantics_check(scs_flavors: list) -> bool:
6149
NOTE that this test is incomplete; it only checks the most obvious properties.
6250
See also <https://github.com/SovereignCloudStack/standards/issues/554>.
6351
"""
64-
problems = set()
52+
problems = []
6553
for flv, flavorname in scs_flavors:
66-
if not flavorname:
54+
if isinstance(flavorname, str):
6755
continue # this case is handled by syntax check
6856
cpuram = flavorname.cpuram
6957
if flv.vcpus < cpuram.cpus:
70-
logger.error(f"Flavor {flv.name} CPU overpromise: {flv.vcpus} < {cpuram.cpus}")
71-
problems.add(flv.name)
58+
problems.append(f"CPU overpromise for {flv.name!r}: {flv.vcpus} < {cpuram.cpus}")
7259
elif flv.vcpus > cpuram.cpus:
73-
logger.info(f"Flavor {flv.name} CPU underpromise: {flv.vcpus} > {cpuram.cpus}")
60+
logger.info(f"CPU underpromise for {flv.name!r}: {flv.vcpus} > {cpuram.cpus}")
7461
# RAM
7562
flvram = int((flv.ram + 51) / 102.4) / 10
7663
# Warn for strange sizes (want integer numbers, half allowed for < 10GiB)
7764
if flvram >= 10 and flvram != int(flvram) or flvram * 2 != int(flvram * 2):
78-
logger.info(f"Flavor {flv.name} uses discouraged uneven size of memory {flvram:.1f} GiB")
65+
logger.info(f"Discouraged uneven size of memory for {flv.name!r}: {flvram:.1f} GiB")
7966
if flvram < cpuram.ram:
80-
logger.error(f"Flavor {flv.name} RAM overpromise {flvram:.1f} < {cpuram.ram:.1f}")
81-
problems.add(flv.name)
67+
problems.append(f"RAM overpromise for {flv.name!r}: {flvram:.1f} < {cpuram.ram:.1f}")
8268
elif flvram > cpuram.ram:
83-
logger.info(f"Flavor {flv.name} RAM underpromise {flvram:.1f} > {cpuram.ram:.1f}")
69+
logger.info(f"RAM underpromise for {flv.name!r}: {flvram:.1f} > {cpuram.ram:.1f}")
8470
# Disk could have been omitted
8571
disksize = flavorname.disk.disksize if flavorname.disk else 0
8672
# We have a recommendation for disk size steps
8773
if disksize not in ACC_DISK:
88-
logger.info(f"Flavor {flv.name} non-standard disk size {disksize}, should have (5, 10, 20, 50, 100, 200, ...)")
74+
logger.info(f"Non-standard disk size for {flv.name!r}: {disksize} not in (5, 10, 20, 50, 100, 200, ...)")
8975
if flv.disk < disksize:
90-
logger.error(f"Flavor {flv.name} disk overpromise {flv.disk} < {disksize}")
91-
problems.add(flv.name)
76+
problems.append(f"Disk overpromise for {flv.name!r}: {flv.disk} < {disksize}")
9277
elif flv.disk > disksize:
93-
logger.info(f"Flavor {flv.name} disk underpromise {flv.disk} > {disksize}")
94-
if problems:
95-
logger.error(f"scs-100-semantics-check: flavor(s) failed: {', '.join(sorted(problems))}")
96-
return not problems
78+
logger.info(f"Disk underpromise for {flv.name!r}: {flv.disk} > {disksize}")
79+
return problems

0 commit comments

Comments
 (0)