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_STRATEGY
tofalse
through runner environment variables -
Update the ansible apply to first run gitlab-runner stop
on 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 Alex Hanselka