Publish Functest Virtual Machines
[functest.git] / README.md
1 # Functest
2
3 Network virtualization has dramatically modified our architectures which asks
4 for more automation and powerful testing tools like Functest, a collection of
5 state-of-the-art virtual infrastructure test suites, including automatic VNF
6 testing (cf.
7 [[1]](https://www.linuxfoundation.org/press-release/2019/05/opnfv-hunter-delivers-test-tools-ci-cd-framework-to-enable-common-nfvi-for-verifying-vnfs/)).
8
9 In context of OPNFV, Functest verifies any kind of OpenStack and Kubernetes
10 deployments including production environments. It conforms to upstream rules
11 and integrates smoothly lots of the test cases available in the opensource
12 market. It includes about 3000+ functional tests and 3 hours upstream API and
13 dataplane benchmarks. It’s completed by Virtual Network Function deployments
14 and testing (vIMS, vRouter and vEPC) to ensure that the platforms meet Network
15 Functions Virtualization requirements. Raspberry PI is also supported to verify
16 datacenters as the lowest cost (50 euros hardware and software included).
17
18 | Functest releases | OpenStack releases |
19 |-------------------|--------------------|
20 | Jerma             | Train              |
21 | **Kali**          | **Ussuri**         |
22 | Leguer            | Victoria           |
23 | Wellaby           | Wallaby            |
24 | Master            | next Xena          |
25
26 ## Prepare your environment
27
28 cat env
29 ```
30 DEPLOY_SCENARIO=XXX  # if not os-nosdn-nofeature-noha scenario
31 NAMESERVER=XXX  # if not 8.8.8.8
32 EXTERNAL_NETWORK=XXX  # if not first network with router:external=True
33 DASHBOARD_URL=XXX  # else tempest_horizon will be skipped
34 NEW_USER_ROLE=XXX  # if not member
35 SDN_CONTROLLER_IP=XXX  # if odl scenario
36 VOLUME_DEVICE_NAME=XXX  # if not vdb
37 FLAVOR_EXTRA_SPECS=hw:mem_page_size:large  # if fdio scenarios
38 ```
39
40 cat openstack.creds
41 ```
42 export OS_AUTH_URL=XXX
43 export OS_USER_DOMAIN_NAME=XXX
44 export OS_PROJECT_DOMAIN_NAME=XXX
45 export OS_USERNAME=XXX
46 export OS_PROJECT_NAME=XXX
47 export OS_PASSWORD=XXX
48 export OS_IDENTITY_API_VERSION=3
49 export OS_REGION_NAME=XXX
50 ```
51
52 mkdir -p images && wget -q -O- https://git.opnfv.org/functest/plain/functest/ci/download_images.sh?h=stable/kali | bash -s -- images && ls -1 images/*
53 ```
54 images/cirros-0.4.0-aarch64-disk.img
55 images/cirros-0.4.0-x86_64-disk.img
56 images/cloudify-docker-manager-community-19.01.24.tar
57 images/Fedora-Cloud-Base-30-1.2.x86_64.qcow2
58 images/shaker-image-1.3.0+stretch.qcow2
59 images/ubuntu-14.04-server-cloudimg-amd64-disk1.img
60 images/ubuntu-14.04-server-cloudimg-arm64-uefi1.img
61 images/ubuntu-16.04-server-cloudimg-amd64-disk1.img
62 images/vyos-1.1.8-amd64.qcow2
63 ```
64
65 ## Run healthcheck suite
66
67 ```bash
68 sudo docker run --env-file env \
69     -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
70     -v $(pwd)/images:/home/opnfv/functest/images \
71     opnfv/functest-healthcheck:kali
72 ```
73
74 ```
75 +--------------------------+------------------+---------------------+------------------+----------------+
76 |        TEST CASE         |     PROJECT      |         TIER        |     DURATION     |     RESULT     |
77 +--------------------------+------------------+---------------------+------------------+----------------+
78 |     connection_check     |     functest     |     healthcheck     |      00:02       |      PASS      |
79 |      tenantnetwork1      |     functest     |     healthcheck     |      00:06       |      PASS      |
80 |      tenantnetwork2      |     functest     |     healthcheck     |      00:07       |      PASS      |
81 |         vmready1         |     functest     |     healthcheck     |      00:08       |      PASS      |
82 |         vmready2         |     functest     |     healthcheck     |      00:08       |      PASS      |
83 |        singlevm1         |     functest     |     healthcheck     |      00:41       |      PASS      |
84 |        singlevm2         |     functest     |     healthcheck     |      00:41       |      PASS      |
85 |        vping_ssh         |     functest     |     healthcheck     |      01:03       |      PASS      |
86 |      vping_userdata      |     functest     |     healthcheck     |      00:35       |      PASS      |
87 |       cinder_test        |     functest     |     healthcheck     |      01:08       |      PASS      |
88 |      tempest_smoke       |     functest     |     healthcheck     |      05:26       |      PASS      |
89 |     tempest_horizon      |     functest     |     healthcheck     |      01:09       |      PASS      |
90 |           odl            |     functest     |     healthcheck     |      00:00       |      SKIP      |
91 +--------------------------+------------------+---------------------+------------------+----------------+
92 ```
93
94 ## Run smoke suite
95
96 ```bash
97 sudo docker run --env-file env \
98     -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
99     -v $(pwd)/images:/home/opnfv/functest/images \
100     opnfv/functest-smoke:kali
101 ```
102
103 ```
104 +---------------------------+------------------+---------------+------------------+----------------+
105 |         TEST CASE         |     PROJECT      |      TIER     |     DURATION     |     RESULT     |
106 +---------------------------+------------------+---------------+------------------+----------------+
107 |      tempest_neutron      |     functest     |     smoke     |      14:27       |      PASS      |
108 |       tempest_cinder      |     functest     |     smoke     |      01:53       |      PASS      |
109 |      tempest_keystone     |     functest     |     smoke     |      01:19       |      PASS      |
110 |        tempest_heat       |     functest     |     smoke     |      23:16       |      PASS      |
111 |     tempest_telemetry     |     functest     |     smoke     |      05:03       |      PASS      |
112 |        rally_sanity       |     functest     |     smoke     |      19:40       |      PASS      |
113 |      refstack_compute     |     functest     |     smoke     |      08:07       |      PASS      |
114 |      refstack_object      |     functest     |     smoke     |      02:23       |      PASS      |
115 |     refstack_platform     |     functest     |     smoke     |      10:05       |      PASS      |
116 |        tempest_full       |     functest     |     smoke     |      41:00       |      PASS      |
117 |      tempest_scenario     |     functest     |     smoke     |      09:34       |      PASS      |
118 |        tempest_slow       |     functest     |     smoke     |      45:05       |      PASS      |
119 |          patrole          |     functest     |     smoke     |      02:30       |      PASS      |
120 |      tempest_barbican     |     functest     |     smoke     |      02:16       |      PASS      |
121 |      tempest_octavia      |     functest     |     smoke     |      14:01       |      PASS      |
122 +---------------------------+------------------+---------------+------------------+----------------+
123 ```
124
125 ## Run smoke CNTT suite
126
127 ```bash
128 sudo docker run --env-file env \
129     -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
130     -v $(pwd)/images:/home/opnfv/functest/images \
131     opnfv/functest-smoke-cntt:kali
132 ```
133
134 ```
135 +-------------------------------+------------------+---------------+------------------+----------------+
136 |           TEST CASE           |     PROJECT      |      TIER     |     DURATION     |     RESULT     |
137 +-------------------------------+------------------+---------------+------------------+----------------+
138 |      tempest_neutron_cntt     |     functest     |     smoke     |      12:53       |      PASS      |
139 |      tempest_cinder_cntt      |     functest     |     smoke     |      01:57       |      PASS      |
140 |     tempest_keystone_cntt     |     functest     |     smoke     |      01:15       |      PASS      |
141 |       tempest_heat_cntt       |     functest     |     smoke     |      22:23       |      PASS      |
142 |       rally_sanity_cntt       |     functest     |     smoke     |      16:11       |      PASS      |
143 |       tempest_full_cntt       |     functest     |     smoke     |      34:57       |      PASS      |
144 |     tempest_scenario_cntt     |     functest     |     smoke     |      08:51       |      PASS      |
145 |       tempest_slow_cntt       |     functest     |     smoke     |      32:09       |      PASS      |
146 +-------------------------------+------------------+---------------+------------------+----------------+
147 ```
148
149 ## Run benchmarking suite
150
151 ```bash
152 sudo docker run --env-file env \
153     -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
154     -v $(pwd)/images:/home/opnfv/functest/images \
155     opnfv/functest-benchmarking:kali
156 ```
157
158 ```
159 +--------------------+------------------+----------------------+------------------+----------------+
160 |     TEST CASE      |     PROJECT      |         TIER         |     DURATION     |     RESULT     |
161 +--------------------+------------------+----------------------+------------------+----------------+
162 |     rally_full     |     functest     |     benchmarking     |      100:35      |      PASS      |
163 |     rally_jobs     |     functest     |     benchmarking     |      30:18       |      PASS      |
164 |        vmtp        |     functest     |     benchmarking     |      17:18       |      PASS      |
165 |       shaker       |     functest     |     benchmarking     |      23:35       |      PASS      |
166 +--------------------+------------------+----------------------+------------------+----------------+
167 ```
168
169 ## Run benchmarking CNTT suite
170
171 ```bash
172 sudo docker run --env-file env \
173     -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
174     -v $(pwd)/images:/home/opnfv/functest/images \
175     opnfv/functest-benchmarking-cntt:kali
176 ```
177
178 ```
179 +-------------------------+------------------+----------------------+------------------+----------------+
180 |        TEST CASE        |     PROJECT      |         TIER         |     DURATION     |     RESULT     |
181 +-------------------------+------------------+----------------------+------------------+----------------+
182 |     rally_full_cntt     |     functest     |     benchmarking     |      85:26       |      PASS      |
183 |     rally_jobs_cntt     |     functest     |     benchmarking     |      17:46       |      PASS      |
184 |           vmtp          |     functest     |     benchmarking     |      17:11       |      PASS      |
185 |          shaker         |     functest     |     benchmarking     |      23:59       |      PASS      |
186 +-------------------------+------------------+----------------------+------------------+----------------+
187 ```
188
189 ## Run vnf suite
190
191 ```bash
192 sudo docker run --env-file env \
193     -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/env_file \
194     -v $(pwd)/images:/home/opnfv/functest/images \
195     opnfv/functest-vnf:kali
196 ```
197
198 ```
199 +----------------------+------------------+--------------+------------------+----------------+
200 |      TEST CASE       |     PROJECT      |     TIER     |     DURATION     |     RESULT     |
201 +----------------------+------------------+--------------+------------------+----------------+
202 |       cloudify       |     functest     |     vnf      |      06:04       |      PASS      |
203 |     cloudify_ims     |     functest     |     vnf      |      24:53       |      PASS      |
204 |       heat_ims       |     functest     |     vnf      |      29:29       |      PASS      |
205 |     vyos_vrouter     |     functest     |     vnf      |      17:19       |      PASS      |
206 |       juju_epc       |     functest     |     vnf      |      28:53       |      PASS      |
207 +----------------------+------------------+--------------+------------------+----------------+
208 ```