Each temporary docker perf image is about 5 GB
and we don’t have space to keep them localy on servers.
- add cleanup after perf docker
image preparation (perf_bootstrap job).
- cleanup perf docker images on execution hosts
after perf testing (cleanup stage).
Closes #5003
---
.gitlab-ci.yml | 33 ++++++++++++++++++++++++++-------
.gitlab.mk | 7 +++++--
2 files changed, 31 insertions(+), 9 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 256b368..5f488ea 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -103,6 +103,12 @@ variables:
script:
- ${GITLAB_MAKE} perf_run
+.perf_cleanup_definition: &perf_cleanup_definition
+ <<: *perf_only_definition
+ stage: cleanup
+ script:
+ - ${GITLAB_MAKE} perf_cleanup
+
# Tests
release:
@@ -196,6 +202,8 @@ perf_bootstrap:
- perf
script:
- ${GITLAB_MAKE} perf_prepare
+ after_script:
+ - ${GITLAB_MAKE} perf_cleanup_image
# Testing part
@@ -255,14 +263,25 @@ perf_linkbench_ssd:
# Post-testing part
-remove_images:
- <<: *perf_only_definition
- stage: cleanup
- when: always
+remove_images_sh1:
+ <<: *perf_cleanup_definition
tags:
- - perf
- script:
- - ${GITLAB_MAKE} perf_cleanup
+ - sh1_shell
+
+remove_images_sh2:
+ <<: *perf_cleanup_definition
+ tags:
+ - sh2_shell
+
+remove_images_sh3:
+ <<: *perf_cleanup_definition
+ tags:
+ - sh3_shell
+
+remove_images_sh9:
+ <<: *perf_cleanup_definition
+ tags:
+ - sh9_shell
# Packages and sources
diff --git a/.gitlab.mk b/.gitlab.mk
index d1d93cd..f2a9b77 100644
--- a/.gitlab.mk
+++ b/.gitlab.mk
@@ -86,10 +86,13 @@ perf_clone_benchs_repo:
perf_prepare: perf_clone_benchs_repo
make -f bench-run/targets.mk prepare
-# Remove temporary performance image from the test host
-perf_cleanup: perf_clone_benchs_repo
+# Remove temporary performance image
+perf_cleanup_image:
make -f bench-run/targets.mk cleanup
+# Remove temporary performance image from the test host
+perf_cleanup: perf_clone_benchs_repo perf_cleanup_image
+
# #################################
# Run tests under a virtual machine
# #################################
--
1.8.3.1