
Алексей
28.10.2016
10:48:21
регулярки
и прочую нечисть
и сам при этом пытеся угодать что ему подсунули

E_zombie
28.10.2016
10:49:14
чё серьёзно? регулярки умеет?

Google

Алексей
28.10.2016
10:49:17
ага

E_zombie
28.10.2016
10:49:24
врёшь ты всё и спишь ты в тумбочке (с)

Алексей
28.10.2016
10:49:36
и твой косяк ка краз в том что определиние того что ему подсунули зазбоило

E_zombie
28.10.2016
10:49:48
ээээ

Алексей
28.10.2016
10:49:51
точнее дима не предусмотрел ствой кейс

E_zombie
28.10.2016
10:50:07
нефига не понял
и тем более как теперь с этим жить дальше
https://pp.vk.me/c626329/v626329471/31cc6/bRwQ80ZC6Ns.jpg я за работой

Robert
28.10.2016
11:17:40

E_zombie
28.10.2016
11:18:16
ага

Robert
28.10.2016
11:19:29
плохо

E_zombie
28.10.2016
11:28:00
тебе не нравится мой пенюар ?

Maksim
28.10.2016
11:40:59
какие основные данные нужны ноку при использовании get_interfaces ? пока только увидел name/mac/snmp_index(пока не понял как его впихнуть) и status ?

Google

Maksim
28.10.2016
11:41:04
этого будет достаточно?

Andrey
28.10.2016
11:43:22

Maksim
28.10.2016
11:43:45
эм

Andrey
28.10.2016
11:43:52
в конце перечисление, везде, где не стоит required=False нужно

Maksim
28.10.2016
11:44:02
можно его за основу взять ?

Andrey
28.10.2016
11:44:15
это не скрипт
это описание потребностей НОКа от скрипта

Maksim
28.10.2016
11:44:59
/opt/noc/sa/interfaces ты про эту папочку ?

Andrey
28.10.2016
11:45:16
ну да

Maksim
28.10.2016
11:45:49
сложноватенько, у инфинетов все слегка туповато

Andrey
28.10.2016
11:47:10
ну, формально нужны name и type

Maksim
28.10.2016
11:47:19
точнее пиздец, по другому не скажешь )

Andrey
28.10.2016
11:48:13
этот файлик описывает, почему по SNMP не кошерно получать данные об интерфейсах
80% по нему не узнаешь

Maksim
28.10.2016
11:50:55
да тут более геморойно, у инфинета если заюзать тупо co sh ifc выводит вот такое гаумно
есть конечно ifc -a , если только оттуда выдергвать всю информацию.
делать парсинг строк
eth1: flags=8002<BROADCAST,MULTICAST> mtu 1500
inet 0.0.0.0 netmask 0x0
ether 00:04:35:12:94:3e

E_zombie
28.10.2016
11:55:46
@dmitryluhtionov ping

Dmitry
28.10.2016
11:56:02
ась ?

E_zombie
28.10.2016
11:56:43
по поводу вчерашнего

Google

E_zombie
28.10.2016
11:57:09
подгрузил я то что ты говорил но оно всё равно ругается на что что find_re ету
http://pastebin.com/Z3hGYx6T
уупс не того
http://pastebin.com/0KNEXD7P
PROCESS: ./commands/m-sys.py
ERROR FINGERPRINT: df1e1586-85da-5e6a-825f-a66add0035e7
WORKING DIRECTORY: /opt/noc
EXCEPTION: <type 'exceptions.AttributeError'> 'Command' object has no attribute 'find_re'
START OF TRACEBACK

Dmitry
28.10.2016
11:59:48
class Command(BaseCommand):
а find_re в классе BaseScript
сделай еще один класс, наследником от BaseScript

E_zombie
28.10.2016
12:01:10
ууууууу шайтана. я хз как

Bitbucket
28.10.2016
12:16:32
Dmitry Volodin pushed to noc/feature/microservices
Remove nginx rewrites

Dmitry
28.10.2016
12:17:09
https://bitbucket.org/nocproject/noc/commits/17e29d3f5608346711d9936c962d4739ad131434

N
28.10.2016
12:19:59
https://vc.ru/p/gifs-admin

Intal
28.10.2016
12:23:36
Ребята, скажите есть ли таблетка на Cisco asr 901?

E_zombie
28.10.2016
12:26:24
профиль для поддержки тебе нужен или что

Intal
28.10.2016
12:31:35

E_zombie
28.10.2016
12:33:47
тут варезом не занимаются.
тут другие наркотики в цене.
изыди

Intal
28.10.2016
12:35:23
ok

Maksim
28.10.2016
12:37:05
rx_sh_int = re.compile(
r"^(?P<interface>.+?)\s+is(?:\s+administratively)?\s+(?P<admin_status>up|down),\s+line\s+"
r"protocol\s+is\s+(?P<oper_status>up|down)\s" подскажите, как эта строчка работает? если пытаться собрать через регулярные выражения, то для административно погашенному порту она работает, а для порта в апе оно не работает.

Google

Maksim
28.10.2016
12:37:17
это для Cisco IOS

E_zombie
28.10.2016
12:37:53
строчки которые с оборудования приезжают сравнивать не пробовал?*

Maksim
28.10.2016
12:38:02
Ну они разные
Embedded-Service-Engine0/0 is administratively down, line protocol is down
GigabitEthernet0/0 is up, line protocol is up

E_zombie
28.10.2016
12:39:22
а второй вариант ?

Maksim
28.10.2016
12:39:34
ну я первый и второй прислал в апе и погашенный.
во втором случае administratively нет, как тогда оно дальше парсит ?
мне просто понять как обойти либо оно если либо его нет.

E_zombie
28.10.2016
12:42:43
https://regex101.com/
можэт тебе это поможет

Maksim
28.10.2016
12:42:58
http://www.abego-software.de/download/RegExpCalculator.html
да я тут колупаю
но тут поудобнее, спасибо

E_zombie
28.10.2016
13:33:52
йоохууууу. я запилил автораскидывание по сегментам для саратова. по конфигам и snmp

Ivan
28.10.2016
13:34:05
А автодискавери?0

E_zombie
28.10.2016
13:34:15
ой блять. не туда .
автодискавери у меня давно запилено.
могу поделиться если надо. только оно на баше.

Ivan
28.10.2016
13:37:55

Google

E_zombie
28.10.2016
13:44:17
вкурил в говнокод?

Maksim
28.10.2016
13:46:52
Пытаюсь утращить хотя бы один параметр, но не возвращается
## Python modules
import re
## NOC modules
from noc.sa.interfaces.igetinterfaces import IGetInterfaces
from noc.core.script.base import BaseScript
class Script(BaseScript):
name = "InfiNet.WANFlexX.get_interfaces"
interface = IGetInterfaces
rx_co_int = re.compile(r"^(?P<name>\S+)$", re.MULTILINE)
def execute(self):
int = self.cli("ifc -a")
r = []
for match in self.rx_co_int.finditer(int):
r += [{
"name": match.group("name")
# "mac": match.group("mac"),
# "interface": match.group("interface")
}]
return r
не силен я в питоне прям вот.

E_zombie
28.10.2016
13:47:23
эээээ ты эт профиль корячишь*

Maksim
28.10.2016
13:47:40
ога, пытаюсь по крайней мере

E_zombie
28.10.2016
13:48:21
апокажи что тебе ifc -a возвращает?

Maksim
28.10.2016
13:48:54
в формате как на устройстве ? или же как код жрет?\
я конечно подозреваю что я регулярку неверно прописал в коде

E_zombie
28.10.2016
13:49:24
что в консоль падает.

Maksim
28.10.2016
13:50:32
http://pastebin.com/7JviNH5W

E_zombie
28.10.2016
13:53:00
rx_iface = re.compile(
r"\d+: (?P<name>\S+):\s[a-zA-Z0-9,<>_ ]+\n"
r" link/ether (?P<mac>\S+) brd"
, re.I | re.S.
)
у меня было что то подобное в профиле RHEL
eth0 тебеж это надо выдрать?

Maksim
28.10.2016
13:53:34
оу, как ты быстро разломал
да тут сложнее, есть eth0 eth1 rf5.0 tun1 vlan1-10

E_zombie
28.10.2016
13:54:17
не суть. там главное что в конце стоит двоеточее

Bitbucket
28.10.2016
13:55:23

Maksim
28.10.2016
13:55:40
не рабортает зараза

E_zombie
28.10.2016
13:56:22
(?P<name>\S+):\s+flags
попробуй такой шаблон