2024-01-09: docker image in omnibus package for auto-deploy is not building
Final Summary
The most recent release of the faraday
gem, version 2.9.0
, introduced a dependency on net-http
version 0.3.0
. This conflicts with Gemfile
for GitLab projects that set net-http
as 0.1.1
.
We determined that there are many gems which have loose rules around including faraday
including anything > 1.8.0
or < 3.0.0
.
Omnibus GitLab build order is non-determistic, so the build order is not guaranteed to be the same. Carrying patches for every possible item that could import faraday
would incur a nasty amount of technical debt and be very, very fragile.
The proposed fix introduces a new software config named faraday-cage
.
This new software config depends on ruby
and now rubygems
depends on ruby
and faraday-cage
.
This ensures the correct versions of faraday
without the conflict are installed first before any other versions can possibly be installed.
Customer Impact
None - internal incident backstage
Current Status
Packaging pipelines are blocked due to a failure in the jobs. Comments below linking to current discussion.
📚 References and helpful links
Recent Events (available internally only):
- Feature Flag Log - Chatops to toggle Feature Flags Documentation
- Infrastructure Configurations
- GCP Events (e.g. host failure)
Deployment Guidance
- Deployments Log | Gitlab.com Latest Updates
- Reach out to Release Managers for S1/S2 incidents to discuss Rollbacks, Hot Patching or speeding up deployments. | Rollback Runbook | Hot Patch Runbook
Use the following links to create related issues to this incident if additional work needs to be completed after it is resolved:
- Corrective action ❙ Infradev
- Incident Review ❙ Infra investigation followup
- Confidential Support contact ❙ QA investigation
Note: In some cases we need to redact information from public view. We only do this in a limited number of documented cases. This might include the summary, timeline or any other bits of information, laid out in our handbook page. Any of this confidential data will be in a linked issue, only visible internally. By default, all information we can share, will be public, in accordance to our transparency value.
Security Note: If anything abnormal is found during the course of your investigation, please do not hesitate to contact security.