Create Ansible playbook to execute/bundle GitLabSOS/KubeSOS tarballs
The GitLab Support team regularly asks customers to execute GitLabSOS and/or KubeSOS on their GitLab environments to diagnose problems. These libraries bundle various GitLab logs and metrics into a tarball that the customer can then send to GitLab Support for analysis.
For larger environments with multiple nodes, this process gets quickly tedious and time consuming especially if GitLabSOS needs to be executed on each node, SCPed back etc.
With wider adoption of GET amongst our customers, I propose that we add an Ansible playbook to GET that does the following:
- For Omnibus based environments - execute GitLabSOS on all nodes, send the tarball back to the host and bundle them into a single tarball on the host.
- For Cloud Hybrid environments - execute KubeSOS somewhere where
kubectl
is installed and linked to the cluster, send the tarball back to the host. In addition, execute GitLabSOS on all compute based nodes, send the tarball back to the host. Bundle all files sent back from GitLabSOS and KubeSOS into a single tarball on the host.
This feature addition would greatly improve the experience for customers when fetching GitLabSOS/KubeSOS tarballs in larger GitLab environments.