README.txt 2.38 KB
Newer Older
1 2
fuss-manager
============
Elena Grandi's avatar
Elena Grandi committed
3

4 5 6 7
Dependencies
------------

* ``python3 >= 3.4``
8
* ``python3-setuptools``
9
* ``python3-tornado >= 4.4``
10
* ``python3-ruamel.yaml >= 0.15``
11
* ``python3-aiodns``
12
* ``python3-dateutil``
Elena Grandi's avatar
Elena Grandi committed
13
* ``inotify-tools >= 3.14``
14 15 16 17
* ``arpwatch >= 2.1a15``
* ``libjs-bootstrap4``
* ``libjs-popper.js``
* ``libjs-jquery``
18
* ``libjs-jquery-datatables``
Enrico Zini's avatar
Enrico Zini committed
19
* ``libjs-mustache``
20
* ``libjs-moment``
Enrico Zini's avatar
Enrico Zini committed
21
* ``fonts-fork-awesome``
22

23 24 25 26 27
To run tests and qa:

* ``python3-nose2``
* ``flake8``

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
To also run the tests that require a known network:

* ``libvirt-clients``
* ``libvirt-daemon``
* ``virtinst``
* ``libvirt-daemon-system``
* ``qemu``
* ``qemu-kvm``

and the current user should be able to run libvirt/qemu virtual machines.

Running tests
-------------

The scripts ``./run_tests`` and ``./run_coverage`` will run all available
tests (printing coverage results in the second case.

Some of the tests require an environment with a few known (virtual)
machines; if they are not available those tests are auto-skipped.
To configure those machines, there is a script ``fuss-test-network`` which
can create (and destroy) them using libvirt and qemu/kvm.

To setup such a system run::

    ./fuss-test-network --start

to download a base image (if needed), create, configure and run two virtual
machines (with their own network; you can then run the tests as above, and
you will no longer get skipped ones.

Afterwards, by running::

    ./fuss-test-network --stop

the machines will be stopped and destroyed, together with the network,
keeping only the base image that has been downloaded and preconfigured
originally.

See ``./fuss-test-network --help`` for further options to customize e.g.
what storage or what network configuration to use.

Elena Grandi's avatar
Elena Grandi committed
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
License
-------

Copyright (C) 2019 Provincia Autonoma di Bolzano

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.