• Kirill Smelkov's avatar
    software/ors-amarisoft: enb+ue: Switch to JSON schemas as the primary source... · 36ebb6ec
    Kirill Smelkov authored
    software/ors-amarisoft: enb+ue: Switch to JSON schemas as the primary source of defaults; stop rendering them
    
    JSON schemas for eNB/gNB and UE specify defaults for many parameters and the
    software release use those defaults when parameters are not explicitly
    specified on the instantiation.
    
    Some primary defaults - for bandwidth and n_antenna DL/UL - were setup in
    render-templates and propagated through all places to avoid duplicating them.
    
    Defaults for many other parameters were duplicated in both JSON schemas and in
    the code that handles those parameters.
    
    To avoid this duplication we either need to extend render-templates and put
    defaults for all the other many parameters there, or just switch to JSON
    schemas to be primary source of those defaults, and use the schemas on
    instantiation by automatically loading them and extracting defaults for all
    parameters from there.
    
    I decided to go the second way because it avoids additional layer of rendering
    and the need to keep on remembering not to put raw defaults in the JSON
    schemas. Evidently this is the same approach that Rapid CDN is going to take
    (see nexedi/slapos!1380 for details).
    
    In this patch we stop rendering JSON schemas and keep their last rendered
    result. In the later patches we will handle formed duplication there and go on
    to further merge enb and gnb.
    
    UE is handled brutally for now, because it will be much reworked after.
    
    Actually loading JSON schemas is left as TODO as I do not have resources to
    implement that now. Still this step is needed as precondition for further
    patches. I hope bit of duplication for enb/gnb parameters is ok, given that
    they are now centrally maintained and corresponding TODO warning is in place.
    36ebb6ec
instance-ors-enb.jinja2.cfg 4.85 KB