Support run cyclictest on BareMetal
[yardstick.git] / yardstick / main.py
1 #!/usr/bin/env python
2
3 ##############################################################################
4 # Copyright (c) 2015 Ericsson AB and others.
5 #
6 # All rights reserved. This program and the accompanying materials
7 # are made available under the terms of the Apache License, Version 2.0
8 # which accompanies this distribution, and is available at
9 # http://www.apache.org/licenses/LICENSE-2.0
10 ##############################################################################
11
12 """ yardstick - command line tool for managing benchmarks
13
14     Example invocation:
15     $ yardstick task start samples/ping.yaml
16
17     Servers are the same as VMs (Nova calls them servers in the API)
18
19     Many tests use a client/server architecture. A test client is configured
20     to use a specific test server e.g. using an IP address. This is true for
21     example iperf. In some cases the test server is included in the kernel
22     (ping, pktgen) and no additional software is needed on the server. In other
23     cases (iperf) a server process needs to be installed and started.
24
25     One server is required to host the test client program (such as ping or
26     iperf). In the task file this server is called host.
27
28     A server can be the _target_ of a test client (think ping destination
29     argument). A target server is optional but needed in most test scenarios.
30     In the task file this server is called target. This is probably the same
31     as DUT in existing terminology.
32
33     Existing terminology:
34     https://www.ietf.org/rfc/rfc1242.txt (throughput/latency)
35     https://www.ietf.org/rfc/rfc2285.txt (DUT/SUT)
36
37     New terminology:
38     NFV TST
39
40 """
41 import sys
42
43 from yardstick.cmd.cli import YardstickCLI
44
45
46 def main():
47     '''yardstick main'''
48     YardstickCLI().main(sys.argv[1:])
49
50 if __name__ == '__main__':
51     main()