Functest
Network virtualization has dramatically modified our architectures which asks for more automation and powerful testing tools like Functest, a collection of state-of-the-art virtual infrastructure test suites, including automatic VNF testing (cf. [1]).
In context of OPNFV, Functest verifies any kind of OpenStack and Kubernetes deployments including production environments. It conforms to upstream rules and integrates smoothly lots of the test cases available in the opensource market. It includes about 3000+ functional tests and 3 hours upstream API and dataplane benchmarks. It’s completed by Virtual Network Function deployments and testing (vIMS, vRouter and vEPC) to ensure that the platforms meet Network Functions Virtualization requirements. Raspberry PI is also supported to verify datacenters as the lowest cost (50 euros hardware and software included).
Functest releases | Kubernetes releases |
---|---|
Hunter | v1.13 |
Iruya | v1.15 |
Jerma | v1.17 |
Kali | v1.19 |
Leguer | v1.20 |
Master | v1.21.0-alpha.3 (rolling) |
Prepare your environment
cat env
DEPLOY_SCENARIO=k8s-XXX
Run healthcheck suite
sudo docker run --env-file env \
-v $(pwd)/config:/root/.kube/config \
opnfv/functest-kubernetes-healthcheck:hunter
+-------------------+------------------+---------------------+------------------+----------------+
| TEST CASE | PROJECT | TIER | DURATION | RESULT |
+-------------------+------------------+---------------------+------------------+----------------+
| k8s_quick | functest | healthcheck | 00:20 | PASS |
| k8s_smoke | functest | healthcheck | 00:45 | PASS |
+-------------------+------------------+---------------------+------------------+----------------+
Run smoke suite
sudo docker run --env-file env \
-v $(pwd)/config:/root/.kube/config \
opnfv/functest-kubernetes-smoke:hunter
+---------------------------+------------------+---------------+------------------+----------------+
| TEST CASE | PROJECT | TIER | DURATION | RESULT |
+---------------------------+------------------+---------------+------------------+----------------+
| k8s_conformance | functest | smoke | 100:50 | PASS |
| xrally_kubernetes | functest | smoke | 13:19 | PASS |
+---------------------------+------------------+---------------+------------------+----------------+
Run security suite
sudo docker run --env-file env \
-v $(pwd)/config:/root/.kube/config \
opnfv/functest-kubernetes-security:hunter
+---------------------------+------------------+------------------+------------------+----------------+
| TEST CASE | PROJECT | TIER | DURATION | RESULT |
+---------------------------+------------------+------------------+------------------+----------------+
| kube_hunter | functest | security | 00:19 | PASS |
| kube_bench_master | functest | security | 00:01 | PASS |
| kube_bench_node | functest | security | 00:01 | PASS |
+---------------------------+------------------+------------------+------------------+----------------+
Run benchmarking suite
sudo docker run --env-file env \
-v $(pwd)/config:/root/.kube/config \
opnfv/functest-kubernetes-benchmarking:hunter
+--------------------------------+------------------+----------------------+------------------+----------------+
| TEST CASE | PROJECT | TIER | DURATION | RESULT |
+--------------------------------+------------------+----------------------+------------------+----------------+
| xrally_kubernetes_full | functest | benchmarking | 37:48 | PASS |
+--------------------------------+------------------+----------------------+------------------+----------------+
Run cnf suite
sudo docker run --env-file env \
-v $(pwd)/config:/root/.kube/config \
opnfv/functest-kubernetes-cnf:hunter
+-------------------------+------------------+--------------+------------------+----------------+
| TEST CASE | PROJECT | TIER | DURATION | RESULT |
+-------------------------+------------------+--------------+------------------+----------------+
| k8s_vims | functest | cnf | 09:09 | PASS |
| helm_vims | functest | cnf | 07:55 | PASS |
| cnf_conformance | functest | cnf | 02:18 | PASS |
+-------------------------+------------------+--------------+------------------+----------------+