blob: 893efca4488df181b539e98a5dafe0a5b4ae6278 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
# QTIP Developer Guide
This guide is about how to **develop** QTIP.
If you just want to use it for performance benchmark, check the user guide
instead.
## Getting Started
### Source code
```bash
~$ git clone https://gerrit.opnfv.org/gerrit/qtip
```
### VirtualEnv
It is recommended to use [virtualenv](https://virtualenv.pypa.io) to isolate
your development environment from system, especially when you are working on
several different projects.
### Testing
QTIP use [tox](https://tox.readthedocs.io) to automate the testing tasks
```bash
$ pip install tox
$ tox
```
Undering macOS system, it will happen to a **fatal error** when installing package `cryptograph`:
```
'openssl/opensslv.h' file not found
#incude <openssl/opensslv.h>
^
1 error generated.
```
It is for macOS uses TLS instead of OpenSSL and no header files supported. The solutions is:
``` code=bash
# brew install openssl
# #add these lines in to your shell profiles, such as .bash_profile, .zshrc
# export CPPFLAGS='-I $openssl_install_path/include'
# export LDFLAGS='-L $openssl_install_path/lib'
```
## Architecture
**TODO**: move to design spec
QTIP has a flexible architecture to allow different deployment mode
- **Standalone**: full feature performance benchmark platform.
- **Agent**: minimal agent driven by external test runners.
### Standalone Mode (Solo)
QTIP instance deployed in container, VM or host generate benchmark report and
push data to Indices Hub for storage and visualization.
![solo](https://wiki.opnfv.org/download/attachments/8687017/Standalone.png?api=v2)
### Agent Mode (Melody)
QTIP Collector and Reporter driven by external test framework or runner such as
[yardstick](https://wiki.opnfv.org/display/yardstick),
[pytest](http://doc.pytest.org/) and etc.
![melody](https://wiki.opnfv.org/download/attachments/8687017/Agent.png?api=v2)
## Core Modules
TBD
- loader
- runner
- collector
- reporter
## Drivers
TBD
- ansible
- yardstick
## Interfaces
### Agent
TBD
### CLI
TBD
### API
TBD
## Assets
**TODO**: move to user guide
- benchmark plan
- QPI spec
- metric spec
## Docker Image
TBD
## Annex
### Directories
TBD
|