Skip to content

Commit 0389557

Browse files
committed
fix migration part II
1 parent f8cdc3a commit 0389557

2 files changed

Lines changed: 21 additions & 22 deletions

File tree

  • mkp/local/lib/python3

mkp/local/lib/python3/cmk/base/cee/plugins/bakery/yum.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,23 @@
88

99

1010
def get_yum_files(conf: Any) -> FileGenerator:
11-
# when interval is set, convert to int, otherwise None is okay
12-
13-
# -> maybe check for deploy.interval too for backward compatibility?
11+
"""
12+
Simple bakery plugin generator for yum
13+
"""
1414

15+
# when interval is set, convert to int, otherwise None is okay
1516
interval = conf.get('interval')
1617
if interval:
1718
interval = int(interval)
1819

20+
# only makes sense on Linux so just create for that OS
1921
yield Plugin(base_os=OS.LINUX,
2022
source=Path('yum'),
2123
interval=interval
2224
)
2325

24-
26+
# register the bakery plugin with its arguments
2527
register.bakery_plugin(
2628
name='yum',
27-
files_function=get_yum_files,
29+
files_function=get_yum_files
2830
)

mkp/local/lib/python3/cmk_addons/plugins/yum/rulesets/yum_cee.py

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,27 +33,24 @@
3333

3434
def _migrate_int_to_float(value: object) -> Mapping[str, object]:
3535
"""
36-
migrate old integer interval to float interval
36+
migrate from deploy to interval and from integer interval to float interval
3737
"""
38-
if value is not None:
39-
if 'interval' in value:
40-
match value["interval"]:
41-
case _ if value["interval"] >= 0:
42-
return {'deploy': ('interval', float(value["interval"]))}
43-
case None:
44-
return {'deploy': ('interval', 77.0)}
45-
else:
46-
return value
38+
# backward compatibility - migrate from deploy to interval
39+
if value.get('deploy'):
40+
if value['deploy'].get('interval'):
41+
return {'interval': float(value['deploy']['interval'])}
42+
# new simpler interval form
43+
elif value.get('interval'):
44+
return {'interval': float(value['interval'])}
4745
else:
48-
return {'deploy': 'nointerval'}
46+
return dict()
4947

5048

5149
def _parameter_form_yum_bakery() -> Dictionary:
52-
53-
54-
# here we need to respect the deploy dictionary -> migrate it to simple interval
55-
56-
50+
"""
51+
definition of the parameter form for the YUM bakery plugin
52+
:return:
53+
"""
5754
return Dictionary(
5855
migrate=_migrate_int_to_float,
5956
title=Title('YUM package update check'),
@@ -71,7 +68,7 @@ def _parameter_form_yum_bakery() -> Dictionary:
7168
TimeMagnitude.MINUTE,
7269
TimeMagnitude.HOUR,
7370
TimeMagnitude.DAY],
74-
prefill=DefaultValue(60),
71+
prefill=DefaultValue(60.0),
7572
)
7673
)
7774
},

0 commit comments

Comments
 (0)