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
Łukasz Nowak
slapos
Commits
32360c76
Commit
32360c76
authored
May 05, 2023
by
Xavier Thompson
Browse files
Options
Browse Files
Download
Plain Diff
software/ors-amarisoft: Add xamari xlog service
See merge request
nexedi/slapos!1352
parents
2148fffb
f36c4308
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
168 additions
and
14 deletions
+168
-14
software/ors-amarisoft/buildout.hash.cfg
software/ors-amarisoft/buildout.hash.cfg
+2
-2
software/ors-amarisoft/changelog.rst
software/ors-amarisoft/changelog.rst
+30
-11
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
+6
-0
software/ors-amarisoft/instance-enb.jinja2.cfg
software/ors-amarisoft/instance-enb.jinja2.cfg
+26
-0
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
+6
-0
software/ors-amarisoft/instance-gnb.jinja2.cfg
software/ors-amarisoft/instance-gnb.jinja2.cfg
+27
-0
software/ors-amarisoft/instance-tdd1900-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd1900-enb-input-schema.json
+6
-0
software/ors-amarisoft/instance-tdd1900-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd1900-gnb-input-schema.json
+6
-0
software/ors-amarisoft/instance-tdd2600-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd2600-enb-input-schema.json
+6
-0
software/ors-amarisoft/instance-tdd2600-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd2600-gnb-input-schema.json
+6
-0
software/ors-amarisoft/instance-tdd3500-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd3500-enb-input-schema.json
+6
-0
software/ors-amarisoft/instance-tdd3500-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd3500-gnb-input-schema.json
+6
-0
software/ors-amarisoft/instance-tdd3700-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd3700-enb-input-schema.json
+6
-0
software/ors-amarisoft/instance-tdd3700-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd3700-gnb-input-schema.json
+6
-0
software/ors-amarisoft/software-base.cfg
software/ors-amarisoft/software-base.cfg
+23
-1
No files found.
software/ors-amarisoft/buildout.hash.cfg
View file @
32360c76
...
@@ -36,11 +36,11 @@ md5sum = e0b68a87238282568e0e04c792ec7288
...
@@ -36,11 +36,11 @@ md5sum = e0b68a87238282568e0e04c792ec7288
[template-enb]
[template-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum =
a7448167f7433a50938bf6d3e6903065
md5sum =
ba704d02815e85f3ab30227f117c88ff
[template-gnb]
[template-gnb]
_update_hash_filename_ = instance-gnb.jinja2.cfg
_update_hash_filename_ = instance-gnb.jinja2.cfg
md5sum =
afa508e78851fe151fd25d8781aaa34a
md5sum =
b2a1816ceb8e7f475e71454e5389d091
[template-core-network]
[template-core-network]
_update_hash_filename_ = instance-core-network.jinja2.cfg
_update_hash_filename_ = instance-core-network.jinja2.cfg
...
...
software/ors-amarisoft/changelog.rst
View file @
32360c76
Changelog
Changelog
=========
=========
Version
1.0.310 (2023-02-22
)
Version
?.?.??? (unreleased
)
-------------
-------------
---------------
* Add
carrier control for Lopcomm RRH
* Add
xamari xlog service
Version 1.0.3
12 (2023-03-20
)
Version 1.0.3
20 (2023-04-26
)
-------------
-------------
---------------
* Add promise to test if reception is saturated
* Add support for inter gNB XnAP and NGAP NR handover
* Add IMSI in connection parameters when SIM gets attached
Version 1.0.317 (2023-04-18)
---------------------------
* Add support for inter gNB NR handover
Version 1.0.316 (2023-04-14)
Version 1.0.316 (2023-04-14)
-------------
-------------
---------------
* Remove enb-epc, gnb-epc and epc software types, the software types are now:
* Remove enb-epc, gnb-epc and epc software types, the software types are now:
- enb
- enb
- gnb
- gnb
- core-network (replaces epc software type)
- core-network (replaces epc software type)
Version 1.0.320 (2023-04-26)
Version 1.0.312 (2023-03-20)
-------------
----------------------------
* Add promise to test if reception is saturated
* Add gadget from SR to display on Monitor APP
* Add IMSI in connection parameters when SIM gets attached
* Add carrier control for Lopcomm RRH
Version 1.0.308 (2023-02-09)
----------------------------
* Add support for IPv6 in UEs if available
* Use latest amarisoft version on ORS if available
* Add gnb_id_bits parameter
* Use promises from slapos.toolbox repository
* Rotate and add timestamps in enb-output.log, gnb-output.log, mme-output.log etc...
* Add support for Lopcomm RRH
* Remove UE power emission limitation
* Add support for inter gNB XnAP and NGAP NR handover
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
View file @
32360c76
...
@@ -122,6 +122,12 @@
...
@@ -122,6 +122,12 @@
"type": "number",
"type": "number",
"default": 60
"default": 60
},
},
"enb_drb_stats_enabled": {
"title": "Enable eNB drb statistics",
"description": "Enable eNB drb statistics through 100Hz polling, needed for E-UTRAN IP Throughput KPI",
"type": "boolean",
"default": true
},
"max_rx_sample_db": {
"max_rx_sample_db": {
"title": "Maximum RX sample value (dB)",
"title": "Maximum RX sample value (dB)",
"description": "Maximum RX sample threshold above which RX saturated promise will fail",
"description": "Maximum RX sample threshold above which RX saturated promise will fail",
...
...
software/ors-amarisoft/instance-enb.jinja2.cfg
View file @
32360c76
...
@@ -4,6 +4,7 @@ parts =
...
@@ -4,6 +4,7 @@ parts =
ltelogs
ltelogs
enb-config
enb-config
enb-service
enb-service
xamari-xlog-service
amarisoft-stats-service
amarisoft-stats-service
amarisoft-rf-info-service
amarisoft-rf-info-service
{% if slapparameter_dict.get('rrh', '') == "Lopcomm ORAN" %}
{% if slapparameter_dict.get('rrh', '') == "Lopcomm ORAN" %}
...
@@ -133,6 +134,31 @@ environment =
...
@@ -133,6 +134,31 @@ environment =
LD_LIBRARY_PATH={{ openssl_location }}/lib
LD_LIBRARY_PATH={{ openssl_location }}/lib
AMARISOFT_PATH=/opt/amarisoft/.amarisoft
AMARISOFT_PATH=/opt/amarisoft/.amarisoft
[xamari-xlog-script]
recipe = slapos.recipe.template
output = ${directory:bin}/${:_buildout_section_name_}
period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
stats_logspec = stats[samples,rf]/${:period}s
{%- if slapparameter_dict.get("enb_drb_stats_enabled", True) %}
drb_stats_logspec = x.drb_stats/${:period}s
{%- else %}
drb_stats_logspec =
{%- endif %}
rotatespec = 100MB.9
logspec = ${:stats_logspec} ${:drb_stats_logspec}
websock = ws://127.0.1.2:9001
xamari = {{ buildout_directory }}/bin/xamari
logfile = ${monitor-directory:public}/enb.xlog
inline =
#!/bin/sh
exec ${:xamari} xlog --rotate ${:rotatespec} ${:websock} ${:logfile} ${:logspec}
[xamari-xlog-service]
recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:service}/${:_buildout_section_name_}
command-line = ${xamari-xlog-script:output}
hash-files = ${:command-line}
[amarisoft-stats-template]
[amarisoft-stats-template]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
extensions = jinja2.ext.do
...
...
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
View file @
32360c76
...
@@ -254,6 +254,12 @@
...
@@ -254,6 +254,12 @@
"type": "number",
"type": "number",
"default": 60
"default": 60
},
},
"gnb_drb_stats_enabled": {
"title": "Enable gNB drb statistics",
"description": "Enable gNB drb statistics through 100Hz polling, needed for E-UTRAN IP Throughput KPI",
"type": "boolean",
"default": true
},
"max_rx_sample_db": {
"max_rx_sample_db": {
"title": "Maximum RX sample value (dB)",
"title": "Maximum RX sample value (dB)",
"description": "Maximum RX sample threshold above which RX saturated promise will fail",
"description": "Maximum RX sample threshold above which RX saturated promise will fail",
...
...
software/ors-amarisoft/instance-gnb.jinja2.cfg
View file @
32360c76
...
@@ -4,6 +4,7 @@ parts =
...
@@ -4,6 +4,7 @@ parts =
ltelogs
ltelogs
gnb-config
gnb-config
enb-service
enb-service
xamari-xlog-service
amarisoft-stats-service
amarisoft-stats-service
amarisoft-rf-info-service
amarisoft-rf-info-service
{% if slapparameter_dict.get('rrh', '') == "Lopcomm ORAN" %}
{% if slapparameter_dict.get('rrh', '') == "Lopcomm ORAN" %}
...
@@ -134,6 +135,32 @@ environment =
...
@@ -134,6 +135,32 @@ environment =
LD_LIBRARY_PATH={{ openssl_location }}/lib
LD_LIBRARY_PATH={{ openssl_location }}/lib
AMARISOFT_PATH=/opt/amarisoft/.amarisoft
AMARISOFT_PATH=/opt/amarisoft/.amarisoft
[xamari-xlog-script]
recipe = slapos.recipe.template
output = ${directory:bin}/${:_buildout_section_name_}
period = {{ slapparameter_dict.get("gnb_stats_fetch_period", 60) }}
stats_logspec = stats[samples,rf]/${:period}s
{%- if slapparameter_dict.get("gnb_drb_stats_enabled", True) %}
drb_stats_logspec = x.drb_stats/${:period}s
{%- else %}
drb_stats_logspec =
{%- endif %}
rotatespec = 100MB.9
logspec = ${:stats_logspec} ${:drb_stats_logspec}
logspec = ${:stats_logspec} ${:drb_stats_logspec}
websock = ws://127.0.1.2:9001
xamari = {{ buildout_directory }}/bin/xamari
logfile = ${monitor-directory:public}/gnb.xlog
inline =
#!/bin/sh
exec ${:xamari} xlog --rotate ${:rotatespec} ${:websock} ${:logfile} ${:logspec}
[xamari-xlog-service]
recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:service}/${:_buildout_section_name_}
command-line = ${xamari-xlog-script:output}
hash-files = ${:command-line}
[amarisoft-stats-template]
[amarisoft-stats-template]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
extensions = jinja2.ext.do
...
...
software/ors-amarisoft/instance-tdd1900-enb-input-schema.json
View file @
32360c76
...
@@ -122,6 +122,12 @@
...
@@ -122,6 +122,12 @@
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
60
"default"
:
60
},
},
"enb_drb_stats_enabled"
:
{
"title"
:
"Enable eNB drb statistics"
,
"description"
:
"Enable eNB drb statistics through 100Hz polling, needed for E-UTRAN IP Throughput KPI"
,
"type"
:
"boolean"
,
"default"
:
true
},
"max_rx_sample_db"
:
{
"max_rx_sample_db"
:
{
"title"
:
"Maximum RX sample value (dB)"
,
"title"
:
"Maximum RX sample value (dB)"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
...
...
software/ors-amarisoft/instance-tdd1900-gnb-input-schema.json
View file @
32360c76
...
@@ -254,6 +254,12 @@
...
@@ -254,6 +254,12 @@
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
60
"default"
:
60
},
},
"gnb_drb_stats_enabled"
:
{
"title"
:
"Enable gNB drb statistics"
,
"description"
:
"Enable gNB drb statistics through 100Hz polling, needed for E-UTRAN IP Throughput KPI"
,
"type"
:
"boolean"
,
"default"
:
true
},
"max_rx_sample_db"
:
{
"max_rx_sample_db"
:
{
"title"
:
"Maximum RX sample value (dB)"
,
"title"
:
"Maximum RX sample value (dB)"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
...
...
software/ors-amarisoft/instance-tdd2600-enb-input-schema.json
View file @
32360c76
...
@@ -122,6 +122,12 @@
...
@@ -122,6 +122,12 @@
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
60
"default"
:
60
},
},
"enb_drb_stats_enabled"
:
{
"title"
:
"Enable eNB drb statistics"
,
"description"
:
"Enable eNB drb statistics through 100Hz polling, needed for E-UTRAN IP Throughput KPI"
,
"type"
:
"boolean"
,
"default"
:
true
},
"max_rx_sample_db"
:
{
"max_rx_sample_db"
:
{
"title"
:
"Maximum RX sample value (dB)"
,
"title"
:
"Maximum RX sample value (dB)"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
...
...
software/ors-amarisoft/instance-tdd2600-gnb-input-schema.json
View file @
32360c76
...
@@ -254,6 +254,12 @@
...
@@ -254,6 +254,12 @@
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
60
"default"
:
60
},
},
"gnb_drb_stats_enabled"
:
{
"title"
:
"Enable gNB drb statistics"
,
"description"
:
"Enable gNB drb statistics through 100Hz polling, needed for E-UTRAN IP Throughput KPI"
,
"type"
:
"boolean"
,
"default"
:
true
},
"max_rx_sample_db"
:
{
"max_rx_sample_db"
:
{
"title"
:
"Maximum RX sample value (dB)"
,
"title"
:
"Maximum RX sample value (dB)"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
...
...
software/ors-amarisoft/instance-tdd3500-enb-input-schema.json
View file @
32360c76
...
@@ -122,6 +122,12 @@
...
@@ -122,6 +122,12 @@
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
60
"default"
:
60
},
},
"enb_drb_stats_enabled"
:
{
"title"
:
"Enable eNB drb statistics"
,
"description"
:
"Enable eNB drb statistics through 100Hz polling, needed for E-UTRAN IP Throughput KPI"
,
"type"
:
"boolean"
,
"default"
:
true
},
"max_rx_sample_db"
:
{
"max_rx_sample_db"
:
{
"title"
:
"Maximum RX sample value (dB)"
,
"title"
:
"Maximum RX sample value (dB)"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
...
...
software/ors-amarisoft/instance-tdd3500-gnb-input-schema.json
View file @
32360c76
...
@@ -254,6 +254,12 @@
...
@@ -254,6 +254,12 @@
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
60
"default"
:
60
},
},
"gnb_drb_stats_enabled"
:
{
"title"
:
"Enable gNB drb statistics"
,
"description"
:
"Enable gNB drb statistics through 100Hz polling, needed for E-UTRAN IP Throughput KPI"
,
"type"
:
"boolean"
,
"default"
:
true
},
"max_rx_sample_db"
:
{
"max_rx_sample_db"
:
{
"title"
:
"Maximum RX sample value (dB)"
,
"title"
:
"Maximum RX sample value (dB)"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
...
...
software/ors-amarisoft/instance-tdd3700-enb-input-schema.json
View file @
32360c76
...
@@ -122,6 +122,12 @@
...
@@ -122,6 +122,12 @@
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
60
"default"
:
60
},
},
"enb_drb_stats_enabled"
:
{
"title"
:
"Enable eNB drb statistics"
,
"description"
:
"Enable eNB drb statistics through 100Hz polling, needed for E-UTRAN IP Throughput KPI"
,
"type"
:
"boolean"
,
"default"
:
true
},
"max_rx_sample_db"
:
{
"max_rx_sample_db"
:
{
"title"
:
"Maximum RX sample value (dB)"
,
"title"
:
"Maximum RX sample value (dB)"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
...
...
software/ors-amarisoft/instance-tdd3700-gnb-input-schema.json
View file @
32360c76
...
@@ -254,6 +254,12 @@
...
@@ -254,6 +254,12 @@
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
60
"default"
:
60
},
},
"gnb_drb_stats_enabled"
:
{
"title"
:
"Enable gNB drb statistics"
,
"description"
:
"Enable gNB drb statistics through 100Hz polling, needed for E-UTRAN IP Throughput KPI"
,
"type"
:
"boolean"
,
"default"
:
true
},
"max_rx_sample_db"
:
{
"max_rx_sample_db"
:
{
"title"
:
"Maximum RX sample value (dB)"
,
"title"
:
"Maximum RX sample value (dB)"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
"description"
:
"Maximum RX sample threshold above which RX saturated promise will fail"
,
...
...
software/ors-amarisoft/software-base.cfg
View file @
32360c76
...
@@ -9,6 +9,9 @@ extends =
...
@@ -9,6 +9,9 @@ extends =
../../component/python3/buildout.cfg
../../component/python3/buildout.cfg
../../component/python-pynacl/buildout.cfg
../../component/python-pynacl/buildout.cfg
../../component/bcrypt/buildout.cfg
../../component/bcrypt/buildout.cfg
../../component/numpy/buildout.cfg
../../component/pygolang/buildout.cfg
../../component/git/buildout.cfg
parts +=
parts +=
template
template
...
@@ -34,7 +37,7 @@ parts +=
...
@@ -34,7 +37,7 @@ parts +=
rsvp.js
rsvp.js
iperf3
iperf3
eggs
eggs
xamari
# unimplemented parts - the http monitor and better log handling using logrotate
# unimplemented parts - the http monitor and better log handling using logrotate
# apache-php
# apache-php
# logrotate
# logrotate
...
@@ -175,6 +178,25 @@ eggs =
...
@@ -175,6 +178,25 @@ eggs =
ncclient
ncclient
interpreter = pythonwitheggs
interpreter = pythonwitheggs
[xlte-repository]
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/kirr/xlte.git
revision = e716ab51
git-executable = ${git:location}/bin/git
[xlte]
recipe = zc.recipe.egg:develop
setup = ${xlte-repository:location}
egg = xlte
depends =
${numpy:egg}
${pygolang:egg}
[xamari]
recipe = zc.recipe.egg
eggs = ${xlte:egg}
scripts = xamari
[versions]
[versions]
websocket-client = 1.4.2
websocket-client = 1.4.2
ncclient = 0.6.13
ncclient = 0.6.13
...
...
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