nocproject.org
03:54
dvolodin, :)
03:54
доки бы про ipam rest
 
03:55
да вааще.
03:55
ночь не спал
 
03:56
такой же REST как и везде :)
03:56
GET /ip/prefix/
03:56
GET /ip/address/
03:56
ну и POST + PUT + DELETE
 
03:57
права учитываются ?
 
03:58
пока нет, это скорее для внешних систем
04:00
делаю наброски
 
04:01
-a <user>:<pass>
04:01
там можно и выражения делать
04:01
вроде ?afi=4&parent=<id>&vrf=<id>
 
04:03
а как конкретный префикс дернуть ?
04:04
04:05
yj jyj yt jnlftn dct xnj dyenhb
04:05
но оно не отдает все что внутри
04:05
только сам префикс
 
04:05
а как все вложенное получить ?
 
04:05
а теперь посмотри его id  и так: ?afi=4&parent=<id>
 
04:06
ага пашет.
04:07
дим сложно.
04:07
не интуитивно нихера
 
04:07
да куда уж интуитивнее
 
04:08
все возможности запросов django orm есть
 
04:08
 /ip/prefix/1/4/192.168.2.0/24
 
04:08
типа такого можно: ?description__contains=IX
 
04:08
это так будет: /ip/prefix/?vrf=1&afi=4&prefix=192.168.2.0/24
04:09
или /ip/prefix/<id>/
 
04:10
не по id тока сам префикс
04:11
а для tags не бывает __ contains ?
 
04:11
нет. Но можно tags=....
 
04:13
при передаче неверного поля получаю 500 ую
04:13
&tag=nsk
04:14
ага.
 
04:14
дамп нужен ли ивоспроизведешь ?
 
04:15
04:17
и по тегу не ищет. хотя его показывает
 
04:17
ok
04:17
может дойдут руки выпилить django-tagging
 
04:17
04:17
нет нет.
04:17
без тегов -> смерть
04:18
быстрая почти немедленная
04:19
ибо вопросы к ноку покажи мне биллинговые сервера в орене будут невозможны
04:19
или все ресурсы нока которые связаны с услугой "пупкин"
 
04:22
надо теги попрямее сделать
04:22
в принципе, в посгресе есть нормальные массивы
 
04:22
вот на них и сделать
 
04:22
а мысль выбросит ьих совсем..... скучна, грустна, и тебе уже не так нравится как 10 минут назад :)
 
04:23
django-tagging - порнуха
 
04:23
делают строковое поле с запятыми
 
04:23
там много нареканий
04:23
это да
 
04:23
и еще 2 вспомогательные таблицы
04:24
боляя прямой способо
04:24
делать массив tags
04:24
индексировать его
 
04:25
я думаю они просто кросплатформенно старались сделать.
 
04:25
и либо искать по индексу по всех моделях, где он есть, либо хранить в отдельной таблице теги с указаниями моделей, где они встречаются
04:26
generic foreign key они пытались использовать
04:27
BTW, обновил jira и confluence
 
04:28
а конфлюенс то зачем.
04:28
там минорные фиксы
04:29
ну да бог с ним.
04:32
блин надо чего то придумывать с тегами
04:32
без них грустна
04:33
может все таки /ip/prefix/<id>/ должен быть vrf-ом ?
04:34
а то в интерфейсе так, а тут так
 
04:36
noc=# SELECT tags, a_tags FROM sa_managedobject WHERE a_tags @> '{DEMO}';
04:36
 tags  |  a_tags
04:36
-------+-----------
04:36
 DEMO  | {DEMO}
04:36
 DEMO, | {DEMO,""}
04:36
 DEMO, | {DEMO,""}
04:36
(3 rows)
04:36
noc=# EXPLAIN SELECT tags, a_tags FROM sa_managedobject WHERE a_tags @> '{DEMO}';
04:36
                                     QUERY PLAN
04:36
------------------------------------------------------------------------------------
04:36
 Bitmap Heap Scan on sa_managedobject  (cost=8.00..12.01 rows=1 width=33)
04:36
   Recheck Cond: (a_tags @> '{DEMO}'::character varying[])
04:36
   ->  Bitmap Index Scan on sa_managedobject_tags  (cost=0.00..8.00 rows=1 width=0)
04:36
         Index Cond: (a_tags @> '{DEMO}'::character varying[])
04:36
(4 rows)
04:36
noc=# SELECT tags, a_tags FROM sa_managedobject WHERE a_tags @> '{DEMO}';
04:36
 tags  |  a_tags
04:36
-------+-----------
04:36
 DEMO  | {DEMO}
04:36
 DEMO, | {DEMO,""}
04:36
 DEMO, | {DEMO,""}
04:36
(3 rows)
04:36
да, индексирует
 
04:37
04:37
правильно соображаю что бы корню поменять автономку ?
 
04:37
PUT
04:37
и asn=<id>
 
04:37
нее.
04:38
я не знаю эти id
04:38
я хочу что бы он отрезолвил
 
04:38
asn__ans = 22222
04:38
не уверен, конечно
04:38
но можно попробовать
04:38
asn__asn
 
04:40
нее
04:40
200 говорит
 
04:41
PUT /ip/prefix/<id>/
 
04:43
неа. тока по id
04:45
по остальным так же
 
04:45
можно будет подумать и доработать, там несложно
04:46
в принципе можно вернуться к вопросу временного резервирования адресов и префиксов
 
04:46
ResourceState у нас уже есть
04:46
можно сделать сервис, который будет резервировать ресурс и выдавать его
04:47
а потом уже, для подтверждения резервации, можно будет state менять
 
04:49
нее. давай косяков добъем.
04:49
я раз 5-6 уже 500ый поймал
04:49
хотя до адресов еще не дошел
 
04:50
ты внутрь views.py посмотрел?
 
04:51
:))
04:51
солидная такая View
 
04:51
афромагия полная ;)
 
04:52
я бы даже сказал неестественно здоровая.
04:52
и если я праивльно опнимаю именно в нее прилетит весь остальной код по резолву, обработкам ошибок и прочим моментам
04:53
тока надо знат ьволшебные методы
 
04:54
именно
04:54
там есть чудо-класс, который по модели делает полный REST
04:55
если его доработать, то эти методы везде будут нормально работать
 
04:58
дима, давай его таки допилим.
 
04:59
я тут от возбуждения уже не знаю куда даваться
 
04:59
поеду на работу ;)
04:59
кстати, в рамках хороших идей
 
04:59
давайте журнал ежемесячный выпускать :)
 
04:59
обзор коммитов ?
04:59
:)
 
05:00
с обзорами новых фишек  NOC, полезными советами,
05:00
обзорами различного железа, которое в руки попадало
05:00
и так далее
 
05:00
хм. дим, апи меняться не будет ?
05:01
так оставляем и наполянем фишками ?
05:01
или таки будет /вфа/вафв/фв/
 
05:01
ок. пишу по этому варианту.
 
05:12
привет! ребят, а что вы тут такое возбуждающее обсуждали то? :)
05:12
поделитесь, я тоже хочу свою порцию возбуждения с утра ;)))
 
05:14
MindGames_, json интерфейс к IPAM
05:14
теперь ипам перестанет быть мертвым грузом
05:19
MindGames_, не невозбуждает ?
 
05:20
ну, я пока еще не осознал степень своего возбуждения
05:20
мне для начала надо представить формы этого джейсона... ;)
 
05:20
работа с ipam из скриптов.
 
05:20
а сейчас IPAM как работает? вроде тоже скрипты там есть. адреса же дискаверят.
 
05:21
05:21
из внешних скриптов
05:21
например из биллинга
05:21
или системы управления
05:21
или скрипта прошивки коммутаторов
05:22
тоесть нок из хранилки адресов превратился в базу данных доступную для других.
 
05:25
мм.. теперь понять бы, как эту базу использовать ;))
 
05:29
freeseacher, начни с того что это такое http
 
05:29
я не понял в каком пакете идет эта утилита
 
05:29
Hyper Text Transfer Protocol это я знаю ;)
 
05:30
05:30
оно как Curl
05:30
или wget
05:30
но красиво форматирует json
05:30
и http
 
05:31
в портах нету ее
05:31
жаль
 
05:31
easy_install httpie
05:31
или pip
05:32
допишу, выложу
 
05:54
о, а в предыдущих интерфейсах, которые до ipam уже работали - там тоже можно фишки вроде _contains использовать?
 
06:06
Люди, скажите такую весч... А как активатору объяснить, что он знает этот МО, при том что дискаверя нашел префиксы и адреса, увязал их с МО и все такое...?
 
06:20
dvolodin, Add first free vlan поломан
06:20
 
06:21
zi_nnov, его нет на канале :)
 
06:22
черт
06:22
придется issue делать
 
06:22
всегда лучше сделать issue :)
 
06:24
так быстрей, и трекер мусором не будет забиваться, тем более если там правки на две запятых
06:25
 
06:31
dvolodin, йопта. 500-ых...
06:31
[качаю головой]
06:32
POST не делаеет корректный save. parent не ищется
06:33
это critical
06:36
ни как не могу понять как записывать теги
06:37
06:37
так вот пробовал
06:38
дупы обрабатываются :)
06:38
атрибут id игнорируется если передавать
 
06:39
сейчас проверю post
 
06:40
POST дабы CREATE а PUT для UPDATE так везде ?
 
06:40
ок
06:45
NOC-625 выложил патчик peer.as ибо нужен
 
06:45
не понял нужна модель или нет
06:47
и теги да. непонятно как писать
 
07:10
я делаю общий lookup
07:27
freeseacher: models.js для lookup'а не нужна
07:27
только lookup и lookup_field
 
07:28
а можно как-то заставить дискавери передискаверить интерфейсы на какой-то железяке?
 
07:28
peer.peer вполне можно целиком на  extjs портировать
07:28
mikevlz: да
07:28
в managed objects
 
07:28
в шедулах вроде можно запустить принудительно
 
07:28
есть admin action -- run interface discovery now
 
07:28
разве там? :) я в шедулес делал
 
07:31
кто храбр духом и перепишет peer.peer ?
07:31
./noc newapp peer.peer --model=Peer
07:31
и поля прописать там
 
07:36
ни чего не сломается при этом? :)
 
07:37
надо будет дописать JS в этой рыбе
07:37
по аналогии
 
07:39
noc@nmg ~ $ ./noc newapp peer.peer --model=Peer
07:39
Creating skeleton for peer.peer
07:39
Traceback (most recent call last):
07:39
  File "manage.py", line 41, in <module>
07:39
    execute_manager(settings)
07:39
  File "/opt/noc/contrib/lib/django/core/management/__init__.py", line 438, in execute_manager
07:39
    utility.execute()
07:39
  File "/opt/noc/contrib/lib/django/core/management/__init__.py", line 379, in execute
07:40
    self.fetch_command(subcommand).run_from_argv(self.argv)
07:40
  File "/opt/noc/contrib/lib/django/core/management/base.py", line 191, in run_from_argv
07:40
    self.execute(*args, **options.__dict__)
07:40
  File "/opt/noc/contrib/lib/django/core/management/base.py", line 220, in execute
07:40
    output = self.handle(*args, **options)
07:40
  File "/opt/noc/main/management/commands/newapp.py", line 206, in handle
07:40
    "type": self.model_map[fc][0],
07:40
KeyError: 'INETField'
07:40
как то так
07:40
видимо, потому, что я не обновлялся месяца два как.. ;)
 
07:54
даже не знаю, советовать ли тебе обновиться. с одной стороны, исправили несколько багов, а с другой - эти же баги сами и создали
 
07:56
да, я пока лучше подожду с обновой ;)
 
07:59
да, распил моделей был весьма болезненным
08:14
freeseacher: закоммитил foreign key dereference в POST/PUT
08:14
08:22
кстати, quick edit в jira 5.1 очень неплох
 
08:51
а как можно попробовать GET ? что-то у меня не получается
 
10:20
приветствую всех. у меня вопрос к активно использующим Fault management модуль: после смены IP на железке появился alarm  с комментарием All SA tasks to this object is temporary suspended
10:21
вроде и аларм убран, и устройство зелененьким в SA показано, а при запуске скриптов результата нет, ибо Host is Down. Как бы это полечить? по IP устройство естественно доступно.
 
10:35
да, я сам managed object перенастроил. такое ощущение, что закешировано где-то, что Host is Down
10:39
debug-script Cisco.IOS.get_config вот ровно сейчас мне вернул нормальный вывод.может я alarm не до конца отработал? в списке активных его нет...
 
11:00
Дайте мне посмотреть в глаза тому китайцу, который сочинял MIB'ы для D-Link
 
11:00
они узкие, с прищуром_
 
11:01
Как только новую железку заставляю писать лиги или отсылать трапы, так тут же они не вписываются ни в одно правило :(
 
    Share this page
    Share this page: