Module 02 · environment diagnostics

Debug the lab in front of the room

The browser cannot shell out, so this page is the drill: flip any check to failing to rehearse the error text and the recovery. The Python CLI runs the same checks for real against the machine in front of you.

$ python -m fde_toolkit diagnose

all checks passing

Core

  • okPython 3$ python3 --version
    Python 3.11.x
  • okPackage install$ python3 -m pip install -r requirements.txt
    Requirements satisfied
  • okGit$ git --version
    git version 2.4x

Containers

  • okDocker CLI$ docker --version
    Docker version 27.x
  • okDocker daemon$ docker info
    Server version reachable
  • okImage pull$ docker compose up -d
    Containers healthy

Kubernetes

  • okkubectl$ kubectl version --client
    Client v1.31
  • okCluster reachable$ kubectl get pods
    Pods listed

Network

  • okPort 8080 free$ lsof -i :8080
    No listener
  • okNetwork / DNS$ getent hosts pypi.org
    Resolved

Live recovery playbook

the critical skill

  1. 1.Announce the failure out loud and put a timebox on it (5 minutes) so the room keeps its rhythm.
  2. 2.Ask the participant to paste the exact error, not a paraphrase, into the chat.
  3. 3.Reproduce it on the shared screen — a failure walked through in public teaches more than a green lab.
  4. 4.Apply the known workaround; if there is none in 5 minutes, move that participant to the hosted fallback environment.
  5. 5.Log the issue in the retro module immediately, while the exact command and error are still on screen.

Escalation threshold

If one participant burns more than five minutes, move them to the hosted fallback and keep the cohort moving. If more than a third of the room hits the same failure, stop the lab, fix it on the shared screen, and escalate to the program lead afterwards — do not debug ten machines in series.