forked from sonata-nfv/son-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
son profile automated testing
Eduard Maas edited this page Apr 4, 2017
·
1 revision
We use an example service that that deploys a OvS userspace switch. The service package is located in the sonata examples repository: sonata-ovs-user-service-emu
- The service is first deployed on son-emu:
sudo python src/emuvim/examples/sonata_simple_topology.py
For first time execution, we need to initialize the son-access command to push to son-emu:
son-workspace --init
son-access config --platform_id emu --new --url http://127.0.0.1:5000 --default
Push and the deploy the service on the emulator:
son-access -p emu push --upload sonata-ovs-user-service.son
son-access -p emu push --deploy latest
- In the service directory there are two example ped files:
-
ped1.yml: Fixed resource allocation and varying load -> characterize the optimized resource allocation for a specific load. -
ped2.yml: Varying resource allocation and maximized load -> characterize the maximum load for a specific resource allocation.
In this yaml-based file, only the service-experiment fields are considered for automated test execution.
Each experiment defines:
-
measurement_points: The commands which need to be executed in a specific VNF for configuration and to start the traffic load. -
resource_limitations: The resource allocation per VNF in the service.
The metrics to be monitored are specified in a separate msd file which is referenced in the ped file:
input_metrics: "msd_input.yml"-
output_metrics: "msd_output.yml"The specified metrics are exported by son-emu and cAdvisor and gathered in a Prometheus database. Additionally, these metrics can be monitored in a Grafana web gui at http://<son-emu-host>:3000
- The service must be pre-deployed on son-emu before the profiling is started. To start the profiling:
son-profile -c ped1.yml --no-generation --no-display
The test results are exported to a .yml file: test_results.yml
The following command will also print the measured metrics in real-time while the test is executing:
son-profile -c ped1.yml --no-generation