
Ivan
15.01.2017
12:58:09
ДАже без failed прошло
попапы новые

Maksim
15.01.2017
12:59:46
хм

Google

Ivan
15.01.2017
12:59:50
но пиздец долго открываются любые новые вкладки

Maksim
15.01.2017
12:59:56
печально

Ivan
15.01.2017
13:00:06
у меня браузер лагает, похоже

Maksim
15.01.2017
13:00:08
МО открывется, ты в setup зайди и выбери МО профайл

Ivan
15.01.2017
13:00:11
попробуй в фф открыть

Maksim
15.01.2017
13:00:24
фф ?

Ivan
15.01.2017
13:00:28
firefox

Maksim
15.01.2017
13:00:47
да это я опнял
я фф и пользуюсь

Ivan
15.01.2017
13:01:15
в веб-логе нет трейовв?
ПРоблема в том, что в MOP кнопка add Нихера не работает
все профайлы я делал клоном

Maksim
15.01.2017
13:02:14
не, у меня кнопка эфф работает. Проблема в другом, что после обновления на сентосе у меня там пусто

Google

Ivan
15.01.2017
13:02:19
кнопка save не работает
по-любому трейс есть
открой лог веба

Maksim
15.01.2017
13:03:05
кнопка save не работает, потому что ты в run box время не задал )
красным же выделено )
я выкладывал этот трейс уже
2017-01-15 16:01:08,086 [sa.managedobjectprofile] UNHANDLED EXCEPTION (2017-01-15 16:01:07.931104)
BRANCH: feature/microservices TIP: ff41ece4a880
PROCESS: ./services/web/service.py
ERROR FINGERPRINT: 668f0d69-e311-550e-8966-2ed98ce6ab72
WORKING DIRECTORY: /opt/noc
EXCEPTION: <class 'mongoengine.errors.ValidationError'> u'None' is not a valid ObjectId, it must be a 12-byte input of type 'str' or a 24-character hex string
START OF TRACEBACK
—----------------------------------------------------------------------
вчера в браузере выдернул лог и отправио сюда

Ivan
15.01.2017
13:06:05
полный трейс давай на пасту, если есть
бЛин, про время ты прав, меняется. но у меня вот требовалось бокс вообще отключить
одни пинги оставить

Maksim
15.01.2017
13:07:56
как-то так
Починили )) Спасибо @aversant
нус, запустим, посмотрим что получится

Ivan
15.01.2017
13:25:49
Что было? У всех или локально?


Maksim
15.01.2017
13:26:15
локально
так, что-то я походу не дописал у себя в профиле
чет ему не порнавилось
Traceback (most recent call last):
File "/usr/lib64/python2.7/logging/__init__.py", line 851, in emit
msg = self.format(record)
File "/usr/lib64/python2.7/logging/__init__.py", line 724, in format
return fmt.format(record)
File "/usr/lib64/python2.7/logging/__init__.py", line 464, in format
record.message = record.getMessage()
File "/usr/lib64/python2.7/logging/__init__.py", line 328, in getMessage
msg = msg % self.args
TypeError: not enough arguments for format string
Logged from file log.py, line 40
2017-01-15 16:35:19,741 [scheduler.discovery] [229] [discovery|box|zd-cs-m9-msk|cpe] UNHANDLED EXCEPTION (2017-01-15 16:35:19.413929)
BRANCH: feature/microservices TIP: ff41ece4a880
PROCESS: ./commands/discovery.py
ERROR FINGERPRINT: d402841f-75de-527f-9616-68f3a24b9ec7
WORKING DIRECTORY: /opt/noc
EXCEPTION: <type 'exceptions.TypeError'> not enough arguments for format string
START OF TRACEBACK
—----------------------------------------------------------------------
File: lib/log.py (Line: 44)
Function: _log
37 level,
38 self.prefix + msg,
39 args,
40 **kwargs
41 )
42 if self.target:
43 if args:
44 ==> msg = msg % args
45 msg = "%s %s %s\n" % (
46 datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"),
47 self.prefix,
48 msg
49 )
50 self.target.write(msg)
Variables:
msg = "[%s|%s] CPE status is '%s'. Skipping"
level = 10
args = (u'1', u'84:18:3A:2F:36:B0')
self = <noc.lib.log.PrefixLoggerAdapter object at 0x3502590>
kwargs = {}
—----------------------------------------------------------------------
File: lib/log.py (Line: 54)
Function: debug
47 self.prefix,
48 msg
49 )
50 self.target.write(msg)
51
52 def debug(self, msg, *args, **kwargs):
53 if self.logger.isEnabledFor(logging.DEBUG):
54 ==> self._log(logging.DEBUG, msg, args, **kwargs)
55
56 def info(self, msg, *args, **kwargs):
57 if self.logger.isEnabledFor(logging.INFO):
58 self._log(logging.INFO, msg, args, **kwargs)
59
60 def warning(self, msg, *args, **kwargs):
Variables:
msg = "[%s|%s] CPE status is '%s'. Skipping"
self = <noc.lib.log.PrefixLoggerAdapter object at 0x3502590>
args = (u'1', u'84:18:3A:2F:36:B0')
kwargs = {}
—----------------------------------------------------------------------
File: services/discovery/jobs/box/cpe.py (Line: 33)
Function: handler
26 self.logger.info("Checking CPEs")
27 now = datetime.datetime.now()
28 result = self.object.scripts.get_cpe()
29 for cpe in result:
30 if cpe["status"] != "active":
31 self.logger.debug(
32 "[%s|%s] CPE status is '%s'. Skipping",
33 ==> cpe["id"], cpe["global_id"]
34 )
35 continue
36 mo = self.find_cpe(cpe["global_id"])
37 cpedata = {
38 "controller": self.object,
39 "local_cpe_id": cpe["id"],
Variables:
self = <noc.services.discovery.jobs.box.cpe.CPECheck object at 0x34fde10>
now = datetime.datetime(2017, 1, 15, 16, 35, 6, 574834)
cpe =
шож так не хочет оно запускаться

Google

Maksim
15.01.2017
13:47:07
if cpe["status"] != "active":
self.logger.debug(
"[%s|%s] CPE status is '%s'. Skipping",
cpe["id"], cpe["global_id"]
в это строчке косяк или жп что-то не отдается, что бы сформировалась строчка?

Ivan
15.01.2017
13:49:58
Не могу помочь +)
а зачем дискавери?
просто скрипт get_cpe или как там выполняется?

Maksim
15.01.2017
13:51:27
Дима доделал. Теперь на контроллере в МОПрофайл выбирает галочку cpe и как бы с контроллера все выгружается
get_cpe рабочий. Только вот в дискавери тчо-то не так

Ivan
15.01.2017
13:54:26

Maksim
15.01.2017
13:55:07
угу, локальный. Думаю что не заработает. Ошибку выдает.
ща чуть позже залью в пулреквест
я хотел просто допилить все, что бы профиль брали уже целиком и делали для остальных железок.

Ivan
15.01.2017
13:57:11
а, ты маньяк

Maksim
15.01.2017
13:57:17
хотя мне не сложно сделать и для остальных.

Maksim
15.01.2017
13:57:41
=) говорю же если выводы скините, то допишу без проблем для цисок, джунов и прочей лабуты

Ivan
15.01.2017
14:00:17
я сделал скриншот
потом не отвертишься!

Maksim
15.01.2017
14:01:38
=)
ну видишь пока затык с дискавери. Надо еще профиль для cpe дописать, что бы cpe_status выводил, но это надо что бы он обращался к контроллеру, к которому подключена

Ivan
15.01.2017
14:03:22
Так, get_cpe у тебя идёт на кнтроллер и в нужном виде выдаёт json, так?

Maksim
15.01.2017
14:05:37
да
я решил пойти простым путем для меня и собирать все данные при помощи OID ов

Google

Maksim
15.01.2017
14:06:25
Так что тебе по сути нужно мне предоставить все OID =) для get_cpe
ну и ты впринципе профили писать умеешь же.
ща, сайт доделаю родителям и доделаю профиль, что бы его закинуть в пуль.

Ivan
15.01.2017
14:07:26

Maksim
15.01.2017
14:16:14
)
врешь пади

Admin
ERROR: S client not available

Ivan
15.01.2017
14:17:33
Забавно, в башне коррелятор выключен был

Zek
15.01.2017
15:55:19
а у рукуса lldp хотяб есть?
а то я чет гуглил что нет нифига

Maksim
15.01.2017
15:55:45
не углублялся в это но должно быть. Так как построить схему включения надо

Ivan
15.01.2017
15:58:57
Хм. оно всё в МО валяться будет?

Maksim
15.01.2017
15:59:19
там есть фильтр по контроллеру. но я хочу вкладку отдельную сделать.
так что это уже завтра пилить буду наверно

Ivan
15.01.2017
16:00:04
я наверное тоже за какую-то вкладку
Диму надо

Zek
15.01.2017
16:02:02
такое же сетевое устройство как все остальное

Maksim
15.01.2017
16:02:19
Для удобства должна. Но кому как
ну тогда надо в МО добавлять поля дополнительные. Статус точки например

Google

Zek
15.01.2017
16:02:32
просто фильтрацию можно сделать, по тегам или еще как

Ivan
15.01.2017
16:03:43
Теги не нужны
это костыли

Maksim
15.01.2017
16:04:02
Это неудобно, нужно реальное понимание. Например даже если нужно сделать отчет по всем всем точкам

Zek
15.01.2017
16:08:43
теги костыли? скажи это твиттеру и инстаграмму ;)

Maksim
15.01.2017
16:10:53
=)

Ivan
15.01.2017
16:33:48
Мы можем собрать всё, что отдаёт точка и положить в бд, а ты какие-то теги хочешь :)
Скорее всего, лучше отдельную вкладку/подкладку, что угодно

Maksim
15.01.2017
16:34:58
вот и не говори

Serg
15.01.2017
16:35:20
ну на примере пона этих мо добавится очень много...

Ivan
15.01.2017
16:35:26
У ап может быть группы

Maksim
15.01.2017
16:35:39
у меня 1100 точек. это много

Ivan
15.01.2017
16:35:47

Zek
15.01.2017
16:36:55

Ivan
15.01.2017
16:37:40
Много, чтобы иметь их в общем пейджинге

Serg
15.01.2017
16:37:56
у меня сейчас активных абонентов пона около 5000, то есть это сразу же столько же мо, притом что есть часть оборудования которые ip не имеют, и рулятся только с головы
да их желательно унести отдельно

Maksim
15.01.2017
16:38:38
завтра попрпобую сделать это