Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Cześć
Napisałem program do zdalnej konfiguracji mikrotików przez API. Nazywa się mcm (mikrotik configuration manager). W skrócie jest to podobny zamysłem program do cfengine,chef,puppet,ansible tylko, że do mikrotików. Można za pomocą niego "rozrzucić" np. konfigurację userów,klienta ntp i wiele innych.
Może się komuś przyda.
Offline
Nasza (w sensie mojego ISP) sieć jest oparta na mikrotikach, potestuję i dam znać ile to to je warte ;)
Offline
lis6502@Nexus ~/mcm-master $ python mcm.py
Traceback (most recent call last):
File "mcm.py", line 6, in <module>
from librouteros import LoginError, connect, ConnError
File "/home/lis6502/mcm-master/librouteros/__init__.py", line 17, in <module>
from tools import ChainMap
File "/home/lis6502/mcm-master/tools.py", line 10, in <module>
from collections import UserDict
ImportError: cannot import name UserDict
Jak trza coś zainstalczyć to krzycz- distro Gentoo, amd64.
Offline
Na czym to odpalasz? UserDict jest częścią biblioteki standardowej pythona. Chyba, że korzystasz z python 3, to tam UserDict zostało przeniesione do collections
Ostatnio edytowany przez jurgensen (2015-08-18 15:53:49)
Offline
lis6502 napisał(-a):
lis6502@Nexus ~/mcm-master $ python mcm.py
Traceback (most recent call last):
File "mcm.py", line 6, in <module>
from librouteros import LoginError, connect, ConnError
File "/home/lis6502/mcm-master/librouteros/__init__.py", line 17, in <module>
from tools import ChainMap
File "/home/lis6502/mcm-master/tools.py", line 10, in <module>
from collections import UserDict
ImportError: cannot import name UserDict
Jak trza coś zainstalczyć to krzycz- distro Gentoo, amd64.
Tutaj są wyniki testów. Jak na nich widać są odpalane na każdej wersji pythona3.
Sprawdź czy podczas instalacji/komilacji na gentoo czegoś nie zabrakło (jakiejś flagi).
Jeżeli macie jakieś pomysły,propozycje,feature requesty to piszcie proszę mi na prv/mail.
Ostatnio edytowany przez ukasz (2015-08-18 20:01:46)
Offline
I wszystko jasne. W tools.py masz wersję dla Pythona3:
from collections import UserDict
Dlatego nie działa to na python 2.x
@lis6502 spróbuj zmienić na:
import UserDict
Ale skoro jest to pisane pod pythona 3, to pewnie z 2.x wiele rzeczy jeszcze nie będzie działać
Offline
Poradziłem sobie z ręki odpalajac przez python3 mcm.py
Tyle że chyba nie rozumiem sensu działania programu. Domaga się jakiegoś konfigu na wejściu, więc jesli misją skryptu jest kopiowanie cfg'u przez MTAPI, to szczerze powiem że z default każdy mikrotik posiada ssh, więc wygodniej wykorzystać narzędzia obecne w kazdym distro niż komplikować sobie życie zewnętrznym softem.
Offline
ukasz napisał(-a):
Cześć
Napisałem program do zdalnej konfiguracji mikrotików przez API. Nazywa się mcm (mikrotik configuration manager). W skrócie jest to podobny zamysłem program do cfengine,chef,puppet,ansible tylko, że do mikrotików. Można za pomocą niego "rozrzucić" np. konfigurację userów,klienta ntp i wiele innych.
Może się komuś przyda.
Zaryzykuję stwierdzenie, że gdyby to był moduł do Webmina napisany w Perlu (jak cały Webmin), to miałby większe szanse na długoletnią karierę.
;-)
Ostatnio edytowany przez Jacekalex (2015-08-19 22:21:38)
Offline
@lis:chyba nie rozumiesz istoty działania programu :) chodzi w podobnych aplikacjach o to żeby właśnie działania z SSH ograniczyć do minimum, a wykonywanie zadań przerzucić na automaty, na przykładzie puppeta wygląda to klarowniej
Masz x vmek, gdy to x to mała liczba a ty jesteś jedynym adminem, żaden problem, masz jakąś choćby szczątkowa dokumentację, możesz sobie pozwolić na do stawianie kolejnych nodeów z łapy, ale gdy jest was techników kilku, jeszcze w innych strefach czasowych, a liczba nodeów niepokojąco rośnie, i musowe jest HA sprawa zaczyna się komplikować. Wtedy z pomocą przychodzą z pomocą takie narzędzia jak właśnie puppet czy chef w których opisujesz jaki chcesz uzyskać efekt w pliku i gdy przychodzi potrzeba dostawienia np 2 nowych nodeów to tylko dostawiasz 2 vmki z jakiegoś szablonu, podłaczasz je do puppet mastera nadajesz im role (np serwer bazy danych klientów) i ... Możesz zająć się czym innym :p puppet dociągnie paczki i skonfiguruje usługi zgodnie z tym co mu zawrzesz w manifescie, jeśli masz to pozenione jeszcze dodatkowo z jakimś gitem zyskujesz wygodne i funkcjonalne narzędzie które przyspiesza twoja prace i eliminuje(lub zmniejsza) czynnik ludzki do minimum i ułatwia prace grupową
Można wszystko co prawda oskryptować z łapy, fakt, tylko wtedy wchodzą w grę błędy które mogły się pojawić w twoich skryptach, dodatkowo wypadaloby mieć jakąś dokumentację, a i tak na końcu jak przyjdzie cos czego nie przewidziales będziesz musiał do nich wracac i albo robić nowe wersje starych albo copy pastę i edycja częściowa
Co prawda bardziej obeznany jestem z puppetem ale to narzędzie wygląda ciekawie, fajnie byłoby jakby @lukasz podał przykładowe zastosowania, podał jakieś szczegóły dotyczące szczegółów przykładowej konfiguracji (np czy manifestty pisze się w czymś na kształt puppet language czy raczej to jakiś jezyk skryptowy ze zmiennymi (nie mam niestety dostępu do żadnego mikrotika a z chęcią bym się dowiedział z czym to się je)
Offline
Mozna konfigurować mikrotiki przez ssh. Da się. Jest jednak pewna granica po której zadania to staje się nie do ogarnięcia. Nie bez powodu ktoś wymyślił API. Przez API można bardzo łatwo porównywać dane te które są z tymi które chesz żeby były.
Co do dokumentacji to jest ona na stronie githuba
https://github.com/luqasz/mcm/wiki/Getting-Started
Offline
Strony: 1