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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Xiaowu Zhang
slapos
Commits
5f2ea559
Commit
5f2ea559
authored
Mar 09, 2023
by
Lu Xu
👀
Browse files
Options
Browse Files
Download
Plain Diff
Add Lopcomm RU control from ors-amarisoft
See merge request
nexedi/slapos!1362
parents
08a64b95
8a62834e
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
472 additions
and
13 deletions
+472
-13
software/ors-amarisoft/buildout.hash.cfg
software/ors-amarisoft/buildout.hash.cfg
+15
-3
software/ors-amarisoft/changelog.rst
software/ors-amarisoft/changelog.rst
+2
-8
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
+20
-0
software/ors-amarisoft/instance-enb.jinja2.cfg
software/ors-amarisoft/instance-enb.jinja2.cfg
+25
-0
software/ors-amarisoft/instance-tdd1900-enb-epc-input-schema.json
.../ors-amarisoft/instance-tdd1900-enb-epc-input-schema.json
+20
-0
software/ors-amarisoft/instance-tdd1900-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd1900-enb-input-schema.json
+20
-0
software/ors-amarisoft/instance-tdd2600-enb-epc-input-schema.json
.../ors-amarisoft/instance-tdd2600-enb-epc-input-schema.json
+20
-0
software/ors-amarisoft/instance-tdd2600-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd2600-enb-input-schema.json
+20
-0
software/ors-amarisoft/instance-tdd3500-enb-epc-input-schema.json
.../ors-amarisoft/instance-tdd3500-enb-epc-input-schema.json
+20
-0
software/ors-amarisoft/instance-tdd3500-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd3500-enb-input-schema.json
+20
-0
software/ors-amarisoft/instance-tdd3700-enb-epc-input-schema.json
.../ors-amarisoft/instance-tdd3700-enb-epc-input-schema.json
+20
-0
software/ors-amarisoft/instance-tdd3700-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd3700-enb-input-schema.json
+20
-0
software/ors-amarisoft/instance.cfg
software/ors-amarisoft/instance.cfg
+3
-0
software/ors-amarisoft/lopcomm-rrh-config.jinja2.py
software/ors-amarisoft/lopcomm-rrh-config.jinja2.py
+78
-0
software/ors-amarisoft/lopcomm-rrh-stats.jinja2.py
software/ors-amarisoft/lopcomm-rrh-stats.jinja2.py
+14
-2
software/ors-amarisoft/netconf/CreateProcessingEle.jinja2.xml
...ware/ors-amarisoft/netconf/CreateProcessingEle.jinja2.xml
+11
-0
software/ors-amarisoft/netconf/cu_config.jinja2.xml
software/ors-amarisoft/netconf/cu_config.jinja2.xml
+128
-0
software/ors-amarisoft/software.cfg
software/ors-amarisoft/software.cfg
+16
-0
No files found.
software/ors-amarisoft/buildout.hash.cfg
View file @
5f2ea559
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
[template]
[template]
filename = instance.cfg
filename = instance.cfg
md5sum =
4af831f81760b37250fa50ad3812142a
md5sum =
3f982f31a642ba9d6a1613f49e1c0d10
[amarisoft-stats.jinja2.py]
[amarisoft-stats.jinja2.py]
_update_hash_filename_ = amarisoft-stats.jinja2.py
_update_hash_filename_ = amarisoft-stats.jinja2.py
...
@@ -28,7 +28,11 @@ md5sum = c930c28365c685a6066f382c9b5d8893
...
@@ -28,7 +28,11 @@ md5sum = c930c28365c685a6066f382c9b5d8893
[lopcomm-rrh-stats.jinja2.py]
[lopcomm-rrh-stats.jinja2.py]
_update_hash_filename_ = lopcomm-rrh-stats.jinja2.py
_update_hash_filename_ = lopcomm-rrh-stats.jinja2.py
md5sum = 39e191080722ac13ebc56b1e6350eb8f
md5sum = 6339dd6c5dcbef95b58ed52a9fadc9a4
[lopcomm-rrh-config.jinja2.py]
_update_hash_filename_ = lopcomm-rrh-config.jinja2.py
md5sum = e0b68a87238282568e0e04c792ec7288
[template-lte-enb-epc]
[template-lte-enb-epc]
_update_hash_filename_ = instance-enb-epc.jinja2.cfg
_update_hash_filename_ = instance-enb-epc.jinja2.cfg
...
@@ -36,7 +40,7 @@ md5sum = bb4435f433e100fede09ff921d42c927
...
@@ -36,7 +40,7 @@ md5sum = bb4435f433e100fede09ff921d42c927
[template-lte-enb]
[template-lte-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum =
31707b64ab531c60fc99287238130c5b
md5sum =
49f8628e616c1fa09608b58a7f9ac34e
[template-lte-gnb-epc]
[template-lte-gnb-epc]
_update_hash_filename_ = instance-gnb-epc.jinja2.cfg
_update_hash_filename_ = instance-gnb-epc.jinja2.cfg
...
@@ -97,3 +101,11 @@ md5sum = 31c166f0a1b6d664f92b8f318b233d9a
...
@@ -97,3 +101,11 @@ md5sum = 31c166f0a1b6d664f92b8f318b233d9a
[ue-nr.jinja2.cfg]
[ue-nr.jinja2.cfg]
filename = config/ue-nr.jinja2.cfg
filename = config/ue-nr.jinja2.cfg
md5sum = b3078deab008d7e81ddd88ac02b8b698
md5sum = b3078deab008d7e81ddd88ac02b8b698
[CreateProcessingEle.jinja2.xml]
filename = netconf/CreateProcessingEle.jinja2.xml
md5sum = e435990eb0a0d4be41efa9bd16dce09b
[cu_config.jinja2.xml]
filename = netconf/cu_config.jinja2.xml
md5sum = 50b8f86cf4ed87be179f6a62284c56d7
software/ors-amarisoft/changelog.rst
View file @
5f2ea559
Changelog
Changelog
=========
=========
Version 1.0.3
08 (2023-02-09
)
Version 1.0.3
10 (2023-02-22
)
-------------
-------------
* Add support for IPv6 in UEs if available
* Add carrier control for Lopcomm RRH
* Use latest amarisoft version on ORS if available
\ No newline at end of file
* 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
\ No newline at end of file
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
View file @
5f2ea559
...
@@ -183,6 +183,26 @@
...
@@ -183,6 +183,26 @@
"description": "Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port.",
"description": "Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port.",
"type": "number",
"type": "number",
"default": {{ default_n_antenna_ul }}
"default": {{ default_n_antenna_ul }}
},
"txa0cc00_active": {
"title": "Lopcomm ORAN TX array carriers (TXA0CC00)",
"description": "Activate or inactivate Lopcomm ORAN TX array carriers (TXA0CC00)",
"type": "string",
"default": "ACTIVE",
"enum": [
"ACTIVE",
"INACTIVE"
]
},
"rxa0cc00_active": {
"title": "Lopcomm ORAN RX array carriers (RXA0CC00)",
"description": "Activate or inactivate Lopcomm ORAN RX array carriers (RXA0CC00)",
"type": "string",
"default": "ACTIVE",
"enum": [
"ACTIVE",
"INACTIVE"
]
}
}
}
}
}
}
software/ors-amarisoft/instance-enb.jinja2.cfg
View file @
5f2ea559
...
@@ -8,6 +8,8 @@ parts =
...
@@ -8,6 +8,8 @@ parts =
amarisoft-rf-info-service
amarisoft-rf-info-service
{% if slapparameter_dict.get('rrh', '') == "Lopcomm ORAN" %}
{% if slapparameter_dict.get('rrh', '') == "Lopcomm ORAN" %}
lopcomm-rrh-stats-service
lopcomm-rrh-stats-service
lopcomm-rrh-config-template
lopcomm-cu-config
check-lopcomm-vswr.py
check-lopcomm-vswr.py
check-lopcomm-lof.py
check-lopcomm-lof.py
check-lopcomm-rssi.py
check-lopcomm-rssi.py
...
@@ -151,17 +153,40 @@ recipe = slapos.recipe.template:jinja2
...
@@ -151,17 +153,40 @@ recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-stats.log
log-output = ${directory:var}/log/lopcomm-rrh-stats.log
json-log-output = ${directory:var}/log/lopcomm-rrh-stats.json.log
json-log-output = ${directory:var}/log/lopcomm-rrh-stats.json.log
cfg-json-log-output = ${directory:var}/log/lopcomm-rrh-config.json.log
context =
context =
section directory directory
section directory directory
key slapparameter_dict slap-configuration:configuration
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
key log_file :log-output
key json_log_file :json-log-output
key json_log_file :json-log-output
key cfg_json_log_file :cfg-json-log-output
raw testing {{ slapparameter_dict.get("testing", False) }}
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
mode = 0775
mode = 0775
url = {{ lopcomm_rrh_stats_template }}
url = {{ lopcomm_rrh_stats_template }}
output = ${directory:bin}/lopcomm-rrh-stats.py
output = ${directory:bin}/lopcomm-rrh-stats.py
[lopcomm-cu-config]
<= config-base
url = {{ cu_config_template }}
output = ${directory:etc}/cu_config.xml
[lopcomm-rrh-config-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-config.log
context =
section directory directory
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw CreateProcessingEle_template {{ CreateProcessingEle_template }}
key cu_config_template lopcomm-cu-config:output
mode = 0775
url = {{ lopcomm_rrh_config_template }}
output = ${directory:script}/lopcomm-rrh-config.py
[amarisoft-stats-service]
[amarisoft-stats-service]
recipe = slapos.cookbook:wrapper
recipe = slapos.cookbook:wrapper
command-line = ${amarisoft-stats-template:output}
command-line = ${amarisoft-stats-template:output}
...
...
software/ors-amarisoft/instance-tdd1900-enb-epc-input-schema.json
View file @
5f2ea559
...
@@ -181,6 +181,26 @@
...
@@ -181,6 +181,26 @@
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
2
"default"
:
2
},
"txa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
},
"rxa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
}
}
}
}
}
}
software/ors-amarisoft/instance-tdd1900-enb-input-schema.json
View file @
5f2ea559
...
@@ -163,6 +163,26 @@
...
@@ -163,6 +163,26 @@
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
2
"default"
:
2
},
"txa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
},
"rxa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
}
}
}
}
}
}
software/ors-amarisoft/instance-tdd2600-enb-epc-input-schema.json
View file @
5f2ea559
...
@@ -181,6 +181,26 @@
...
@@ -181,6 +181,26 @@
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
2
"default"
:
2
},
"txa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
},
"rxa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
}
}
}
}
}
}
software/ors-amarisoft/instance-tdd2600-enb-input-schema.json
View file @
5f2ea559
...
@@ -163,6 +163,26 @@
...
@@ -163,6 +163,26 @@
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
2
"default"
:
2
},
"txa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
},
"rxa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
}
}
}
}
}
}
software/ors-amarisoft/instance-tdd3500-enb-epc-input-schema.json
View file @
5f2ea559
...
@@ -181,6 +181,26 @@
...
@@ -181,6 +181,26 @@
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
2
"default"
:
2
},
"txa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
},
"rxa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
}
}
}
}
}
}
software/ors-amarisoft/instance-tdd3500-enb-input-schema.json
View file @
5f2ea559
...
@@ -163,6 +163,26 @@
...
@@ -163,6 +163,26 @@
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
2
"default"
:
2
},
"txa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
},
"rxa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
}
}
}
}
}
}
software/ors-amarisoft/instance-tdd3700-enb-epc-input-schema.json
View file @
5f2ea559
...
@@ -181,6 +181,26 @@
...
@@ -181,6 +181,26 @@
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
2
"default"
:
2
},
"txa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
},
"rxa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
}
}
}
}
}
}
software/ors-amarisoft/instance-tdd3700-enb-input-schema.json
View file @
5f2ea559
...
@@ -163,6 +163,26 @@
...
@@ -163,6 +163,26 @@
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
2
"default"
:
2
},
"txa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN TX array carriers (TXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
},
"rxa0cc00_active"
:
{
"title"
:
"Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"description"
:
"Activate or inactivate Lopcomm ORAN RX array carriers (RXA0CC00)"
,
"type"
:
"string"
,
"default"
:
"ACTIVE"
,
"enum"
:
[
"ACTIVE"
,
"INACTIVE"
]
}
}
}
}
}
}
software/ors-amarisoft/instance.cfg
View file @
5f2ea559
...
@@ -112,6 +112,9 @@ extra-context =
...
@@ -112,6 +112,9 @@ extra-context =
raw amarisoft_stats_template ${amarisoft-stats.jinja2.py:target}
raw amarisoft_stats_template ${amarisoft-stats.jinja2.py:target}
raw amarisoft_rf_info_template ${amarisoft-rf-info.jinja2.py:target}
raw amarisoft_rf_info_template ${amarisoft-rf-info.jinja2.py:target}
raw lopcomm_rrh_stats_template ${lopcomm-rrh-stats.jinja2.py:target}
raw lopcomm_rrh_stats_template ${lopcomm-rrh-stats.jinja2.py:target}
raw lopcomm_rrh_config_template ${lopcomm-rrh-config.jinja2.py:target}
raw CreateProcessingEle_template ${CreateProcessingEle.jinja2.xml:target}
raw cu_config_template ${cu_config.jinja2.xml:target}
raw openssl_location ${openssl:location}
raw openssl_location ${openssl:location}
raw default_dl_earfcn ${default-params:default-dl-earfcn}
raw default_dl_earfcn ${default-params:default-dl-earfcn}
raw default_lte_dl_freq ${default-params:default-lte-dl-freq}
raw default_lte_dl_freq ${default-params:default-lte-dl-freq}
...
...
software/ors-amarisoft/lopcomm-rrh-config.jinja2.py
0 → 100644
View file @
5f2ea559
#!{{ python_path }}
import
logging
import
time
import
xmltodict
from
logging.handlers
import
RotatingFileHandler
from
ncclient
import
manager
from
ncclient.operations
import
RPCError
from
ncclient.xml_
import
*
from
ncclient.devices.default
import
DefaultDeviceHandler
class
LopcommNetconfClient
:
def
__init__
(
self
):
log_file
=
"{{ log_file }}"
self
.
logger
=
logging
.
getLogger
(
'logger'
)
self
.
logger
.
setLevel
(
logging
.
DEBUG
)
handler
=
RotatingFileHandler
(
log_file
,
maxBytes
=
100000
,
backupCount
=
5
)
self
.
logger
.
addHandler
(
handler
)
formatter
=
logging
.
Formatter
(
"%(asctime)s [%(levelname)s] %(message)s"
)
handler
.
setFormatter
(
formatter
)
if
{{
testing
}}:
return
def
connect
(
self
,
host
,
port
,
user
,
password
):
if
{{
testing
}}:
return
self
.
address
=
(
host
,
port
)
self
.
logger
.
info
(
'Connecting to %s, user %s...'
%
(
self
.
address
,
user
))
self
.
conn
=
manager
.
connect
(
host
=
host
,
port
=
port
,
username
=
user
,
password
=
password
,
timeout
=
1800
,
device_params
=
{
'name'
:
'default'
},
hostkey_verify
=
False
)
self
.
logger
.
info
(
'Connection to %s successful'
%
(
self
.
address
,))
def
edit_config
(
self
,
config_files
):
for
config_file
in
config_files
:
with
open
(
config_file
)
as
f
:
config_xml
=
f
.
read
()
try
:
self
.
logger
.
info
(
'Sending edit-config RPC request...'
)
self
.
conn
.
edit_config
(
target
=
'running'
,
config
=
config_xml
)
self
.
logger
.
info
(
'Edit-config RPC request sent successfully'
)
except
RPCError
as
e
:
self
.
logger
.
error
(
'Error sending edit-config RPC request: %s'
%
e
)
def
close
(
self
):
# Close not compatible between ncclient and netconf server
#self.conn.close()
pass
if
__name__
==
'__main__'
:
nc
=
LopcommNetconfClient
()
while
True
:
try
:
nc
.
connect
(
"192.168.0.210"
,
830
,
"oranuser"
,
"oranpassword"
)
nc
.
edit_config
([
"{{ CreateProcessingEle_template }}"
,
"{{ cu_config_template }}"
])
break
except
Exception
as
e
:
nc
.
logger
.
debug
(
'Got exception, waiting 10 seconds before reconnecting...'
)
nc
.
logger
.
debug
(
e
)
time
.
sleep
(
10
)
finally
:
nc
.
close
()
software/ors-amarisoft/lopcomm-rrh-stats.jinja2.py
View file @
5f2ea559
...
@@ -14,17 +14,25 @@ class LopcommNetconfClient:
...
@@ -14,17 +14,25 @@ class LopcommNetconfClient:
log_file
=
"{{ log_file }}"
log_file
=
"{{ log_file }}"
json_log_file
=
"{{ json_log_file }}"
json_log_file
=
"{{ json_log_file }}"
cfg_json_log_file
=
"{{ cfg_json_log_file }}"
self
.
logger
=
logging
.
getLogger
(
'logger'
)
self
.
logger
=
logging
.
getLogger
(
'logger'
)
self
.
json_logger
=
logging
.
getLogger
(
'json_logger'
)
self
.
json_logger
=
logging
.
getLogger
(
'json_logger'
)
self
.
cfg_json_logger
=
logging
.
getLogger
(
'cfg_json_logger'
)
self
.
logger
.
setLevel
(
logging
.
DEBUG
)
self
.
logger
.
setLevel
(
logging
.
DEBUG
)
self
.
json_logger
.
setLevel
(
logging
.
DEBUG
)
self
.
json_logger
.
setLevel
(
logging
.
DEBUG
)
self
.
cfg_json_logger
.
setLevel
(
logging
.
DEBUG
)
json_handler
=
RotatingFileHandler
(
json_log_file
,
maxBytes
=
100000
,
backupCount
=
5
)
json_handler
=
RotatingFileHandler
(
json_log_file
,
maxBytes
=
100000
,
backupCount
=
5
)
json_formatter
=
logging
.
Formatter
(
'{"time": "%(asctime)s", "log_level": "%(levelname)s", "message": "%(message)s", "data": %(data)s}'
)
json_formatter
=
logging
.
Formatter
(
'{"time": "%(asctime)s", "log_level": "%(levelname)s", "message": "%(message)s", "data": %(data)s}'
)
json_handler
.
setFormatter
(
json_formatter
)
json_handler
.
setFormatter
(
json_formatter
)
self
.
json_logger
.
addHandler
(
json_handler
)
self
.
json_logger
.
addHandler
(
json_handler
)
cfg_json_handler
=
RotatingFileHandler
(
cfg_json_log_file
,
maxBytes
=
100000
,
backupCount
=
5
)
cfg_json_formatter
=
logging
.
Formatter
(
'{"time": "%(asctime)s", "log_level": "%(levelname)s", "message": "%(message)s", "data": %(data)s}'
)
cfg_json_handler
.
setFormatter
(
cfg_json_formatter
)
self
.
cfg_json_logger
.
addHandler
(
cfg_json_handler
)
handler
=
RotatingFileHandler
(
log_file
,
maxBytes
=
100000
,
backupCount
=
5
)
handler
=
RotatingFileHandler
(
log_file
,
maxBytes
=
100000
,
backupCount
=
5
)
self
.
logger
.
addHandler
(
handler
)
self
.
logger
.
addHandler
(
handler
)
formatter
=
logging
.
Formatter
(
"%(asctime)s [%(levelname)s] %(message)s"
)
formatter
=
logging
.
Formatter
(
"%(asctime)s [%(levelname)s] %(message)s"
)
...
@@ -48,7 +56,7 @@ class LopcommNetconfClient:
...
@@ -48,7 +56,7 @@ class LopcommNetconfClient:
password
=
password
,
password
=
password
,
timeout
=
1800
,
timeout
=
1800
,
device_params
=
{
device_params
=
{
'name'
:
'
huawei
'
'name'
:
'
default
'
},
},
hostkey_verify
=
False
)
hostkey_verify
=
False
)
...
@@ -71,7 +79,11 @@ class LopcommNetconfClient:
...
@@ -71,7 +79,11 @@ class LopcommNetconfClient:
self
.
logger
.
debug
(
'Got new notification from %s...'
%
(
self
.
address
,))
self
.
logger
.
debug
(
'Got new notification from %s...'
%
(
self
.
address
,))
result_in_xml
=
result
.
_raw
result_in_xml
=
result
.
_raw
data_dict
=
xmltodict
.
parse
(
result_in_xml
)
data_dict
=
xmltodict
.
parse
(
result_in_xml
)
self
.
json_logger
.
info
(
''
,
extra
=
{
'data'
:
data_dict
})
if
'alarm-notif'
in
data_dict
[
'notification'
]:
self
.
json_logger
.
info
(
''
,
extra
=
{
'data'
:
data_dict
})
else
:
self
.
cfg_json_logger
.
info
(
''
,
extra
=
{
'data'
:
data_dict
})
def
close
(
self
):
def
close
(
self
):
# Close not compatible between ncclient and netconf server
# Close not compatible between ncclient and netconf server
...
...
software/ors-amarisoft/netconf/CreateProcessingEle.jinja2.xml
0 → 100644
View file @
5f2ea559
<config
xmlns=
"urn:ietf:params:xml:ns:netconf:base:1.0"
>
<processing-elements
xmlns=
"urn:o-ran:processing-element:1.0"
>
<transport-session-type>
CPRI-INTERFACE
</transport-session-type>
<ru-elements>
<name>
PE0
</name>
<transport-flow>
<interface-name>
eth1
</interface-name>
</transport-flow>
</ru-elements>
</processing-elements>
</config>
\ No newline at end of file
software/ors-amarisoft/netconf/cu_config.jinja2.xml
0 → 100644
View file @
5f2ea559
<config
xmlns=
"urn:ietf:params:xml:ns:netconf:base:1.0"
>
<user-plane-configuration
xmlns=
"urn:o-ran:uplane-conf:1.0"
>
<!-- low-level-t[r]x-links -->
<low-level-tx-links>
<name>
TXA0P00C00
</name>
<processing-element>
PE0
</processing-element>
<tx-array-carrier>
TXA0CC00
</tx-array-carrier>
<low-level-tx-endpoint>
TXA0P00C00
</low-level-tx-endpoint>
</low-level-tx-links>
<low-level-tx-links>
<name>
TXA0P01C00
</name>
<processing-element>
PE0
</processing-element>
<tx-array-carrier>
TXA0CC00
</tx-array-carrier>
<low-level-tx-endpoint>
TXA0P01C00
</low-level-tx-endpoint>
</low-level-tx-links>
<low-level-rx-links>
<name>
RXA0P00C00
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<low-level-rx-endpoint>
RXA0P00C00
</low-level-rx-endpoint>
</low-level-rx-links>
<low-level-rx-links>
<name>
PRACH0P00C00
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<low-level-rx-endpoint>
PRACH0P00C00
</low-level-rx-endpoint>
</low-level-rx-links>
<low-level-rx-links>
<name>
RXA0P01C00
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<low-level-rx-endpoint>
RXA0P01C00
</low-level-rx-endpoint>
</low-level-rx-links>
<low-level-rx-links>
<name>
PRACH0P01C00
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<low-level-rx-endpoint>
PRACH0P01C00
</low-level-rx-endpoint>
</low-level-rx-links>
<!-- low-level-t[r]x-endpoints -->
<low-level-tx-endpoints>
<name>
TXA0P00C00
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
0
</eaxc-id>
</e-axcid>
</low-level-tx-endpoints>
<low-level-tx-endpoints>
<name>
TXA0P01C00
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
1
</eaxc-id>
</e-axcid>
</low-level-tx-endpoints>
<low-level-rx-endpoints>
<name>
RXA0P00C00
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
0
</eaxc-id>
</e-axcid>
</low-level-rx-endpoints>
<low-level-rx-endpoints>
<name>
PRACH0P00C00
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
8
</eaxc-id>
</e-axcid>
</low-level-rx-endpoints>
<low-level-rx-endpoints>
<name>
RXA0P01C00
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
1
</eaxc-id>
</e-axcid>
</low-level-rx-endpoints>
<low-level-rx-endpoints>
<name>
PRACH0P01C00
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
9
</eaxc-id>
</e-axcid>
</low-level-rx-endpoints>
<!-- t[r]x-array-carriers -->
<tx-array-carriers>
<name>
TXA0CC00
</name>
<absolute-frequency-center>
300
</absolute-frequency-center>
<center-of-channel-bandwidth>
2140000000
</center-of-channel-bandwidth>
<channel-bandwidth>
20000000
</channel-bandwidth>
<active>
{{ slapparameter_dict.get('txa0cc00_active', 'ACTIVE') }}
</active>
<rw-duplex-scheme>
FDD
</rw-duplex-scheme>
<gain>
50
</gain>
<downlink-radio-frame-offset>
0
</downlink-radio-frame-offset>
<downlink-sfn-offset>
0
</downlink-sfn-offset>
</tx-array-carriers>
<rx-array-carriers>
<name>
RXA0CC00
</name>
<absolute-frequency-center>
18300
</absolute-frequency-center>
<center-of-channel-bandwidth>
1950000000
</center-of-channel-bandwidth>
<channel-bandwidth>
20000000
</channel-bandwidth>
<active>
{{ slapparameter_dict.get('rxa0cc00_active', 'ACTIVE') }}
</active>
<downlink-radio-frame-offset>
0
</downlink-radio-frame-offset>
<downlink-sfn-offset>
0
</downlink-sfn-offset>
<gain-correction>
0.0
</gain-correction>
<n-ta-offset>
0
</n-ta-offset>
</rx-array-carriers>
</user-plane-configuration>
</config>
\ No newline at end of file
software/ors-amarisoft/software.cfg
View file @
5f2ea559
...
@@ -22,6 +22,8 @@ parts +=
...
@@ -22,6 +22,8 @@ parts +=
ue_db.jinja2.cfg
ue_db.jinja2.cfg
ue-lte.jinja2.cfg
ue-lte.jinja2.cfg
ue-nr.jinja2.cfg
ue-nr.jinja2.cfg
CreateProcessingEle.jinja2.xml
cu_config.jinja2.xml
sib23.asn
sib23.asn
iperf3
iperf3
eggs
eggs
...
@@ -47,6 +49,9 @@ url = ${:_profile_base_location_}/${:_update_hash_filename_}
...
@@ -47,6 +49,9 @@ url = ${:_profile_base_location_}/${:_update_hash_filename_}
[lopcomm-rrh-stats.jinja2.py]
[lopcomm-rrh-stats.jinja2.py]
<= download-base
<= download-base
[lopcomm-rrh-config.jinja2.py]
<= download-base
[template-lte-enb-epc]
[template-lte-enb-epc]
<= download-base
<= download-base
...
@@ -79,6 +84,10 @@ url = ${:_profile_base_location_}/${:_buildout_section_name_}
...
@@ -79,6 +84,10 @@ url = ${:_profile_base_location_}/${:_buildout_section_name_}
recipe = slapos.recipe.build:download
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/config/${:_buildout_section_name_}
url = ${:_profile_base_location_}/config/${:_buildout_section_name_}
[copy-netconf-to-instance]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/netconf/${:_buildout_section_name_}
[enb.jinja2.cfg]
[enb.jinja2.cfg]
<= copy-config-to-instance
<= copy-config-to-instance
filename = enb.jinja2.cfg
filename = enb.jinja2.cfg
...
@@ -107,6 +116,13 @@ filename = ue-lte.jinja2.cfg
...
@@ -107,6 +116,13 @@ filename = ue-lte.jinja2.cfg
<= copy-config-to-instance
<= copy-config-to-instance
filename = ue-nr.jinja2.cfg
filename = ue-nr.jinja2.cfg
[CreateProcessingEle.jinja2.xml]
<= copy-netconf-to-instance
filename = CreateProcessingEle.jinja2.xml
[cu_config.jinja2.xml]
<= copy-netconf-to-instance
filename = cu_config.jinja2.xml
[eggs]
[eggs]
recipe = zc.recipe.egg
recipe = zc.recipe.egg
eggs =
eggs =
...
...
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