Skip to content

2021-03-24: Bundle failures when running gitlab-rails-ee when deploying to Kubernetes in staging fails, blocking staging deploys

Current Status

Staging deploys are currently blocked, as the Kubernetes gitlab-rails-ee job is failing due to what appears a version conflict in the Gemfile:

Job output:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/digest-3.0.0/ext/digest
/usr/bin/ruby -I /usr/lib/ruby/2.7.0 -r ./siteconf20210324-9-1adwezm.rb
extconf.rb
creating Makefile
current directory:
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/digest-3.0.0/ext/digest
make "DESTDIR=" clean
current directory:
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/digest-3.0.0/ext/digest
make "DESTDIR="
compiling digest.c
linking shared-object digest.so
current directory:
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/digest-3.0.0/ext/digest
make "DESTDIR=" install
/usr/bin/install -c -m 0755 digest.so ./.gem.20210324-9-yxcxdn
installing digest libraries
/usr/bin/install: cannot remove '/usr/include/ruby-2.7.0/ruby/digest.h':
Permission denied
make: *** [Makefile:204: /usr/include/ruby-2.7.0/ruby/digest.h] Error 1
make install failed, exit code 2
Gem files will remain installed in
/srv/gitlab/vendor/bundle/ruby/2.7.0/gems/digest-3.0.0 for inspection.
Results logged to
/srv/gitlab/vendor/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0/digest-3.0.0/gem_make.out
An error occurred while installing digest (3.0.0), and Bundler cannot continue.
Make sure that `gem install digest -v '3.0.0' --source 'https://rubygems.org/'`
succeeds before bundling.
In Gemfile:
  gitlab-mail_room was resolved to 0.0.10, which depends on
    net-imap was resolved to 0.2.1, which depends on
      digest

Summary for CMOC notice / Exec summary:

  1. Customer Impact: Deployments
  2. Customer Impact Duration: None
  3. Current state: IncidentActive
  4. Root cause: TBD

Timeline

View recent production deployment and configuration events (internal only)

All times UTC.

2021-03-24

Corrective Actions

Corrective actions should be put here as soon as an incident is mitigated, ensure that all corrective actions mentioned in the notes below are included.

  • ...

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 out 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.


Click to expand or collapse the Incident Review section.

Incident Review

Summary

  1. Service(s) affected:
  2. Team attribution:
  3. Time to detection:
  4. Minutes downtime or degradation:

Metrics

Customer Impact

  1. Who was impacted by this incident? (i.e. external customers, internal customers)
    1. ...
  2. What was the customer experience during the incident? (i.e. preventing them from doing X, incorrect display of Y, ...)
    1. ...
  3. How many customers were affected?
    1. ...
  4. If a precise customer impact number is unknown, what is the estimated impact (number and ratio of failed requests, amount of traffic drop, ...)?
    1. ...

What were the root causes?

  • ...

Incident Response Analysis

  1. How was the incident detected?
    1. ...
  2. How could detection time be improved?
    1. ...
  3. How was the root cause diagnosed?
    1. ...
  4. How could time to diagnosis be improved?
    1. ...
  5. How did we reach the point where we knew how to mitigate the impact?
    1. ...
  6. How could time to mitigation be improved?
    1. ...
  7. What went well?
    1. ...

Post Incident Analysis

  1. Did we have other events in the past with the same root cause?
    1. ...
  2. Do we have existing backlog items that would've prevented or greatly reduced the impact of this incident?
    1. ...
  3. Was this incident triggered by a change (deployment of code or change to infrastructure)? If yes, link the issue.
    1. ...

Lessons Learned

  • ...

Guidelines

Resources

  1. If the Situation Zoom room was utilised, recording will be automatically uploaded to Incident room Google Drive folder (private)
Edited by Thiago Figueiró