Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The important repos 

  • Apt repo 
    • One for testing: packages-test (local)
    • 2 for production: packages-prod (local) + packages (virtual)
  • Docker repo
    • For Testing docker-test (virtual) contains:

      ...

          • docker-cwag-test (local)

      ...

          • docker-orc8r-test (local)

      ...

          • docker-agw-test (local)
        • One for production docker (virtual) contains:
            -
              • docker-cwag-prod (local)
            -
              • docker-orc8r-prod (local)
            -
              • docker-agw-prod (local)
          • Helm repo repo
            • One for testing helm-test (local)
            • 2 for production helm(virtual) contains helm-prod (local)
          • Blob storage storage
            • One for testing blob-test (local)
            • 2 for production blob (virtual) contains blob-prod (local)


          AGWPackage grouping:


          For the AGW builds, we currently maintain a repository for each release and OS. For example, focal-1.5.4 directory contains the Magma AGW and Sctpd package for release 1.5.4, as well as all third party dependencies of that build. Similarly, focal-1.7.0 tracks the same for Magma release 1.7.0. 

          Design choice 1: This leads to duplication of several third-party packages, which do not change across different releases, but have to exist in multiple directories. This is a side-effect of the CI job, which pushes all artifacts to the particular release directory. An obvious fix for this is to modify the CI job to publish all packages to a single repo, but label them such that the package manager can install the correct version of every third-party dependency.

          Pydep versioning: Currently the AGW build script creates the python dependency list, which contains the package name and the smallest version of that package which should be installed for the Magma AGW package to work. That is, it contains “pkg_name P>=version V  to ensure that any version newer than version V of package P is installed before the Magma package is installed.

          Design choice 2: Does the “>=” check for package versions create unstable environments when installing Magma AGW? Do we need version pinning, such that all dependencies are pinned with “pkg_name P = version V”. 

          ...