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 |
-|-------------------|-------------------------------|
-| v1.22 | v1.22 |
-| v1.23 | v1.23 |
-| v1.24 | v1.24 |
-| v1.25 | v1.25 |
-| v1.26 | v1.26 |
-| v1.27 | v1.27 |
-| v1.28 | v1.28 |
-| v1.29 | v1.29 |
-| **Master** | **v1.30.0-alpha.0 (rolling)** |
+| Functest releases | Kubernetes releases |
+|-------------------|---------------------|
+| v1.28 | v1.28 |
+| v1.29 | v1.29 |
+| **v1.30** | **v1.30** |
+| v1.31 | v1.31 |
+| Master | latest |
## Prepare your environment
```bash
sudo docker run --env-file env \
-v $(pwd)/config:/home/xtesting/.kube/config \
- opnfv/functest-kubernetes-healthcheck
+ opnfv/functest-kubernetes-healthcheck:v1.30
```
```
```bash
sudo docker run --env-file env \
-v $(pwd)/config:/home/xtesting/.kube/config \
- opnfv/functest-kubernetes-smoke
+ opnfv/functest-kubernetes-smoke:v1.30
```
```
```bash
sudo docker run --env-file env \
-v $(pwd)/config:/home/xtesting/.kube/config \
- opnfv/functest-kubernetes-security
+ opnfv/functest-kubernetes-security:v1.30
```
```
```bash
sudo docker run --env-file env \
-v $(pwd)/config:/home/xtesting/.kube/config \
- opnfv/functest-kubernetes-benchmarking
+ opnfv/functest-kubernetes-benchmarking:v1.30
```
```
```bash
sudo docker run --env-file env \
-v $(pwd)/config:/home/xtesting/.kube/config \
- opnfv/functest-kubernetes-cnf
+ opnfv/functest-kubernetes-cnf:v1.30
```
```
build_opts=(--pull=true --no-cache --force-rm=true)
find . -name Dockerfile -exec sed -i \
- -e "s|opnfv/functest-kubernetes-core|\
-${repo}/functest-kubernetes-core:amd64-latest|g" {} +
+ -e "s|opnfv/functest-kubernetes-core:v1.30|\
+${repo}/functest-kubernetes-core:amd64-v1.30|g" {} +
find . -name Dockerfile -exec sed -i \
- -e "s|opnfv/functest-kubernetes-healthcheck|\
-${repo}/functest-kubernetes-healthcheck:amd64-latest|g" {} +
+ -e "s|opnfv/functest-kubernetes-healthcheck:v1.30|\
+${repo}/functest-kubernetes-healthcheck:amd64-v1.30|g" {} +
find . -name Dockerfile -exec sed -i \
- -e "s|opnfv/functest-kubernetes-smoke|\
-${repo}/functest-kubernetes-smoke:amd64-latest|g" {} +
+ -e "s|opnfv/functest-kubernetes-smoke:v1.30|\
+${repo}/functest-kubernetes-smoke:amd64-v1.30|g" {} +
for dir in ${amd64_dirs}; do
(cd "${dir}" &&
docker build "${build_opts[@]}" \
- -t "${repo}/functest-kubernetes-${dir##**/}:amd64-latest" .)
- docker push "${repo}/functest-kubernetes-${dir##**/}:amd64-latest"
+ -t "${repo}/functest-kubernetes-${dir##**/}:amd64-v1.30" .)
+ docker push "${repo}/functest-kubernetes-${dir##**/}:amd64-v1.30"
[ "${dir}" != "docker/core" ] &&
(docker rmi \
- "${repo}/functest-kubernetes-${dir##**/}:amd64-latest" || true)
+ "${repo}/functest-kubernetes-${dir##**/}:amd64-v1.30" || true)
done
[ ! -z "${amd64_dirs}" ] &&
(docker rmi \
- "${repo}/functest-kubernetes-core:amd64-latest" \
- alpine:3.16 || true)
+ "${repo}/functest-kubernetes-core:amd64-v1.30" \
+ alpine:3.20 || true)
find . -name Dockerfile -exec git checkout {} +
find . -name Dockerfile -exec sed -i \
- -e "s|alpine:3.16|arm64v8/alpine:3.16|g" {} +
+ -e "s|alpine:3.20|arm64v8/alpine:3.20|g" {} +
find . -name Dockerfile -exec sed -i \
- -e "s|opnfv/functest-kubernetes-core|\
-${repo}/functest-kubernetes-core:arm64-latest|g" {} +
+ -e "s|opnfv/functest-kubernetes-core:v1.30|\
+${repo}/functest-kubernetes-core:arm64-v1.30|g" {} +
find . -name Dockerfile -exec sed -i \
- -e "s|opnfv/functest-kubernetes-healthcheck|\
-${repo}/functest-kubernetes-healthcheck:arm64-latest|g" {} +
+ -e "s|opnfv/functest-kubernetes-healthcheck:v1.30|\
+${repo}/functest-kubernetes-healthcheck:arm64-v1.30|g" {} +
find . -name Dockerfile -exec sed -i \
- -e "s|opnfv/functest-kubernetes-smoke|\
-${repo}/functest-kubernetes-smoke:arm64-latest|g" {} +
+ -e "s|opnfv/functest-kubernetes-smoke:v1.30|\
+${repo}/functest-kubernetes-smoke:arm64-v1.30|g" {} +
for dir in ${arm64_dirs}; do
(cd "${dir}" && docker build "${build_opts[@]}" \
- -t "${repo}/functest-kubernetes-${dir##**/}:arm64-latest" .)
- docker push "${repo}/functest-kubernetes-${dir##**/}:arm64-latest"
+ -t "${repo}/functest-kubernetes-${dir##**/}:arm64-v1.30" .)
+ docker push "${repo}/functest-kubernetes-${dir##**/}:arm64-v1.30"
[ "${dir}" != "docker/core" ] &&
(docker rmi \
- "${repo}/functest-kubernetes-${dir##**/}:arm64-latest" || true)
+ "${repo}/functest-kubernetes-${dir##**/}:arm64-v1.30" || true)
done
[ ! -z "${arm64_dirs}" ] &&
- (docker rmi "${repo}/functest-kubernetes-core:arm64-latest" \
- arm64v8/alpine:3.16 || true)
+ (docker rmi "${repo}/functest-kubernetes-core:arm64-v1.30" \
+ arm64v8/alpine:3.20 || true)
find . -name Dockerfile -exec git checkout {} +
find . -name Dockerfile -exec sed -i \
- -e "s|alpine:3.16|arm32v7/alpine:3.16|g" {} +
+ -e "s|alpine:3.20|arm32v7/alpine:3.20|g" {} +
find . -name Dockerfile -exec sed -i \
- -e "s|opnfv/functest-kubernetes-core|\
-${repo}/functest-kubernetes-core:arm-latest|g" {} +
+ -e "s|opnfv/functest-kubernetes-core:v1.30|\
+${repo}/functest-kubernetes-core:arm-v1.30|g" {} +
find . -name Dockerfile -exec sed -i \
- -e "s|opnfv/functest-kubernetes-healthcheck|\
-${repo}/functest-kubernetes-healthcheck:arm-latest|g" {} +
+ -e "s|opnfv/functest-kubernetes-healthcheck:v1.30|\
+${repo}/functest-kubernetes-healthcheck:arm-v1.30|g" {} +
find . -name Dockerfile -exec sed -i \
- -e "s|opnfv/functest-kubernetes-smoke|\
-${repo}/functest-kubernetes-smoke:arm-latest|g" {} +
+ -e "s|opnfv/functest-kubernetes-smoke:v1.30|\
+${repo}/functest-kubernetes-smoke:arm-v1.30|g" {} +
for dir in ${arm_dirs}; do
(cd "${dir}" && docker build "${build_opts[@]}" \
- -t "${repo}/functest-kubernetes-${dir##**/}:arm-latest" .)
- docker push "${repo}/functest-kubernetes-${dir##**/}:arm-latest"
+ -t "${repo}/functest-kubernetes-${dir##**/}:arm-v1.30" .)
+ docker push "${repo}/functest-kubernetes-${dir##**/}:arm-v1.30"
[ "${dir}" != "docker/core" ] &&
(docker rmi \
- "${repo}/functest-kubernetes-${dir##**/}:arm-latest" || true)
+ "${repo}/functest-kubernetes-${dir##**/}:arm-v1.30" || true)
done
[ ! -z "${arm_dirs}" ] &&
- (docker rmi "${repo}/functest-kubernetes-core:arm-latest" \
- arm32v7/alpine:3.16 || true)
+ (docker rmi "${repo}/functest-kubernetes-core:arm-v1.30" \
+ arm32v7/alpine:3.20 || true)
find . -name Dockerfile -exec git checkout {} +
exit $?