Włączanie Cisco UCS skryptem w Python

Włączanie Cisco UCS skryptem w Python

Włączanie Cisco UCS skryptem w Python

Jeżeli w Twoim domowym labie ląduje serwer Cisco UCS, to być może nie chcesz by działał 24/7. Prąd jest drogi, szumi to niemiłosiernie i jak nie masz serwerowni w garażu to po paru dniach będziesz miał dość odgłosów serwerowni w swoim domu. Z drugiej strony leń siedzi w każdym z nas i nikomu nie chce się chodzić by tylko kliknąć przycisk by uruchomić serwer. Zatem najbardziej przydatny skrypt to ten, który pozwoli uruchomić serwer zdalnie.

Czytaj dalej
Odkryj biblioteki Python przydatne w automatyzacji

Odkryj biblioteki Python przydatne w automatyzacji

Odkryj biblioteki Python przydatne w automatyzacji

Dzisiaj chciałbym podzielić się z Wami wyjątkowym repozytorium, które zawiera zbiór biblioteki Python przydatne w automatyzacji. Wykorzystasz je w skryptach automatyzujących zarządzanie sieciami komputerowymi. Repozytorium dostępne jest na GitHub Szkoły DevNet dla wszystkich. Jest to projekt, który może zainteresować zarówno początkujących, jak i doświadczonych programistów sieciowych. A co w nim znajdziesz? Szczegóły poniżej.

Czytaj dalej
Nowości w Python 3.11

Nowości w Python 3.11

Nowości w Python 3.11

Co prawda Python 3.11 wyszedł w październiku zeszłego roku to dopiero niedawno miałem czas przyjrzeć się nowościom i zmianom w tej wersji języka. Nie ma ich co prawda bardzo dużo, ale niektóre wydają się dość ciekawe i do zastosowania nie tylko przez zaawansowanych programistów. Sam jako domyślny język używam od wielu miesięcy wersji 3.10, którą uważam za stabilną. Spójrzmy zatem co przynosi wersja 3.11.

Czytaj dalej
Czym jest DevNet Code Exchange

Czym jest DevNet Code Exchange

Czym jest DevNet Code Exchange

Wśród wielu serwisów udostępniających skrypty automatyzacji warto zwrócić uwagę na Cisco DevNet Code Exchange. Jest to platforma, na której zebrane są stworzone przez Cisco oraz niezależnych developerów i entuzjastów skrypty ułatwiające automatyzację produktów z ekosystemu Cisco. Jeżeli więc pracujesz z urządzeniami tej firmy na co dzień, to powinieneś mieć ten serwis w swoich zakładkach. Mój projekt, CMLNetKit, także znajduje się w tym repozytorium.

Czytaj dalej
Pierwsza styczność z API na Fortigate

Pierwsza styczność z API na Fortigate

Pierwsza styczność z API na Fortigate

Trafił do mnie na jakiś czas firewall Fortigate 60E, więc postanowiłem skorzystać z okazji i zobaczyć co oferuje platforma od strony programowalnego zarządzania. Z urządzeniami Fortigate mam styczność co jakiś czas, wielu mniejszych klientów z nich korzysta. Nie miałem okazji jednak wykorzystywać ich interfejsu API czy programowalnych funkcjonalności. Opisane funkcje testowałem na najnowszym firmware 7.0.0.

Czytaj dalej
AdminDays - skrypt z warsztatów

AdminDays – skrypt z warsztatów

AdminDays - skrypt z warsztatów

W zeszłym tygodniu, 25 marca, w ramach eventu AdminDays miałem przyjemność poprowadzić warsztaty/prezentację związaną z automatyzacją w środowisku sieciowym. W czasie spotkania pokazałem proces tworzenia skryptu w języku Python, który wykonuje proste czynności administracyjne związane z odczytaniem i rekonfiguracją interfejsu Loopback. Z samym urządzeniem połączenie następuje za pomocą protokołu RESTCONF, a jeżeli ten jest niedostępny to za pomocą SSH z wykorzystaniem biblioteki Netmiko. Skrypt, wraz z zestawem linków do podstawowych bibliotek, które każdy programista sieciowy powinien znać, znajduje się w repozytorium GitHub Szkoły DevNet.

Czytaj dalej
Jak dodałem funkcjonalność MaxReplicas w docker-py i Ansible

Jak dodałem funkcjonalność MaxReplicas w docker-py i Ansible

Jak dodałem funkcjonalność MaxReplicas w docker-py i Ansible

W klastrach Docker Swarm możemy uruchamiać serwisy w dwóch trybach – global oraz replicated. Jeżeli wybierzemy pierwszy z nich, to na każdym węźle wchodzącym w skład klastra zostanie uruchomiona dokładnie jednak kopia serwisu. W trybie replicated wskazujemy, ile kopii serwisu chcemy mieć uruchomionych, ale to Swarm decyduje, na których węzłach zostaną one uruchomione. Możemy w pewnym stopniu na nie wpływać za pomocą tak zwanych placement constraints i placement preferencesJest też parametr MaxReplicas, którego wsparcie napisałem dla biblioteki docker-py oraz do modułu docker_swarm_service kolekcji community.docker w projekcie Ansible. Korzytanie z niego jest bardzo proste.

Czytaj dalej
Tajemnicze *args i **kwargs

Tajemnicze *args i **kwargs

Tajemnicze *args i **kwargs

Jak w każdym języku programowania także w Pythonie znajdziemy ciekawe i zastanawiające konstrukcje składni. Na przykład dziwnie wyglądające *args i **kwargs w języku Python. Dziś pokażę Ci w jaki sposób poradzić sobie w sytuacji, gdy wywołujemy funkcję, ale nie wiemy ile argumentów do niej zostanie przekazanych. Z taką sytuacją w świecie automatyzacji infrastruktury mamy do czynienia dość często. Rozwiązanie w tym przypadku jest banalnie proste.

Czytaj dalej
Skrypt Python w Jenkins

Uruchamiamy skypt Python w Jenkins

Skrypt Python w Jenkins

Jenkins to elastyczne narzędzie do tworzenia i wykonywania scenariuszy w modelu CI/CD. Scenariusz taki może składać się z przeróżnych kroków, w trakcie których wykorzystujemy zewnętrzne narzędzia takie jak skrypty Pythona. W dzisiejszym artykule zaprezentuję Ci trzy sposoby wywoływania skryptów Python w Jenkins w projektach opisywanych za pomocą zdefiniowanych akcji jak i jako pipeline.

Czytaj dalej