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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2015-07-23 17:59:24

  ukasz - Użytkownik

ukasz
Użytkownik
Skąd: wroclaw
Zarejestrowany: 2006-06-21

Mikrotik configuration manager (konfiguracja mikrotikow przez API)

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.


http://wiblo.pl/wilk/userbars/debian_user_black.png

Offline

 

#2  2015-08-18 14:03:14

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

Nasza (w sensie mojego ISP) sieć jest oparta na mikrotikach, potestuję i dam znać ile to to je warte ;)

Offline

 

#3  2015-08-18 15:12:02

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

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

 

#4  2015-08-18 15:51:18

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

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

 

#5  2015-08-18 19:59:09

  ukasz - Użytkownik

ukasz
Użytkownik
Skąd: wroclaw
Zarejestrowany: 2006-06-21

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

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)


http://wiblo.pl/wilk/userbars/debian_user_black.png

Offline

 

#6  2015-08-19 08:45:39

  jurgensen - Użytkownik

jurgensen
Użytkownik
Skąd: Wrocław
Zarejestrowany: 2010-01-26

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

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

 

#7  2015-08-19 21:39:47

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

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

 

#8  2015-08-19 22:19:43

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2015-08-20 02:57:02

  thomsson - Dyskutant

thomsson
Dyskutant
Zarejestrowany: 2011-10-26

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

@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)


ilin napisał
"DUG to tez moja mała ojczyzna"

Offline

 

#10  2015-08-20 21:32:13

  ukasz - Użytkownik

ukasz
Użytkownik
Skąd: wroclaw
Zarejestrowany: 2006-06-21

Re: Mikrotik configuration manager (konfiguracja mikrotikow przez API)

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


http://wiblo.pl/wilk/userbars/debian_user_black.png

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)