nocproject.org
03:23
всем привет
03:23
кто может поговорить о noc / sa / interfaces / igetinterfaces.py?
03:35
хай
03:35
а чего онем говорить ?
03:39
о вот там в L2 portchannel есть тип type = "aggregate"
03:40
а в типах интерфейсов такого нет
03:40
"type": StringParameter(choices=["physical", "SVI", "aggregated","loopback", "management","null", "tunnel", "other", "unknown"]),
03:41
в принципе, видит что он входит в портчэнал если и "physical" сделать
03:42
но если бы был тип "aggregate", то порты с таким типом не отражалиль бы во вкладке "Phisical" в интрефейсах
03:42
что наверное неправильно?
03:43
этот бы момент прояснить и можно начать собирать патч для портчэналов в профиле DGS.3100
03:47
freeseacher: и вот еще
NOC-1427, циска может отдавать во вланах парамтр 'more'? или что это, что-то вроде пейджера?
03:49
*['не отражались', 'параметр']
04:06
freeseacher: ау?
05:24
TSergey, что за параметр такой?
05:24
_4ePTeHok: ты про что?
05:36
dvolodin: привет
05:37
в noc / sa / interfaces / igetinterfaces.py в L2 portchannel есть тип type = "aggregate"
05:37
а в типах интерфейсов такого нет
05:37
"type": StringParameter(choices=["physical", "SVI", "aggregated","loopback", "management","null", "tunnel", "other", "unknown"]),
05:37
в принципе, видит что он входит в портчэнал если и "physical" сделать
05:37
но если бы был тип "aggregate", то порты с таким типом не отражалиль бы во вкладке "Phisical" в интрефейсах, что наверное неправильно?
05:46
аааа, "доктор, меня все игнорируют" :)
05:48
portchannel - логический интерфейс
05:49
в физике должны быть физические порты
05:49
portchannel попадет в LAG
05:55
значит в noc / sa / interfaces / igetinterfaces.py в блоке L2 portchannel ошибка в описании портов
05:55
05:55
в описании типа порта
05:57
а еще, как обратиться к функции, которая находится в __init__.py ?
05:57
например из get_portchannel? неужели нужен import?
06:05
по примеру цископрофиля, функция преобразования имени порта
06:05
оно автоматом заимпортится
06:06
что-то у меня так не получилось
06:06
расскажи, функция конвертирования в инит, а вызывается из гет_интерфейс, правильно понимаю?
06:07
c_iface = self.profile.convert_interface_name(iface)
06:07
в скрипте
06:08
в ините оно def convert_interface_name(self, interface):
06:08
да, она через указание класса вызвается
06:08
self.profile.
06:09
ща свою функцию раскрытиея скобок для DGS.3100 перемещу в инит
06:09
*раскрытия
06:21
_4ePTeHok: да, так сработало
06:22
а если self.функция --- то взяло бы из инит вне класса профиль?
06:22
что-то так не зацепило
06:25
у тебя класса нет
06:25
профиль - это класс
06:28
смотри, в noc / sa / profiles / DLink / DGS3100 / __init__.py есть фунция def DGS3100(v), вне класса
06:28
как она будет вызываться из скриптов профиля DGS.3100 ?
06:29
self.DGS3100(что-то там)?
06:30
функция раскрытия скобок, нужно ли ее пихать в класс Profile
06:37
Dmitry1, а ты get_LLDP _neighbors на DxS_Dlink_Cisco_CLI не смотрел?
06:38
ну вроде в списке светится) придет прочитает
06:38
камрады, доброе утро. А подскажите пожалуйста, поиск линков по MAC-discovery должен работать? Или тлоько по lldp/cdp?
06:38
а то у меня линки почему-то строятся только по lldp
06:39
Night_Snake: маки только по L3
06:40
L3 интерфейс маршрутизатора --- сетевая карта
06:41
Не, не понимать) mac-discovery же fib собирает, при чем тут роутер? или меня глючит?
06:43
Night_Snake: только в такой связки достоверный линк
06:43
*связке
06:43
т.е. если lldp/cdp нету. то тока ручками? :(
06:44
на цисках еще по stp умеет
06:45
(но, имхо, с ошибкой)
06:45
не, stp там кусочками, так что тоже не вариант. Эх... придется ручками, да
06:46
заряжай все, может кандидатов найдет, закоммитишь
06:47
не, пробовал уже) он по lldp тока кандидатов нашел
06:47
а у меня des-3028 не хочет чего-то дружиться с более новыми. Т.е. он соседей видят, а соседи его нет - это с самих свичей если. Длинк... :(
06:47
А на цисках все влет по cdp встало
06:48
evyscr: мы догадываемся в чем дело, да?
06:48
ну это не секрет
06:48
просто evyscr делел патч
06:48
у меня работает
06:48
Это-то да)
06:48
А патч закоммитили?
06:48
но на 3028 я не замечал проблем
06:49
Ну я сегодня детально гляну что с чем вяжется, а что нет. На выходных влом было туда лезтьь
06:50
06:50
тут есть патч, в последнем комментарии
06:51
там скорее опять хаки вылезли
06:51
в 1425 и 1422 я описывал то, как проблема выглядит у меня
06:51
Night_Snake: какие параметры ты включаешь на длинке в ллдп?
06:57
ага, спасиб
06:58
отлучусь
07:31
Night_Snake: ну покажи ещё sh lldp remote_ports с обеих сторон
07:35
07:36
Вот такая загогулина. Причем может быть наоборот - в remote_ports на агрегаторе нет нифига, а 3028 видит
07:42
ну и с 3028 sh lldp local_ports 25
08:00
Кажись в pm/models/probeconfig.py 70 строку надо закоментить (future/graphite)
08:02
Смотрю уже РМ - Ыуегз - storages появились...
08:02
*Setup
08:03
freeseacher графики уже увидеть реально или ещё ждать?
08:05
dvolodin графики уже увидеть реально в future/graphite или ещё ждать?
08:48
данные уже снимаются, сейчас учу его отсылать на pmwriter
08:57
ага
08:57
все правильно говорит
08:58
sa> setup > activators
08:58
и etc/noc-actovator.conf
09:04
ага, все проверил и сравнил с рабочим старым ноком, все один в один, тока в старом запускается без проблем, а тут нет(
09:35
any body home?^)
09:38
yeti, плохо проверил :)
09:38
нет-нет, никого нет
09:38
yeti, noc-activator.conf
09:49
кстати а ни у кого коммутаторов зухелевских нету?
09:50
А то у мен noc с них не снимает толком ничерта, вываливает unhundled exception или что-то вроде того
09:54
ну вот потому что ни у кого их и нет
09:54
первым будешь
09:59
Night_Snake, думаю тебе надо поступить как TSergey. использовать эти коммуты как подставку под цветы. или как мангал.
10:00
freeseacher: это всё-таки не повод для вываливания в трейсбек
10:02
и вообще, закоммитьте патч из последнего коммента
NOC-1412
10:02
дык пропусти через тущенку
10:03
да и посылай пул реквест
10:03
freeseacher: не-не, рано, у меня в продакшене их с десяток еще
10:03
у меня тоже.
10:03
тока с пяток таки
10:03
да и я почти добил три патча для них
10:09
и я активно превращаю их в шашлычницы.
10:10
чудная штука, не умеет отдавать тип портчэнала, забираю так
10:10
"show config running include link_aggregation"
10:10
я вот думаю, пошто в
10:10
10:10
так распиан пример по L2 portchannel
10:10
*расписан
10:10
L2 portchannel, tagged (if1 is aggregated interface of if2(LACP) and if3(static))
10:10
и
10:10
name = if2
10:10
type = "aggregate"
10:10
enabled_protocols = ["LACP"]
10:10
aggregated_interface = "if1"
10:10
name = if3
10:10
type = "aggregate"
10:10
enabled_protocols = ["LACP"]
10:10
aggregated_interface = "if1"
10:10
почему такой тип на if2-if3, его нет такого и вроде должен быть "physical"
10:10
почему для if3 протокол пишем LACP, хотя во вводной части это статик
10:10
если на клетке со львом прочтёшь "буйвол" - не верь глазам своим.
10:10
так нужно поправить доку
10:11
в igetportchannel.py "type": StringParameter() # choices=["S","L"]. S - for static, L for LACP
10:12
а в Cisco.IOS.get_interface type
10:12
if ifname in portchannel_members:
10:12
ai, is_lacp = portchannel_members[ifname]
10:12
iface["aggregated_interface"] = ai
10:12
iface["enabled_protocols"] += ["LACP"]
10:13
т.е. есть портчэнал, ну значит LACP
10:14
да и выше:
10:14
# Get portchannels
10:14
portchannel_members = {}
10:14
for pc in self.scripts.get_portchannel():
10:14
i = pc["interface"]
10:14
t = pc["type"] == "L"
10:14
аааа
10:14
что такое?
10:14
t = pc["type"] == "L"
10:17
10:18
templates/SummaryPanel.html скопировать с Alarm
10:18
xetle: расскажи, плс, чего делает такая конструкция
10:18
t = pc["type"] == "L"
10:18
xetle, а зачем пейджинг вернул :) ?
10:18
почму в циске гвоздями прибит тип портчэнала LACP?
10:19
TSergey: ghbcdfbdftn kjubxtcrjt pyfxtybt
10:19
А его что специально убрали?
10:19
присваивает логическое значение
10:19
xetle, да.
10:19
в этом был смысл ветки pagerless
10:20
mikevlz: true если L ?
10:20
А почиму в алярмах тогда оставили?
10:20
xetle: this is проебал
10:20
mikevlz: спасиб преогромное
10:23
mikevlz: попутал фичу с багом..
10:26
Тогда вот эта бага сильно заметна:
NOC-1424
10:56
10:56
:)
10:56
PM в работе
10:57
проба запускается, получает конфиг, навешенный через профиль интерфейса
10:57
запускает пробы, одна выдает 1, другая - 2
10:57
все честро приезжает в noc-pmwriter
10:57
и пишется в базу
10:57
графики показывает
10:57
dvolodin, ты толькочто устроил инфаркт zi_rus-у
10:58
это его кардиограмма?
11:00
В feature/graphite уже график увидеть можно?
11:01
xetle, нет
11:01
только если тебя интересуюет график константы
11:01
:D
11:02
Надо присобачить переодическое дёргание OID
11:02
вот именно сейчас это и делает дима :)
11:02
не
11:02
я сейчас делаю шардинг
11:03
потому интеграцию solution'ов в автоконфигурирование
11:03
а уж потому -- snmp
11:03
xetle, не слушай dvolodin. он сейчас делает snmp :)
11:03
просто там есть промежуточные этапы
11:06
dvolodin: дёргание кучи OID или по cli,а потом парсить регэксп сильно нагрузит проц... Незнаю будет ли питон здесь оптимален.
11:07
Может демон дёргающий значения и пышущий в базу на C написать?
11:09
xetle: в питоне очень быстрые regexp'ы
11:09
xetle, давай дождемся стабильного апи для полученя данных
11:09
а потом попробуем сделать пару оптимизаций на сях
11:09
я добавил к графиту API для автоконфигурирования
11:10
Хорошо, пишем на питоне. Потом, когда нибудь можно будет только этот демон на С переписать.
11:10
xetle, в питоне обычно не принято все переписывать на си
11:10
а только делать подгружаемый модуль который делает не большую работу на си
11:38
реквестирую замену в SubInterface типа поля untagged_vlan со скаляра на вектор
11:39
да, жопа имеет место быть.
11:42
Поддерживаю!!!
11:43
untagged_vlan должен быть вектором. Многие провы клиенту дают инеты и IPTV по двум нетегированым вланам на клиентском порту.
11:46
evyscr: если патч примут могу зделать.
11:48
Также можно репорт для SA написать, список портов сети на которых с вланами жопа.
11:52
надо доку написать по написанию репортов
11:52
а про патч - там миграцию надо будет делать же.
11:53
11:55
в VC и INV возможно надо внести изменения в базу. Для SA только интерфейсы подправить и скрипты.
12:05
в доке всё ещё джанга. хреф его знает, какова нонче политика партии.
12:07
пока ниодного репорта на JS нет, и надеюсь не будет.
12:07
пока нету да.
12:07
не буди лихо.
12:08
а то дима прикрутит кристал репортс и будет все норм :)
12:08
Всё равно приложение veiw.py надо писать, а раскрасят его JS или нет другой вопрос.
12:21
dvolodin, а тестить когда будем результат?
12:22
zi_rus: движемся в сторону тестов
12:22
я понимаю что движемся
12:22
и два года назад двигались
12:22
в репо влетела здоровая пачка изменений
12:23
dvolodin, вижу что-то про метрики, ты про ервую производную думал?
12:23
по dt
12:25
12:25
вот образец конфига, который получает проба
12:25
"convert": "none",
12:25
для производных оно выдаст "convert": "counter"
12:27
там в самой пробе определяется необходимость считать производную
12:27
ты этого вообще не увидишь
12:27
на самом деле, что я сделал -- metric set с Interface | Load
12:27
и навесил его на профиль интерфейса
12:27
все
12:29
dvolodin, "все" в твоем понимании. ты покажи нам, а мы посмотрим как это юзать. пока только на словах как все красиво, нам нужно дело
12:33
zi_rus: $$ -> нямням
12:34
дак что ж ты думаешь, мне жалко что ли
12:34
никто не дает
12:34
и денег тоже
12:35
ну тогда "нужно дело" -- за вами
12:40
dvolodin: вообще я два (или уже три) года назад спрашивал про расценки реализации - молчание было ответом.
12:41
evyscr: не помню такого
12:41
ладно, делайте пока code review
12:46
кто поймет, как конфигурируется проба, получит конфиету
12:46
:)
12:47
проба сама вот такая
12:47
12:50
самое интересное - в ProbeConfig
12:50
там раскладка конфига
13:16
Добрый день!
13:16
Скажите где можно оставить сообщение о обнаруженной ошибке?
13:19
руками ;0
13:19
:)
13:19
тут много ошибок
13:19
может эта уже известная
13:25
dvolodin а в NOC из AD уже можно авторизовываться? И права раздавать?
13:26
да, прикручивали в AD
13:26
а права все равно из NOС развадать, откуда им в AD быть
13:26
не, я про раздать права AD-шным учеткам
13:29
noc/ip/apps/routeimport/views.py
13:29
for subiface in iface["subinterfaces"]:
13:29
if not iface["admin_status"]:
13:29
думаю надо
13:29
for subiface in iface["subinterfaces"]:
13:29
if not subiface["admin_status"]:
13:36
Night_Snake: как ты себе это видишь?
13:38
набор AD'шных групп, видимо. В которые должен входить участник для какого-либо пермишна.
13:39
подобным образом делаются права в pam_ldap, емнип
13:46
альзо, когда будут добавляться/правиться модели из INV-\d+?
13:51
dvolodin ну либо подсасывать AD-шные группы как-то (т.е. хотя бы по имени), либо после первого входа в noc создается учетка, и на нее уже вешаются права нужные
Share this page
Share this page: