Update pip requirements to pass stage2 and stage3 in all modules
[osm/PLA.git] / README.md
1 <!--
2 Copyright 2020 ETSI
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8    http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13 implied.
14 See the License for the specific language governing permissions and
15 limitations under the License
16 -->
17 # OSM PLA
18
19 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.
20
21 ## Getting Started
22
23 Please refer to the [PLA User's Guide](docs/pla_users_guide.md) for a description on how to enable and configure the placement functionality.
24
25
26 ## Running the tests
27
28 The preferred method to run the PLA unit test is to use tox.
29
30 `$ tox`
31
32 Please note that some of the unit test modules have dependencies to Minizinc, e.g. test_mznmodels.py and test_mznPlacementConductor.py.
33 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):
34
35 ```
36 $ sudo snap install minizinc --classic
37 $ sudo mkdir -p /minizinc/bin
38 $ sudo ln -s /snap/bin/minizinc /minizinc/bin/minizinc 
39 ```
40
41 ## Deployment
42
43 PLA is an optional module in OSM. It is installed together with OSM by adding ``--pla`` to the install script.
44
45 `$ ./install_osm.sh --pla`
46
47 ## Built With
48
49 * [Python](www.python.org/) - the primary programming language for OSM
50 * [Minizinc](www.minizinc.org) - a free and open source constraint modelling language
51
52 ## Contributing
53
54 Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
55
56 ## Versioning
57
58 We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://osm.etsi.org/gitweb/?p=osm/PLA.git;a=tags).
59
60 ## License
61
62 This project is licensed under the Apache2 License - see the [LICENSE.md](LICENSE) file for details
63
64 ## Acknowledgments
65
66 * **Paolo Dragone** - *PyMzn, a python library that wraps and enhance Minizinc* - [pymzn](https://github.com/paolodragone/pymzn)
67 * **Billie Thompson** - *Initial work on README.md* - [PurpleBooth](https://github.com/PurpleBooth)
68