(ops how do I get here?)

Słowo bezpieczeństwa dla czytelnika: w tym miejscu nie natrafisz na niesamowicie inspirujące historie w formacie linkedin’a.

alt

Cześć!

Minęło sporo czasu zanim ukończyłem projekt własnego bloga. Brzmi trochę hipstersko jak na 2025, ale chciałem mieć miejsce gdzie dzielę się doświadczeniami w luźny sposób, bez udawania, że wiem wszystko. Host dla tej przestrzeni czekał prawie 5 miesięcy i nie miał okazji się wygrzać więc pora to zmienić.

Kiedy wreszcie usiadłem do pisania, lawina pomysłów w głowie zamieniła się w pustkę. To chyba wewnętrzny perfekcjonista usiadł i stwierdził że nie warto pisać, jeśli nie ma się do powiedzenia czegoś przełomowego. Ale ten blog ma być odtrutką. Drogą, a nie konkursem na najostrzejszą kredkę w piórniku.

Czasem chodzi o pokorę.

Pora zatrzymać się, a nawet zrobić krok w tył. Czasami kartka i cisza są skuteczniejsze niż trzy monitory i wsparcie AI. Właśnie o tym chciałbym opowiadać w tym miejscu, o momentach fustracji, które popychają nas do przodu. Poniżej zapisałem jedną z takich historii.

Bo to trzeba siąść na spokojnie.

Pracowałem wtedy nad konfiguracją ansible, dodałem kolejną vm do klastra. Założenie było proste: CI/CD wdroży moje zmiany. Dyżur non stop wybijał mnie z rytmu, a CI/CD zatrzymywał się na tym samym błędzie “wget not installed”. Miałem sprawdzić ręcznie cztery hosty, ale pierwszy - ma wget, drugi - ma wget. (tutaj było oderwanie uwagi na dyżur). Więc stwierdziłem (nie upewniając się), że pozostałe vm też mają, poza tym w logach widziałem, że z powodzeniem wykonała się instalacja programu. Szukając rozwiązania moja uwaga co chwilę skupiła się na dyżurze, przez co wpadłem w niekończącą się spiralę debugowania z AI a frustracja rosła. Tym razem nie udało mi się znaleźć rozwiązania.

Następnego dnia, gdy zmieniłem swoje podejście: wziąłem zeszyt, rozrysowałem schemat sieci - coś przeskoczyło. W CI/CD pierwszym etapem było ansible-playbook [...] --check, czyli uruchomienie w trybie bez zmian. A więc do tej pory oglądałem przedstawienie, bo widoczny wget installation success w logach nie odwzorowywał rzeczywistości, a skrypt był przerywany bo ansible próbował sprawdzić coś wget’em.

Przed zmianami konfiguracji pracowałem na kompletnym środowisku (z wymaganymi programami). Dodałem nową vm licząc, że CI/CD zainstaluje potrzebne zależności, ale tryb check był w tym przypadku strzałem w stopę. Po zrozumieniu przyczyny wprowadziłem poprawki i od tego czasu ansible wykonuje się krótko ale szczczęśliwie.