Improve execution time for debug-on-exit
What does this MR do and why?
Attempt to reduce execution time for debug-on-exit.sh, as in a classic CI deployment we run it 4 times reducing how many time it takes save a lot of time.
this MR parallelize some tasks, like crust gather that take ~1/2min, the different dump and also the remote command which is particularly important as we have a sleep 10 per nodes (leading to at least 1min to execute all of them). With this change it reduce it to some second
before this MR
| Job | Dump duration |
|---|---|
| Deploy management | 5min |
| Deploy workload | 8min |
| Update management | 8min |
| Update workload | 8min |
after this MR
| Job | Dump duration |
|---|---|
| Deploy management | 2min30 |
| Deploy workload | 3min20 |
| Update management | 3min20 |
| Update workload | 3min20 |
29min vs 12min30
We could probably speed up things a bit more but it will require more refactoring
Related reference(s)
Test coverage
CI configuration
CI pipelines perform an update for both management and workload clusters, this update will NOT perform a ClusterAPI rolling update (deletion and creation of new K8s nodes) by default.
For some cases, it may be relevant to perform more complex tests.
Theses features can be activated in an MR by adding one of these labels to the MR and will apply to the next pipelines.
- adding the label ci-featuretest-rolling-update pipelines will perform a node rolling update in the
-updatejobs (without version upgrades) - adding the label ci-featuretest-upgrade-from-1.2.1 pipelines will perform an upgrade from Sylva 1.2.1 to your dev branch (including a k8s version upgrade resulting in a node rolling update)