Why Ansible set_fact Persists Between Roles (And How to Reset It)

You set a variable with set_fact inside a role. It works perfectly. Then you run the same role again — either in a loop, or later in the same playbook — and it behaves differently. The variable has a value from the previous run that you didn’t expect. This is one of Ansible’s most common gotchas. Here’s exactly why it happens and how to fix it. Why set_fact Persists In Ansible, set_fact sets a variable at the host level for the duration of the play. It is not scoped to the role or task file that created it. Once set, it stays set until: ...

April 7, 2026 Â· 4 min Â· 820 words Â· Rob Washington

Docker Container Exits Immediately After Starting (How to Fix It)

You run docker run myimage or docker compose up and the container vanishes instantly. docker ps shows nothing. docker ps -a shows the container with status Exited (0) or Exited (1) seconds ago. Here’s how to figure out what’s happening and fix it. Step 1: Check the logs first Before anything else: 1 docker logs <container_id_or_name> If the container is already gone, use the container ID from docker ps -a: ...

April 6, 2026 Â· 5 min Â· 905 words Â· Rob Washington

Fix Python SSL: CERTIFICATE_VERIFY_FAILED Error

You’re making an HTTP request in Python and suddenly: s s l . S S L C e r t V e r i f i c a t i o n E r r o r : [ S S L : C E R T I F I C A T E _ V E R I F Y _ F A I L E D ] c e r t i f i c a t e v e r i f y f a i l e d : u n a b l e t o g e t l o c a l i s s u e r c e r t i f i c a t e Or with requests: ...

April 5, 2026 Â· 5 min Â· 963 words Â· Rob Washington

Fix: Shell Script Works Manually But Fails in Cron

You’ve written a shell script. It works perfectly when you run it manually. You add it to cron, and… nothing. No output, no errors, just silence. This is one of the most common and frustrating problems in Linux administration. Here’s why it happens and how to fix it. The Root Cause: Environment Differences When you run a script manually, you get your full shell environment: $PATH, environment variables, your working directory, and all the context you’re used to. ...

April 4, 2026 Â· 4 min Â· 678 words Â· Rob Washington

Fix: Access to fetch blocked by CORS policy

You’re building a frontend that calls your API, and suddenly: A h o c a n c s e t s b h s e e e t n r o e b q f l u e o e t c s c k t h e e d d a t b r y e ' s h C o t O u t R r p S c : e / p . / o l l o i c c a y l : h o N s o t : ' 8 A 0 c 0 c 0 e / s a s p - i C / o d n a t t r a o ' l - f A r l o l m o w o - r O i r g i i g n i n ' ' h t h t e p a : d / e / r l o i c s a l p h r o e s s t e : n 3 t 0 0 0 ' Your API works fine in Postman. It works with curl. But your browser refuses to load the data. What’s going on? ...

April 3, 2026 Â· 5 min Â· 877 words Â· Rob Washington

Why Your Cron Job Isn't Running (And How to Fix It)

You added a cron job. It works when you run it manually. But cron just… doesn’t run it. No errors, no output, nothing. This is one of the most frustrating debugging experiences in Linux. Here’s a systematic checklist to find out what’s actually wrong. 1. Check If Cron Is Running First, make sure the cron daemon is actually running: 1 2 3 4 5 6 7 # systemd systems systemctl status cron # or systemctl status crond # Older init systems service cron status If it’s not running, start it: ...

April 2, 2026 Â· 5 min Â· 922 words Â· Rob Washington

Fix: Kubernetes Pod Stuck in CrashLoopBackOff

Your pod is stuck in CrashLoopBackOff. Kubernetes keeps restarting it, each time waiting longer before trying again. Here’s how to diagnose and fix it. What CrashLoopBackOff Actually Means CrashLoopBackOff isn’t the error itself — it’s Kubernetes telling you “this container keeps crashing, so I’m backing off on restarts.” The actual problem is that your container exits with a non-zero exit code. Kubernetes notices, restarts it, it crashes again, and the backoff timer increases: 10s, 20s, 40s, up to 5 minutes. ...

April 1, 2026 Â· 6 min Â· 1086 words Â· Rob Washington

Fix: git push rejected (non-fast-forward)

You tried to push your changes and git slapped you with this: ! e h h r i i [ r n n r o t t e r : : j : e U i c f p t t a d s e i a d l t r ] e e e d s m o t w t o e e r p e c u o s r u m h e n a j t i s e e n o c r m t p e e a d r r t m e b . a f e i s c n a t u ( o s n e o n o t - r h f i e a g s i t t n i - ' p f o o r f w a y r o d u ) r c u r r e n t b r a n c h i s b e h i n d This is one of the most common git errors, and it’s actually git protecting you from accidentally overwriting someone else’s work (or your own work from another machine). ...

March 31, 2026 Â· 4 min Â· 791 words Â· Rob Washington

Fix: Permission Denied /var/run/docker.sock

You run a Docker command and get this: G P d o o i t s a t l p e " u r h n m t i i t x s p s : i / a n % r 2 / d F r e v u n a n i r / e % d d 2 o F c w r k h u e i n r l % . e 2 s F o t d c r o k y c : i k n e c g r o . n t s n o o e c c c k t o / : n v n 1 p e . e c 2 r t 4 m / i t c s o o s n i t t o h a n e i n d D e e o r n c s i k / e e c d r r e d a a t e e m " o : n s o c k e t a t u n i x : / / / v a r / r u n / d o c k e r . s o c k : This happens because Docker runs as root by default, and your user doesn’t have permission to access the Docker socket. Here’s how to fix it properly. ...

March 30, 2026 Â· 4 min Â· 831 words Â· Rob Washington

Why Your Cron Job Isn't Running (And How to Fix It)

You added a cron job. You’re sure the syntax is right. But nothing happens. No output, no errors, just silence. Here’s how to figure out what’s wrong. Check If Cron Is Actually Running First, verify the cron daemon is alive: 1 2 3 4 5 6 7 # systemd systems systemctl status cron # or systemctl status crond # older systems service cron status If it’s not running, start it: ...

March 29, 2026 Â· 4 min Â· 759 words Â· Rob Washington