• Kirill Smelkov's avatar
    software/ors-amarisoft: MultiRU · ed138c6e
    Kirill Smelkov authored
    Hello up there. This merge-request brings in major update to ors-amarisoft
    software release: first eNB is significantly restructured to prepare base for
    further changes, and then we add support for working with multiple radio units
    and multiple cells with all LTE/NR and FDD/TDD simultaneously. All kinds of
    Carrier Aggregation - LTE+LTE, NR+NR and LTE+NR are now supported. All kinds of
    Handover - Intra-ENB, Inter-ENB with LTE→NR and NR→LTE are now supported as
    well. UE simulator is also updated to support multiple radio units, cells and
    UEs. In the new system configuration of RU, CELL, PEERCELL, PEER and UE objects
    are done via shared instances attached to the main eNB or UEsim instance.
    
    Most of the parameters become runtime settings instead of being static choice
    of particular software template. There is no longer multiple rendered
    softwares - all that remain is
    
    1. `software.cfg` for generic software, and
    2. `software-ors.cfg` for ORS.
    
    Switching to configuring things at runtime became possible because SlapOS Master
    recently switched to new JSON-editor with support for `oneOf`, arrays and
    conditionals - bits that make it possible to configure settings in the WEB UI
    with multiple choices for e.g. RF mode, cell or radio unit type.
    
    For ORS full backward compatibility is preserved via special proxy which
    translates ORS input schema to configuration objects of the new generic eNB.
    Since most our current ORS deployments are TDD, `software-tdd-ors.cfg` link to
    `software-ors.cfg` is also provided to preserve backward compatibility at
    software-release URL level for those instances.
    
    eNB and gNB are merged along the way. Unittests are improved. JSON schemas
    become primary source for defaults(*). Unnecessary parameters are removed and
    are now computed automatically. For example it is no longer needed to
    explicitly specify SSB NR-ARFCN for peer NR cell, or `txa0cc00_center_frequency`
    for Lopcomm RU. `tx_gain` and `rx_gain` become generic parameters that
    semantically apply uniformly to all Radio Units.
    
    A protection against buildout code injection via specially-crafted references
    of shared instances is installed. The problem was noticed because instantiation
    was failing with spaces in the references - a condition that is present by
    default on the testnodes. Solving the problem generally via custom "buildout
    encoding" was not hard and probably the solution might be useful not only for
    ors-amarisoft software release. Please see the patch `"Protect from buildout
    code injection"` for details.
    
    There are more minor enhancements and bug fixes in there.
    
    Please see individual patches for details.
    
    Kirill
    
    /cc @jhuge, @lu.xu, @xavier_thompson, @Daetalus
    /approved-by @tomo
    /reviewed-on nexedi/slapos!1533
    
    (*) this goes in line with similar design choice to make JSON schemas primary
        source of defaults in Rapid-CDN: nexedi/slapos!1380 .
    ed138c6e
buildout.hash.cfg 4.84 KB