Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
slapos
Commits
ec6567ff
Commit
ec6567ff
authored
Dec 05, 2022
by
Joanne Hugé
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ors-amarisoft: add average temperature checks in promise
parent
02d9e65b
Changes
38
Hide whitespace changes
Inline
Side-by-side
Showing
38 changed files
with
488 additions
and
21 deletions
+488
-21
software/ors-amarisoft/buildout.hash.cfg
software/ors-amarisoft/buildout.hash.cfg
+8
-8
software/ors-amarisoft/instance-enb-epc.jinja2.cfg
software/ors-amarisoft/instance-enb-epc.jinja2.cfg
+3
-1
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
+12
-0
software/ors-amarisoft/instance-enb.jinja2.cfg
software/ors-amarisoft/instance-enb.jinja2.cfg
+3
-1
software/ors-amarisoft/instance-epc-input-schema.json
software/ors-amarisoft/instance-epc-input-schema.json
+12
-0
software/ors-amarisoft/instance-epc.jinja2.cfg
software/ors-amarisoft/instance-epc.jinja2.cfg
+3
-1
software/ors-amarisoft/instance-gnb-epc.jinja2.cfg
software/ors-amarisoft/instance-gnb-epc.jinja2.cfg
+3
-1
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
+12
-0
software/ors-amarisoft/instance-gnb.jinja2.cfg
software/ors-amarisoft/instance-gnb.jinja2.cfg
+3
-1
software/ors-amarisoft/instance-tdd1900-enb-epc-input-schema.json
.../ors-amarisoft/instance-tdd1900-enb-epc-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd1900-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd1900-enb-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd1900-gnb-epc-input-schema.json
.../ors-amarisoft/instance-tdd1900-gnb-epc-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd1900-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd1900-gnb-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd1900-ue-lte-input-schema.json
...e/ors-amarisoft/instance-tdd1900-ue-lte-input-schema.json
+18
-0
software/ors-amarisoft/instance-tdd1900-ue-nr-input-schema.json
...re/ors-amarisoft/instance-tdd1900-ue-nr-input-schema.json
+18
-0
software/ors-amarisoft/instance-tdd2600-enb-epc-input-schema.json
.../ors-amarisoft/instance-tdd2600-enb-epc-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd2600-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd2600-enb-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd2600-gnb-epc-input-schema.json
.../ors-amarisoft/instance-tdd2600-gnb-epc-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd2600-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd2600-gnb-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd2600-ue-lte-input-schema.json
...e/ors-amarisoft/instance-tdd2600-ue-lte-input-schema.json
+18
-0
software/ors-amarisoft/instance-tdd2600-ue-nr-input-schema.json
...re/ors-amarisoft/instance-tdd2600-ue-nr-input-schema.json
+18
-0
software/ors-amarisoft/instance-tdd3500-enb-epc-input-schema.json
.../ors-amarisoft/instance-tdd3500-enb-epc-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd3500-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd3500-enb-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd3500-gnb-epc-input-schema.json
.../ors-amarisoft/instance-tdd3500-gnb-epc-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd3500-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd3500-gnb-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd3500-ue-lte-input-schema.json
...e/ors-amarisoft/instance-tdd3500-ue-lte-input-schema.json
+18
-0
software/ors-amarisoft/instance-tdd3500-ue-nr-input-schema.json
...re/ors-amarisoft/instance-tdd3500-ue-nr-input-schema.json
+18
-0
software/ors-amarisoft/instance-tdd3700-enb-epc-input-schema.json
.../ors-amarisoft/instance-tdd3700-enb-epc-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd3700-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd3700-enb-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd3700-gnb-epc-input-schema.json
.../ors-amarisoft/instance-tdd3700-gnb-epc-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd3700-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd3700-gnb-input-schema.json
+12
-0
software/ors-amarisoft/instance-tdd3700-ue-lte-input-schema.json
...e/ors-amarisoft/instance-tdd3700-ue-lte-input-schema.json
+18
-0
software/ors-amarisoft/instance-tdd3700-ue-nr-input-schema.json
...re/ors-amarisoft/instance-tdd3700-ue-nr-input-schema.json
+18
-0
software/ors-amarisoft/instance-ue-lte-input-schema.json.jinja2
...re/ors-amarisoft/instance-ue-lte-input-schema.json.jinja2
+18
-0
software/ors-amarisoft/instance-ue-lte.jinja2.cfg
software/ors-amarisoft/instance-ue-lte.jinja2.cfg
+3
-1
software/ors-amarisoft/instance-ue-nr-input-schema.json.jinja2
...are/ors-amarisoft/instance-ue-nr-input-schema.json.jinja2
+18
-0
software/ors-amarisoft/instance-ue-nr.jinja2.cfg
software/ors-amarisoft/instance-ue-nr.jinja2.cfg
+3
-1
software/ors-amarisoft/promise/check_cpu_temperature.py
software/ors-amarisoft/promise/check_cpu_temperature.py
+51
-6
No files found.
software/ors-amarisoft/buildout.hash.cfg
View file @
ec6567ff
...
...
@@ -24,23 +24,23 @@ md5sum = 6e0a052bd0ca08cc0c7b4880d3deffcc
[template-lte-enb-epc]
_update_hash_filename_ = instance-enb-epc.jinja2.cfg
md5sum =
f15c81f0f4c2aa59bc794d855e7d01c0
md5sum =
da99546afedb6f443bfd767ab054763d
[template-lte-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum = 68
362f58fccc534757b6bb566d285fa6
md5sum = 68
9a1ace1f197663ff7c27c31862b275
[template-lte-gnb-epc]
_update_hash_filename_ = instance-gnb-epc.jinja2.cfg
md5sum =
dd98a2d0cb4fadc869638166bde6d9c8
md5sum =
5455d0685f3bad94dbbdeaa772a7647f
[template-lte-epc]
_update_hash_filename_ = instance-epc.jinja2.cfg
md5sum =
48755eb0b2eb87f80130d42026ea8f7b
md5sum =
7863ada6fe3062b7f62e61cb973fa0fc
[template-lte-gnb]
_update_hash_filename_ = instance-gnb.jinja2.cfg
md5sum =
45ff1f5f4e98867449dcff7caae678f8
md5sum =
82674b93d0d7edb09fd85a8062a387bb
[template-lte-mme]
_update_hash_filename_ = instance-mme.jinja2.cfg
...
...
@@ -48,11 +48,11 @@ md5sum = 728f4d3ae248710c23e4b73eea4d628e
[template-lte-ue-lte]
_update_hash_filename_ = instance-ue-lte.jinja2.cfg
md5sum =
38ef57bc93f53338187bd9c39fe4f0c5
md5sum =
8f2f6ff6f242546b2fef3bd559ba887d
[template-lte-ue-nr]
_update_hash_filename_ = instance-ue-nr.jinja2.cfg
md5sum =
eaaf8fb3806a941f188eecdb90d38bda
md5sum =
a8388fe893ad251bba929ef9047935a6
[ue_db.jinja2.cfg]
filename = config/ue_db.jinja2.cfg
...
...
@@ -108,7 +108,7 @@ md5sum = 5bf57a9074ea5b054d999789cbbe2c87
[cpu-temperature-promise]
_update_hash_filename_ = promise/check_cpu_temperature.py
md5sum =
8e8f836554d81e2979e39dfb50e05b88
md5sum =
979a5a3a1eb9d0b081fa014baeef706f
[interface-up-promise]
_update_hash_filename_ = promise/check_interface_up.py
...
...
software/ors-amarisoft/instance-enb-epc.jinja2.cfg
View file @
ec6567ff
...
...
@@ -93,7 +93,9 @@ eggs = slapos.core
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-max-temp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 80) }}
config-max-temp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 90) }}
config-max-avg-temp = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold", 80) }}
config-max-avg-temp-duration = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold_duration", 600) }}
[publish-connection-information]
recipe = slapos.cookbook:publish.serialised
...
...
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
View file @
ec6567ff
...
...
@@ -136,7 +136,19 @@
"title": "CPU temperature promise threshold",
"description": "Temperature threshold above which CPU temperature promise will fail",
"type": "number",
"default": 90
},
"promise_cpu_avg_temperature_threshold": {
"title": "Average CPU temperature promise threshold",
"description": "If average temperature over specified duration reaches this threshold, promise will fail",
"type": "number",
"default": 80
},
"promise_cpu_avg_temperature_threshold_duration": {
"title": "Average CPU temperature promise threshold duration",
"description": "Duration during which average temperature should not exceed specified threshold",
"type": "number",
"default": 600
}
}
}
software/ors-amarisoft/instance-enb.jinja2.cfg
View file @
ec6567ff
...
...
@@ -208,4 +208,6 @@ eggs = slapos.core
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-maxtemp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 80) }}
config-max-temp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 90) }}
config-max-avg-temp = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold", 80) }}
config-max-avg-temp-duration = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold_duration", 600) }}
software/ors-amarisoft/instance-epc-input-schema.json
View file @
ec6567ff
...
...
@@ -32,6 +32,18 @@
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-epc.jinja2.cfg
View file @
ec6567ff
...
...
@@ -82,7 +82,9 @@ eggs = slapos.core
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-max-temp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 80) }}
config-max-temp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 90) }}
config-max-avg-temp = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold", 80) }}
config-max-avg-temp-duration = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold_duration", 600) }}
[publish-connection-information]
recipe = slapos.cookbook:publish.serialised
...
...
software/ors-amarisoft/instance-gnb-epc.jinja2.cfg
View file @
ec6567ff
...
...
@@ -93,7 +93,9 @@ eggs = slapos.core
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-max-temp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 80) }}
config-max-temp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 90) }}
config-max-avg-temp = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold", 80) }}
config-max-avg-temp-duration = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold_duration", 600) }}
[publish-connection-information]
recipe = slapos.cookbook:publish.serialised
...
...
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
View file @
ec6567ff
...
...
@@ -189,6 +189,18 @@
"description": "Temperature threshold above which CPU temperature promise will fail",
"type": "number",
"default": 80
},
"promise_cpu_avg_temperature_threshold": {
"title": "Average CPU temperature promise threshold",
"description": "If average temperature over specified duration reaches this threshold, promise will fail",
"type": "number",
"default": 80
},
"promise_cpu_avg_temperature_threshold_duration": {
"title": "Average CPU temperature promise threshold duration",
"description": "Duration during which average temperature should not exceed specified threshold",
"type": "number",
"default": 600
}
}
}
software/ors-amarisoft/instance-gnb.jinja2.cfg
View file @
ec6567ff
...
...
@@ -208,4 +208,6 @@ eggs = slapos.core
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-max-temp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 80) }}
config-max-temp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 90) }}
config-max-avg-temp = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold", 80) }}
config-max-avg-temp-duration = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold_duration", 600) }}
software/ors-amarisoft/instance-tdd1900-enb-epc-input-schema.json
View file @
ec6567ff
...
...
@@ -134,7 +134,19 @@
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
90
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd1900-enb-input-schema.json
View file @
ec6567ff
...
...
@@ -116,7 +116,19 @@
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
90
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd1900-gnb-epc-input-schema.json
View file @
ec6567ff
...
...
@@ -187,6 +187,18 @@
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd1900-gnb-input-schema.json
View file @
ec6567ff
...
...
@@ -169,6 +169,18 @@
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd1900-ue-lte-input-schema.json
View file @
ec6567ff
...
...
@@ -92,6 +92,24 @@
"description"
:
"String. Defines user IMPI. Must be fully filled with hostname if necessary."
,
"type"
:
"string"
,
"default"
:
""
},
"promise_cpu_temperature_threshold"
:
{
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd1900-ue-nr-input-schema.json
View file @
ec6567ff
...
...
@@ -104,6 +104,24 @@
"description"
:
"String. Defines user IMPI. Must be fully filled with hostname if necessary."
,
"type"
:
"string"
,
"default"
:
""
},
"promise_cpu_temperature_threshold"
:
{
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd2600-enb-epc-input-schema.json
View file @
ec6567ff
...
...
@@ -134,7 +134,19 @@
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
90
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd2600-enb-input-schema.json
View file @
ec6567ff
...
...
@@ -116,7 +116,19 @@
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
90
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd2600-gnb-epc-input-schema.json
View file @
ec6567ff
...
...
@@ -187,6 +187,18 @@
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd2600-gnb-input-schema.json
View file @
ec6567ff
...
...
@@ -169,6 +169,18 @@
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd2600-ue-lte-input-schema.json
View file @
ec6567ff
...
...
@@ -92,6 +92,24 @@
"description"
:
"String. Defines user IMPI. Must be fully filled with hostname if necessary."
,
"type"
:
"string"
,
"default"
:
""
},
"promise_cpu_temperature_threshold"
:
{
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd2600-ue-nr-input-schema.json
View file @
ec6567ff
...
...
@@ -104,6 +104,24 @@
"description"
:
"String. Defines user IMPI. Must be fully filled with hostname if necessary."
,
"type"
:
"string"
,
"default"
:
""
},
"promise_cpu_temperature_threshold"
:
{
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3500-enb-epc-input-schema.json
View file @
ec6567ff
...
...
@@ -134,7 +134,19 @@
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
90
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3500-enb-input-schema.json
View file @
ec6567ff
...
...
@@ -116,7 +116,19 @@
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
90
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3500-gnb-epc-input-schema.json
View file @
ec6567ff
...
...
@@ -187,6 +187,18 @@
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3500-gnb-input-schema.json
View file @
ec6567ff
...
...
@@ -169,6 +169,18 @@
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3500-ue-lte-input-schema.json
View file @
ec6567ff
...
...
@@ -92,6 +92,24 @@
"description"
:
"String. Defines user IMPI. Must be fully filled with hostname if necessary."
,
"type"
:
"string"
,
"default"
:
""
},
"promise_cpu_temperature_threshold"
:
{
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3500-ue-nr-input-schema.json
View file @
ec6567ff
...
...
@@ -104,6 +104,24 @@
"description"
:
"String. Defines user IMPI. Must be fully filled with hostname if necessary."
,
"type"
:
"string"
,
"default"
:
""
},
"promise_cpu_temperature_threshold"
:
{
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3700-enb-epc-input-schema.json
View file @
ec6567ff
...
...
@@ -134,7 +134,19 @@
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
90
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3700-enb-input-schema.json
View file @
ec6567ff
...
...
@@ -116,7 +116,19 @@
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
90
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3700-gnb-epc-input-schema.json
View file @
ec6567ff
...
...
@@ -187,6 +187,18 @@
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3700-gnb-input-schema.json
View file @
ec6567ff
...
...
@@ -169,6 +169,18 @@
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3700-ue-lte-input-schema.json
View file @
ec6567ff
...
...
@@ -92,6 +92,24 @@
"description"
:
"String. Defines user IMPI. Must be fully filled with hostname if necessary."
,
"type"
:
"string"
,
"default"
:
""
},
"promise_cpu_temperature_threshold"
:
{
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-tdd3700-ue-nr-input-schema.json
View file @
ec6567ff
...
...
@@ -104,6 +104,24 @@
"description"
:
"String. Defines user IMPI. Must be fully filled with hostname if necessary."
,
"type"
:
"string"
,
"default"
:
""
},
"promise_cpu_temperature_threshold"
:
{
"title"
:
"CPU temperature promise threshold"
,
"description"
:
"Temperature threshold above which CPU temperature promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold"
:
{
"title"
:
"Average CPU temperature promise threshold"
,
"description"
:
"If average temperature over specified duration reaches this threshold, promise will fail"
,
"type"
:
"number"
,
"default"
:
80
},
"promise_cpu_avg_temperature_threshold_duration"
:
{
"title"
:
"Average CPU temperature promise threshold duration"
,
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
}
}
}
software/ors-amarisoft/instance-ue-lte-input-schema.json.jinja2
View file @
ec6567ff
...
...
@@ -92,6 +92,24 @@
"description": "String. Defines user IMPI. Must be fully filled with hostname if necessary.",
"type": "string",
"default": ""
},
"promise_cpu_temperature_threshold": {
"title": "CPU temperature promise threshold",
"description": "Temperature threshold above which CPU temperature promise will fail",
"type": "number",
"default": 80
},
"promise_cpu_avg_temperature_threshold": {
"title": "Average CPU temperature promise threshold",
"description": "If average temperature over specified duration reaches this threshold, promise will fail",
"type": "number",
"default": 80
},
"promise_cpu_avg_temperature_threshold_duration": {
"title": "Average CPU temperature promise threshold duration",
"description": "Duration during which average temperature should not exceed specified threshold",
"type": "number",
"default": 600
}
}
}
software/ors-amarisoft/instance-ue-lte.jinja2.cfg
View file @
ec6567ff
...
...
@@ -136,4 +136,6 @@ eggs = slapos.core
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-maxtemp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 80) }}
config-max-temp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 90) }}
config-max-avg-temp = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold", 80) }}
config-max-avg-temp-duration = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold_duration", 600) }}
software/ors-amarisoft/instance-ue-nr-input-schema.json.jinja2
View file @
ec6567ff
...
...
@@ -104,6 +104,24 @@
"description": "String. Defines user IMPI. Must be fully filled with hostname if necessary.",
"type": "string",
"default": ""
},
"promise_cpu_temperature_threshold": {
"title": "CPU temperature promise threshold",
"description": "Temperature threshold above which CPU temperature promise will fail",
"type": "number",
"default": 80
},
"promise_cpu_avg_temperature_threshold": {
"title": "Average CPU temperature promise threshold",
"description": "If average temperature over specified duration reaches this threshold, promise will fail",
"type": "number",
"default": 80
},
"promise_cpu_avg_temperature_threshold_duration": {
"title": "Average CPU temperature promise threshold duration",
"description": "Duration during which average temperature should not exceed specified threshold",
"type": "number",
"default": 600
}
}
}
software/ors-amarisoft/instance-ue-nr.jinja2.cfg
View file @
ec6567ff
...
...
@@ -139,4 +139,6 @@ eggs = slapos.core
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-maxtemp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 80) }}
config-max-temp = {{ slapparameter_dict.get("promise_cpu_temperature_threshold", 90) }}
config-max-avg-temp = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold", 80) }}
config-max-avg-temp-duration = {{ slapparameter_dict.get("promise_cpu_avg_temperature_threshold_duration", 600) }}
software/ors-amarisoft/promise/check_cpu_temperature.py
View file @
ec6567ff
...
...
@@ -5,10 +5,45 @@ import json
import
os
import
psutil
from
dateutil
import
parser
from
zope.interface
import
implementer
from
slapos.grid.promise
import
interface
from
slapos.grid.promise.generic
import
GenericPromise
# Get all data in the last "interval" seconds from JSON log
def
get_data_interval
(
log
,
interval
):
log_number
=
0
latest_timestamp
=
0
data_list
=
[]
while
True
:
try
:
f
=
open
(
"{}.{}"
.
format
(
log
,
log_number
)
if
log_number
else
log
,
"rb"
)
except
OSError
:
return
data_list
try
:
f
.
seek
(
0
,
os
.
SEEK_END
)
while
True
:
try
:
while
f
.
seek
(
-
2
,
os
.
SEEK_CUR
)
and
f
.
read
(
1
)
!=
b'
\
n
'
:
pass
except
OSError
:
break
pos
=
f
.
tell
()
l
=
json
.
loads
(
f
.
readline
().
decode
().
replace
(
"'"
,
'"'
))
timestamp
=
parser
.
parse
(
l
[
'time'
])
data_list
.
append
(
l
[
'data'
])
if
not
latest_timestamp
:
latest_timestamp
=
timestamp
if
(
latest_timestamp
-
timestamp
).
total_seconds
()
>
interval
:
return
data_list
f
.
seek
(
pos
,
os
.
SEEK_SET
)
finally
:
f
.
close
()
log_number
+=
1
@
implementer
(
interface
.
IPromise
)
class
RunPromise
(
GenericPromise
):
...
...
@@ -32,7 +67,9 @@ class RunPromise(GenericPromise):
def
sense
(
self
):
max_temp
=
int
(
self
.
getConfig
(
'max-temp'
,
80
))
max_temp
=
float
(
self
.
getConfig
(
'max-temp'
,
90
))
max_avg_temp
=
float
(
self
.
getConfig
(
'max-avg-temp'
,
80
))
max_avg_temp_duration
=
int
(
self
.
getConfig
(
'max-avg-temp-duration'
,
300
))
testing
=
self
.
getConfig
(
'testing'
)
==
"True"
if
testing
:
...
...
@@ -42,13 +79,21 @@ class RunPromise(GenericPromise):
data
=
psutil
.
sensors_temperatures
()
cpu_temp
=
data
[
'coretemp'
][
0
][
1
]
data
=
json
.
dumps
({
'cpu_temperature'
:
cpu_temp
})
l
=
get_data_interval
(
self
.
__log_file
,
max_avg_temp_duration
)
avg_temp
=
sum
(
map
(
lambda
x
:
x
[
'cpu_temperature'
],
l
))
/
len
(
l
)
data
=
json
.
dumps
({
'cpu_temperature'
:
cpu_temp
,
'avg_cpu_temperature'
:
avg_temp
})
self
.
json_logger
.
info
(
"Temperature data"
,
extra
=
{
'data'
:
data
})
promise_success
=
True
if
cpu_temp
>
max_temp
:
self
.
logger
.
error
(
"Temperature too high (%s > %s)"
%
(
cpu_temp
,
max_temp
))
self
.
json_logger
.
info
(
"Temperature too high (%s > %s)"
%
(
cpu_temp
,
max_temp
),
extra
=
{
'data'
:
data
})
else
:
self
.
logger
.
error
(
"Temperature reached critical threshold: %s degrees celsius (threshold is %s degrees celsius)"
%
(
cpu_temp
,
max_temp
))
promise_success
=
False
if
avg_temp
>
max_avg_temp
:
self
.
logger
.
error
(
"Average temperature over the last %s seconds reached threshold: %s degrees celsius (threshold is %s degrees celsius)"
%
(
max_avg_temp_duration
,
avg_temp
,
max_avg_temp
))
promise_success
=
False
if
promise_success
:
self
.
logger
.
info
(
"Temperature OK"
)
self
.
json_logger
.
info
(
"Temperature OK"
,
extra
=
{
'data'
:
data
})
def
test
(
self
):
"""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment