Investigate: Sidekiq Queue shared storage dependency
Good Morning
Overview
In the linked spreadsheet is a list of all queues that operate on our catchall
sidekiq shard. Delivery would like to migrate these from their current home, on a fleet of Virtual Machines, onto Kubernetes. Kuberentes currently is not configured to support what we use for shared storage. Any queues that write or read data to a location with the intention of it being shared with another set of servers will face problems. Those directories that are currently shared are the following:
/var/opt/gitlab/gitlab-rails/shared/artifacts
/var/opt/gitlab/gitlab-ci/builds
/var/opt/gitlab/gitlab-rails/shared/pages
If there are any queues that depend on the above shared storage directories, we want to ensure that we do not yet migrate these over to Kubernetes. We're asking for help from all Development teams to roll through this list and populate whether you know or do not know if a queue is dependent on shared storage. The infrastructure team is currently planning ways to migrate queues in a controlled, tested fashion, to ensure that we don't cause incidents. However, if Engineers know that a queue is not dependent on shared storage, having this information will increase our confidence as we migrate queues to the new infrastructure.
Reference
- What is a sidekiq shard?
- Sidekiq Kubernetes Migration
- Catchall Kubernetes Migration
- Sidekiq Queue Selector
Instructions
Edit the below Google Sheet, for each queue in this list, please indicate yes
, no
, or unknown
under the Depends on shared storage?
column. If you don't know or see an item labeled as unknown
, please attempt to find another team member whom may be able to assist in this discovery. Utilize the Additional Notes
for any information/links to issues/etc. Please do not spend an excessive amount of time evaluating a queue. Upon completion, please unassign yourself from this issue. Please do not touch the column Processing Batch
.
Thank you for your help!