Update from master

Squashed commit of the following:

commit 7cedba14204492f7373db6e3362d04181658fc1b
Author: Mark Beierl <mark.beierl@canonical.com>
Date:   Wed May 10 21:35:27 2023 -0400

    Update to Python 3.10 and Ubuntu 22.04

    Removal of deprecated event loop
    Updated pip requirements

    Change-Id: I0eeba1b700187ec87197f5b28e6e20fd15bd945b
    Signed-off-by: Mark Beierl <mark.beierl@canonical.com>

commit d1dfd8b598a2852cc6400d323b29c405816f36a6
Author: garciadeblas <gerardo.garciadeblas@telefonica.com>
Date:   Tue Apr 18 18:25:13 2023 +0200

    Set autoescape to True in Jinja2 environment

    Change-Id: I2af8d9e30f610bb18928b4c85b16ecd6754129b8
    Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>

commit 2da4c43fa6e13582ffb79e852c47e986bf4a1384
Author: garciadeblas <gerardo.garciadeblas@telefonica.com>
Date:   Tue Apr 18 14:40:48 2023 +0200

    Clean stage-archive.sh

    Change-Id: Ie0a1c29cd15f4b9510bdbf8e14a051df93b24edd
    Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>

commit 9bd1ee2d3893c1450b3650ead9e71b5e01d0883f
Author: garciadeblas <gerardo.garciadeblas@telefonica.com>
Date:   Tue Mar 28 13:45:28 2023 +0200

    Fix black and cover errors

    Change-Id: I5525e17a4536686091967ceb3ac2900bce47d9e2
    Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>

Change-Id: I1f150e4b0bbe8c537940a2445c94bdf8da4c7e60
Signed-off-by: Dario Faccin <dario.faccin@canonical.com>
9 files changed
tree: 3289cfe39361d99201572d1d78397d5c49b527f8
  1. .gitignore
  2. .gitlab-ci.yml
  3. CONTRIBUTING.md
  4. Dockerfile
  5. Jenkinsfile
  6. LICENSE
  7. MANIFEST.in
  8. README.md
  9. devops-stages/
  10. docker/
  11. docs/
  12. nose2.cfg
  13. osm_pla/
  14. requirements-dev.in
  15. requirements-dev.txt
  16. requirements-dist.in
  17. requirements-dist.txt
  18. requirements-test.in
  19. requirements-test.txt
  20. requirements.in
  21. requirements.txt
  22. setup.cfg
  23. setup.py
  24. stdeb.cfg
  25. tox.ini
README.md

OSM PLA

The PLA module provides computation of optimal placement of xNFs over VIMs by matching NS specific requirements to infrastructure availability and run-time metrics, while considering cost of compute/network.

Getting Started

Please refer to the PLA User's Guide for a description on how to enable and configure the placement functionality.

Running the tests

The preferred method to run the PLA unit test is to use tox.

$ tox

Please note that some of the unit test modules have dependencies to Minizinc, e.g. test_mznmodels.py and test_mznPlacementConductor.py. If these tests are to be performed outside a PLA container context, like .e.g. from CLI or from within an IDE, setup the environment as follows (linux example):

$ sudo snap install minizinc --classic
$ sudo mkdir -p /minizinc/bin
$ sudo ln -s /snap/bin/minizinc /minizinc/bin/minizinc 

Deployment

PLA is an optional module in OSM. It is installed together with OSM by adding --pla to the install script.

$ ./install_osm.sh --pla

Built With

  • Python - the primary programming language for OSM
  • Minizinc - a free and open source constraint modelling language

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the Apache2 License - see the LICENSE.md file for details

Acknowledgments

  • Paolo Dragone - PyMzn, a python library that wraps and enhance Minizinc - pymzn
  • Billie Thompson - Initial work on README.md - PurpleBooth