Enable graceful shutdown for Windows shared runners
Overview
In GitLab Runner 13.10.0 we introduced gitlab-org/gitlab-runner!2739 (merged) which adds support for graceful termination for the Windows shared runners, which is one of the things blocking us from doing more frequent deployments in the Windows shared runner fleet.
Proposal
-
Update the GitLab Runner version in https://ops.gitlab.net/gitlab-com/gl-infra/ci-infrastructure-windows/-/blob/c065a7aa04c958ffe941c0a80fbd4dba592e0c1a/ansible/group_vars/gcp_role_runner_manager.yml#L1
👇 https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/12790#note_545056565 (done) -
Set
FF_USE_WINDOWS_LEGACY_PROCESS_STRATEGYtofalsethrough runner environment variables -
Update the ansible apply to first run
gitlab-runner stopon 1 node and then run the ansible apply. This should be done 1 node at a time to prevent any downtime. - Update the documentation about handling Graceful Shutdown on Windows Runner Managers.
Edited by Stan Hu