From ea2536db4f475f4aca0c5d187fdad0a1b202391e Mon Sep 17 00:00:00 2001 From: Kirill Smelkov <kirr@nexedi.com> Date: Wed, 29 Nov 2023 09:37:05 +0000 Subject: [PATCH] software/ors-amarisoft: enb: Factor sdr-busy promise to generic ru library and to be per-RU If we have several radio units, we want each of them to have its own sdr-busy promise. See https://lab.nexedi.com/nexedi/slapos.toolbox/merge_requests/125 for corresponding part in slapos.toolbox that makes check_sdr_busy per-RU configurable. Not touching gnb.jinja2.cfg as currently gnb does not support multicell at all, and in the future it will be sole enb.cfg to handle both LTE and NR simultaneously. /cc @xavier_thompson, @Daetalus /reviewed-by @jhuge, @lu.xu /reviewed-on https://lab.nexedi.com/nexedi/slapos/merge_requests/1485 --- software/ors-amarisoft/buildout.hash.cfg | 4 ++-- software/ors-amarisoft/instance-enb.jinja2.cfg | 9 --------- .../ors-amarisoft/ru/libinstance.jinja2.cfg | 18 +++++++++++++++++- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/software/ors-amarisoft/buildout.hash.cfg b/software/ors-amarisoft/buildout.hash.cfg index fc7f3db23..69e267536 100644 --- a/software/ors-amarisoft/buildout.hash.cfg +++ b/software/ors-amarisoft/buildout.hash.cfg @@ -32,7 +32,7 @@ md5sum = ab666fdfadbfc7d8a16ace38d295c883 [ru_libinstance.jinja2.cfg] _update_hash_filename_ = ru/libinstance.jinja2.cfg -md5sum = 5706b618cb26b3541bd9f5571d61db89 +md5sum = 4d29c7d06109cc9ecda37f60045336e8 [ru_sdr_libinstance.jinja2.cfg] _update_hash_filename_ = ru/sdr/libinstance.jinja2.cfg @@ -80,7 +80,7 @@ md5sum = 52da9fe3a569199e35ad89ae1a44c30e [template-enb] _update_hash_filename_ = instance-enb.jinja2.cfg -md5sum = 05c6562ec081f8d36e43f6ed2fd56092 +md5sum = 6074adea3c4b30c7b726981e9e40b8a7 [template-gnb] _update_hash_filename_ = instance-gnb.jinja2.cfg diff --git a/software/ors-amarisoft/instance-enb.jinja2.cfg b/software/ors-amarisoft/instance-enb.jinja2.cfg index 5b84b90c2..51e9411f4 100644 --- a/software/ors-amarisoft/instance-enb.jinja2.cfg +++ b/software/ors-amarisoft/instance-enb.jinja2.cfg @@ -14,7 +14,6 @@ parts = sshd-add-authorized-key sshd-promise {% endif %} - check-sdr-busy.py check-baseband-latency.py check-amarisoft-stats-log.py check-rx-saturated.py @@ -372,14 +371,6 @@ password = {{ slapparameter_dict['monitor-password'] | string }} <= monitor-promise-base name = ${:_buildout_section_name_} -[check-sdr-busy.py] -<= macro.promise -promise = check_sdr_busy -config-testing = {{ slapparameter_dict.get("testing", False) }} -config-sdr = {{ sdr }} -config-sdr_dev = 0 -config-dma_chan = 0 - [check-baseband-latency.py] <= macro.promise promise = check_baseband_latency diff --git a/software/ors-amarisoft/ru/libinstance.jinja2.cfg b/software/ors-amarisoft/ru/libinstance.jinja2.cfg index 5ceb06f3f..13128a643 100644 --- a/software/ors-amarisoft/ru/libinstance.jinja2.cfg +++ b/software/ors-amarisoft/ru/libinstance.jinja2.cfg @@ -153,12 +153,28 @@ hash-files = {%- set ru_ref = cell_ref if cell_ref != 'default' else 'RU' %} # {{ ru_ref }} ({{ ru_type}}) -{%- if trx == 'cpri' %} +{%- if trx == 'sdr' %} +{{ promise('%s-sdr-busy' % ru_ref) }} +promise = check_sdr_busy +config-sdr = {{ sdr }} +config-sdr_dev = 0 +config-dma_chan = 0 + +{%- elif trx == 'cpri' %} +{{ promise('%s-sdr-busy' % ru_ref) }} +promise = check_sdr_busy +config-sdr = {{ sdr }} +config-sdr_dev = {{ slapparameter_dict.get('sdr_number', 0) }} +config-dma_chan = {{ cell.cpri_port_number }} + {{ promise('%s-cpri-lock' % ru_ref) }} promise = check_cpri_lock config-sdr_dev = {{ slapparameter_dict.get('sdr_number', 0) }} config-sfp_port = {{ cell.cpri_port_number }} config-amarisoft-rf-info-log = ${amarisoft-rf-info-template:log-output} + +{%- else %} +{%- do bug('unreachable') %} {%- endif %} {#- driver-specific part #} -- 2.30.9