Add support for custom Ansible tasks in the common role & uninstall playbook
The original ask is explained in https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/15138, but the TL;DR is that our release tooling and at least one dashboard that I know of use a couple of metrics that are not available in our staging-ref environment.
I proposed adding these to GET, however @grantyoung rightly suggested that this sort of thing doesn't belong in GET.
What would be great and relatively low-effort is to add another custom hook into Ansible similar to custom chart tasks but for the common role so that we can run a custom tasks file on all hosts that have the variable omnibus_node: true
.
Additionally, it would be great if GET could also support running custom uninstall
tasks at https://gitlab.com/gitlab-org/gitlab-environment-toolkit/-/blob/main/ansible/playbooks/uninstall.yml#L8, so that we can remove the cron jobs added by the custom install tasks during the uninstall.
Related issues:
- https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/15138+
- Explore hooks support to enable more customised... (#74 - closed)
/cc @niskhakova as you were involved with the custom chart tasks for staging-ref
/cc @grantyoung as discussed on Slack