Skip to content
Snippets Groups Projects
  1. Dec 05, 2024
  2. Nov 25, 2024
    • Robert Schmidt's avatar
      CI: Clean_Test_Server_Images(): harmonize code · 644990a2
      Robert Schmidt authored
      - pass parameter directly instead of indirectly via class
      - harmonize to svr_id to read through common code in the next commits
      - pass images to express which images will be deleted
      - refactor function to use "with" for cls_cmd, and return success (or
        not)
      644990a2
    • Robert Schmidt's avatar
      CI: Pull_Image_from_Registry(): harmonize code · dee9ce26
      Robert Schmidt authored
      - pass parameter directly instead of indirectly via class
      - call it simply "images", to harmonize with clean-function later
      - harmonize to svr_id as in the previous commit
      - rewrite function to use with-statement with cls_cmd
      - optionally pass a tag to use (which will be used in a test, and can be
        used to pull flexric)
      - Introduce Pull_Image() which does the actual pulling, can pull from
        any registry, and will be reused in the case of pulling from cluster.
      dee9ce26
  3. Nov 22, 2024
  4. Nov 12, 2024
    • Robert Schmidt's avatar
      Remove Username/Password from cls_containerize and use GetCredentials() · 9f5d8221
      Robert Schmidt authored
      In the last commits, SSHconnection class has been removed from
      cls_containerize.py. We therefore don't need the username and password,
      as cls_cmd uses certificates only. Remove the usage of the username and
      the password, and harmonize the use of GetCredentials().
      9f5d8221
    • Robert Schmidt's avatar
      Repair and refactor proxy build function · 6a36db45
      Robert Schmidt authored
      Recent refactoring replaced the CreateWorkspace function call with a
      dedicated XML step (for clarity, and because it avoids needless
      recreation of workspaces). In the proxy function, the same
      CreateWorkspace xml step has been added, cloning the OAI RAN repo, when
      we actually need the repository for the proxy. Hence, fix this by
      calling the CreateWorkspace() function manually, but only when
      necessary, to build the proxy. (It would only be a problem if the
      pipeline would rebuild the proxy, which did not happen because not much
      work is happening on the proxy repo).
      
      Further, refactoring and simplication of the proxy build function were
      done:
      
      - never tag proxy with develop, that makes no sense
      - overwrite CreateWorkspace() info after having created and used the
        workspace (the "if" to build the proxy)
      - simplify copying of logs
      - add simple unit test
      - remove check for ubuntu; the dependcy is "docker". Simplify the code
        to not obscure with a class variable.
      6a36db45
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      Remove CheckAndAddRoute(), replace with scripts on machines · e7225e12
      Robert Schmidt authored
      Remove CheckAndAddRoute(), as it is complicated to read, uses a
      multitude of hostname/IP/password combinations. Replace with scripts on
      the machines, which, as of this commit, are:
      
      - porcepix: ~/after-reboot.sh
      - ofqot: ~/after-reboot.sh
      - nepes: ~/after-reboot.sh
      - obelix: ~/how-to-resetup-obelix-out-of-reboot.sh
      e7225e12
  5. Nov 09, 2024
    • Robert Schmidt's avatar
      Do not retrieve deployment logs during DeployObject · 9d4337c5
      Robert Schmidt authored
      Since commit 041b2b2d, the CI main loop
      iterates over all steps, even if there has been a problem during an
      earlier XML step. In all cases, UndeployObject() is marked to always
      run, as we always need to make sure that all deployed services are
      terminated. UndeployObject() always recovers logs. Hence, it's not
      necessary to do it here as well; it leads to duplicated logs.
      
      This is visible in all pipeline with a failed deployment: the logs
      appear twice.
      9d4337c5
  6. Nov 04, 2024
  7. Oct 30, 2024
  8. Oct 22, 2024
    • Robert Schmidt's avatar
      docker-compose: write correct container image to use for 4G and asan · 71bd10b4
      Robert Schmidt authored and Thomas Laurent's avatar Thomas Laurent committed
      71bd10b4
    • Robert Schmidt's avatar
      Build CI images for eNB/lteUE with sanitizers, and use in 4G RF sim · cb7942d4
      Robert Schmidt authored and Thomas Laurent's avatar Thomas Laurent committed
      cb7942d4
    • Robert Schmidt's avatar
      CI: remove unknown imports and uses of names · 670e1fb8
      Robert Schmidt authored
      pyflakes warns about various errors, addressed here. For cls_cluster.py,
      remove (unknown) sys.exit and replace through Exception, as sys.exit()
      has the unwanted effect that the CI script would stop.  Instead, raise
      an Exception that would show the problem in the HTML, and ensures that
      the script runs until the end.
      
      These are the warnings flagged by pyflakes.
      
          cls_cluster.py:297:4: undefined name 'sys'
      
          cls_containerize.py:39:1: 'subprocess' imported but unused
          cls_containerize.py:41:1: 'threading' imported but unused
          cls_containerize.py:43:1: 'multiprocessing.Process' imported but unused
          cls_containerize.py:43:1: 'multiprocessing.Lock' imported but unused
          cls_containerize.py:43:1: 'multiprocessing.SimpleQueue' imported but unused
          cls_containerize.py:49:1: 'cls_cluster as OC' imported but unused
          cls_containerize.py:50:1: redefinition of unused 'cls_cmd' from line 42
      
          cls_module.py:28:1: 'os' imported but unused
          cls_module.py:29:1: 'sys' imported but unused
          cls_module.py:34:1: 'subprocess' imported but unused
          cls_module.py:35:1: 'datetime.datetime' imported but unused
          cls_module.py:211:11: undefined name 'sshconnection'
      
          cls_oaicitest.py:37:1: 'pexpect' imported but unused
          cls_oaicitest.py:47:1: 'cls_cluster as OC' imported but unused
          cls_oaicitest.py:54:1: 'matplotlib.pyplot as plt' imported but unused
          cls_oaicitest.py:55:1: 'numpy as np' imported but unused
      
          cls_oai_html.py:34:1: 'sys' imported but unused
          cls_oai_html.py:41:1: 'multiprocessing.Process' imported but unused
          cls_oai_html.py:41:1: 'multiprocessing.Lock' imported but unused
          cls_oai_html.py:41:1: 'multiprocessing.SimpleQueue' imported but unused
      
          cls_physim.py:37:1: 'multiprocessing.SimpleQueue' imported but unused
      
          cls_static_code_analysis.py:39:1: 'time' imported but unused
          cls_static_code_analysis.py:40:1: 'multiprocessing.Process' imported but unused
          cls_static_code_analysis.py:40:1: 'multiprocessing.Lock' imported but unused
          cls_static_code_analysis.py:40:1: 'multiprocessing.SimpleQueue' imported but unused
      
          epc.py:41:1: 'multiprocessing.Process' imported but unused
          epc.py:41:1: 'multiprocessing.Lock' imported but unused
          epc.py:41:1: 'multiprocessing.SimpleQueue' imported but unused
      
          main.py:60:1: 'pexpect' imported but unused
          main.py:66:1: 'datetime' imported but unused
          main.py:68:1: redefinition of unused 'subprocess' from line 63
          main.py:70:1: 'multiprocessing.Process' imported but unused
          main.py:70:1: 'multiprocessing.Lock' imported but unused
          main.py:70:1: 'multiprocessing.SimpleQueue' imported but unused
      
          provideUniqueImageTag.py:2:1: 'os' imported but unused
      670e1fb8
    • Robert Schmidt's avatar
      Remove pyshark import: is not used · 8ef52d54
      Robert Schmidt authored
      8ef52d54
  9. Sep 30, 2024
  10. Sep 28, 2024
    • Robert Schmidt's avatar
      2b67b0e1
    • Robert Schmidt's avatar
      Implement CreateWorkspace() through script, print dir in HTML · 60b9649e
      Robert Schmidt authored
      Use a script, which can be tested independently of CI code (by running
      it on the host on which it will be used), and print the directory that
      has been prepared in the HTML.  Also, in the description, use the
      infinitive/imperative(?) of the verb to harmonize with other steps.
      60b9649e
    • Robert Schmidt's avatar
      Reimplement DeployObject()/UndeployObject() · 5201a5c3
      Robert Schmidt authored
      This reimplements the CI deployment functions, and makes them a bit more
      robust.  Concretely:
      
      - Introduce a generic "deployment tag" option that can be used to
        override the tag to use for specific images. By default, it is the
        current "branch-commitID[0:8]" tag name (requires the change from
        function ImageTagToUse() to CreateTag(), impacting also pull/push
        image functions)
      - Avoid sed for image names, and use an .env file that docker-compose
        picks up automatically; the deployment analyzes a potentially existing
        .env file and updates instead of simply overriding. For instance, some
        pipelines might use -asan images for the gNB and "normal" (non-asan)
        images for UE, and a simple overwriting might make the -asan image
        name tag disappear for the gNB, resulting in deployment failures).
        Finally, undeployment removes the .env file, so that there are no
        modifications in the repository after undeployment.
      - Redo the previous behavior of autodetecting asan, and use that (the
        current function always uses asan, no matter what)
      - Remove deployKind/displayedNewTags globals, as they are not necessary
      - Make the usedImage output in HTML slimmer
      - On undeployment, print service names next to undeploy analysis, and
        return success/failure.
      - Make the functions generally less verbose and easier to read
      
      Note that as of and only in this commit, deployment does not work, as
      all the YAML files have not been updated to work with this updated
      version.  The next commit adds tests for the new deployment, and updates
      one YAML file (also being used in the tests). The follow-up commit then
      modifies all YAML files.
      5201a5c3
    • Robert Schmidt's avatar
      Remove prematureExit/exitStatus, and implement in task main loop · 041b2b2d
      Robert Schmidt authored
      Use the previous commit on returning success from each task execution
      function, and implement handling of errors in the main loop. Add a
      script with which this is visible using Custom_Commands.
      041b2b2d
    • Robert Schmidt's avatar
  11. Sep 27, 2024
  12. Sep 26, 2024
  13. Sep 06, 2024
  14. Sep 04, 2024
Loading