Adapts PLA to new SOL006 NSD descriptors format

Change-Id: I642e201b226aa29a8da1f59f6a7380c83d743bb1
Signed-off-by: garciaale <agarcia@whitestack.com>
(cherry picked from commit b2b0a448ae437a5ecb9e49f34e4ed3de9ccceeae)
11 files changed
tree: 9a4e1a0a14c6ef22a0e31c72511c33b3d06725fd
  1. .gitignore
  2. CONTRIBUTING.md
  3. Dockerfile
  4. Jenkinsfile
  5. LICENSE
  6. MANIFEST.in
  7. Makefile
  8. README.md
  9. debian/
  10. devops-stages/
  11. docker/
  12. docs/
  13. osm_pla/
  14. requirements.txt
  15. setup.cfg
  16. setup.py
  17. stdeb.cfg
  18. test-requirements.txt
  19. 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