1. 17 Nov, 2023 4 commits
    • Kirill Smelkov's avatar
      software/ors-amarisoft: Provide dedicated TAP interface for each Radio Unit · 49ce8ef5
      Kirill Smelkov authored
      SlapOS provides to each partition dedicated TAP interface, so that an instance
      could organize internal networking. In practice this is used by KVM software
      release and here in ors-amarisoft, where we feed to eNB such TAP interface for
      CPRI-based radio unit so that eNB, in turn, could provide access to CPRI
      Control and Management channel via provided TAP.
      
      However there is a problem: SlapOS provides only one TAP interface per
      instance, while we need to have one TAP for each Radio Unit.
      
      -> Solve this problem by creating TAP "subinterfaces" per each RU ourselves.
      
      The interfaces we create are full TAP interfaces, just we name them with prefix
      based on main interface, and we allocate only part of address space of sole
      SlapOS TAP to each subtap. For example if SlapOS provided us slaptap16 with
      2401:5180:0:66:a200::/71 IPv6 range and we want to split it for 2 radio units,
      we'll be splitting it into 3 regions as follows:
      
          slaptap16: split 2401:5180:0:66:a200::/71 by 2
          preserve         2401:5180:0:66:a200::/73
          -> slaptap16-1   2401:5180:0:66:a280::/73
          -> slaptap16-2   2401:5180:0:66:a300::/73
      
      Here we preserve 2401:5180:0:66:a200::/73 for usage on original slaptap16, and
      we create slaptap16-1 and slaptap16-2 with correspondingly allocated address
      range subparts for the RUs.
      
      The splitting is done easily but depends on having networking administration
      capability to be able to work. We solve this with employing
      /opt/amarisoft/setcap, which we already use for dnsmasq, and with compiled
      trampoline program because setcap does not really work directly on scripts.
      
      To avoid hard dependency on having network capability rights, we fallback to
      using regular SlapOS slaptap in case there is only one RU.
      
      ru/lopcomm/* and enb.cfg are adapted straightforwardly, but dnsmasq adaptation
      is left to a later step not to mix everything into one pile.
      
      NOTE that relying on setcap is not a good in the long term and should be
           reworked once SlapOS is improved to provide ability for instances to
           request several TAP interfaces. Please see discussion at
           !1471 (comment 194356)
           for details.
      
      /cc @jhuge, @lu.xu, @xavier_thompson, @Daetalus
      /reviewed-on !1471
      49ce8ef5
    • Kirill Smelkov's avatar
      software/ors-amarisoft: gnb: Move DRB configuration to standalone file · 695518f2
      Kirill Smelkov authored
      A preparatory step for multiRU for the same reason as for LTE and also to be
      able to support Carrier Aggregation in between NR and LTE cells in the future
      (called Dual Connectivity by 3GPP).
      
      /cc @xavier_thompson, @Daetalus
      /reviewed-by @jhuge, @lu.xu
      /reviewed-on !1473
      695518f2
    • Kirill Smelkov's avatar
      software/ors-amarisoft: enb: Don't use #define inside DRB template · accc2c86
      Kirill Smelkov authored
      When there will be multiple cells and so multiple DRB files referenced from enb.cfg,
      eNB will complain with an error that "there are multiple #define" for T_REORDERING.
      
      -> Use jinja2 templating instead to handle FDD/TDD conditions.
      
      /cc @xavier_thompson, @Daetalus
      /reviewed-by @jhuge, @lu.xu
      /reviewed-on nexedi/slapos!1473
      accc2c86
    • Kirill Smelkov's avatar
      software/ors-amarisoft: enb: Move DRB configuration to standalone file · 8c841ce6
      Kirill Smelkov authored
      This is preparatory step for multiRU: when there will be several LTE cells,
      each possibly having different RF mode, we'll need to configure DRB per-cell.
      
      -> Move DRB configuration to separate jinja2 template to prepare to handle that.
      
      This is 99% movement only, without changing the code for DRB profile. We'll
      adjust the DRB profile a bit as another preparatory step in the next patch.
      
      /cc @xavier_thompson, @Daetalus
      /reviewed-by @jhuge, @lu.xu
      /reviewed-on nexedi/slapos!1473
      8c841ce6
  2. 16 Nov, 2023 2 commits
  3. 15 Nov, 2023 2 commits
  4. 14 Nov, 2023 1 commit
  5. 13 Nov, 2023 1 commit
  6. 10 Nov, 2023 1 commit
    • Jérome Perrin's avatar
      component/firefox: set $GSETTINGS_SCHEMA_DIR in the wrapper · ceabc68a
      Jérome Perrin authored
      This fixes a crash happening after `setFile` selenium command under
      some conditions (it does not always happen, but I did not investigate
      in which conditions it happens exactly).
      
      [Parent 94283, Main Thread] ###!!! ASSERTION: No GSettings schemas are installed on the system: 'glib assertion', file /builds/worker/checkouts/gecko/toolkit/xre/nsSigHandlers.cpp:164
      ceabc68a
  7. 09 Nov, 2023 1 commit
  8. 08 Nov, 2023 2 commits
    • Jérome Perrin's avatar
      software/gitlab: update gitlab-ce to fix npm error · 07711f81
      Jérome Perrin authored
      Since yesterday, software/gitlab can no longer be installed with an
      error while installing gitlab_npm:
      
          ERR! Invalid dependency type requested: alias
      
      This is because we are using npm install to install a repository which
      uses yarn.lock to pin versions, so the install was done without having
      the dependencies pinned. Using an old yarn for this repository does not
      seem so easy, so we just have made a commit to convert the yarn.lock to
      a package-lock.json, so that we don't have to update the tooling here.
      
      Once we update, we'll rework this part of the software to use yarn, it
      seems gitlab still uses yarn in more recent versions.
      
      `git describe` also produced different (more correct) output, because
      some tags were missing in our mirror of gitlab-ce.
      07711f81
    • Julien Muchembled's avatar
      NEO: add missing software.cfg.json · ff05dd81
      Julien Muchembled authored
      ff05dd81
  9. 07 Nov, 2023 10 commits
  10. 06 Nov, 2023 5 commits
  11. 02 Nov, 2023 8 commits
  12. 01 Nov, 2023 1 commit
  13. 31 Oct, 2023 2 commits