2022-05-01: Pods failing to initialize due to missing calico plugin on 1 GKE node

Incident DRI

@msmiley - EOC

Current Status

One of the GKE nodes in the node pool api-1 (used for webservice-api pods) had failed to install the calico binary into /home/kubernetes/bin.

Consequently, any pods scheduled to that node were doomed to fail while trying to initialize their networking.

This is a known issue with GKE nodes, and GCP Support expects a fix in the near future (GCP ticket - internal only).

For reference, the calico plugin is supposed to be installed during GKE node initialization by the calico-node-XXXXX pod. Restarting that pod on the affected GKE node has in the past been a viable work-around. In this case, the node was scaled down before we got to try that.

More background on the problem is available in the following related incident from 2 weeks ago: #6854 (comment 915580011)

Summary for CMOC notice / Exec summary:

  1. Customer Impact: No customer impact. Only 1 GKE node out of 20 was unable to create additional pods for the api fleet, but other existing and new nodes remained viable (so autoscaling could still do its job).
  2. Service Impact: ServiceAPI
  3. Impact Duration: none
  4. Root cause: RootCauseKnown-Software-Issue - This is a defect where GKE node initialization fails to install a critical component (the calico networking plugin) when provisioning a new GKE node. The same problem likely affects other GCP customers too. Hopefully the above notes are useful to them as a work-around until GKE fixes the defect.

Timeline

Recent Events (available internally only):

  • Deployments
  • Feature Flag Changes
  • Infrastructure Configurations
  • GCP Events (e.g. host failure)
  • Gitlab.com Latest Updates

All times UTC.

2022-05-01

  • 17:28 - @msmiley declares incident in Slack.

Create related issues

Use the following links to create related issues to this incident if additional work needs to be completed after it is resolved:

  • Corrective action
  • Investigation followup
  • Confidential / Support contact
  • QA investigation
  • Infradev

Takeaways

  • ...

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

  • Ensure that the exec summary is completed at the top of the incident issue, the timeline is updated and relevant graphs are included in the summary
  • If there are any corrective action items mentioned in the notes on the incident, ensure they are listed in the "Corrective Action" section
  • Fill out relevant sections below or link to the meeting review notes that cover these topics

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

What went well?

  • ...

Guidelines

  • Blameless RCA Guideline

Resources

  1. If the Situation Zoom room was utilised, recording will be automatically uploaded to Incident room Google Drive folder (private)
Edited May 01, 2022 by Matt Smiley
Assignee Loading
Time tracking Loading