@nocproject

Страница 944 из 2357
Zek
11.04.2017
12:02:02
а как ManagedObject.objects.filter пользоваться? )

bee26
11.04.2017
12:13:48
ManagedObject.objects.filter(object_profile=ManagedObjectProfile.objects.get(name='junos')

все мо с профилем джуна

Zek
11.04.2017
12:16:51
а еще варианты? )

Google
bee26
11.04.2017
12:17:24
а тебе что нужно?

Zek
11.04.2017
12:17:56
где filter() вообще находится?

ну например по platform

или какому-нибудь произвольному атрибуту вообще

bee26
11.04.2017
12:18:57
это уже атрибуты

Алексей
11.04.2017
12:19:07
E_zombie
11.04.2017
12:19:21
способов море

bee26
11.04.2017
12:19:34
for m in mo: platform = ManagedObjectAttribute.objects.get(managed_object=m, key="platform").value

E_zombie
11.04.2017
12:19:34
Разница в конфигах from noc.sa.models.managedobject import * from noc.sa.models.managedobjectprofile import * from noc.sa.models.authprofile import * ob = ManagedObjectProfile.objects.filter(name='staticip') ob1 = ManagedObjectProfile.objects.filter(name='loopback') ob2 = ManagedObjectProfile.objects.filter(name='huawei.dslam') ob3 = ManagedObjectProfile.objects.filter(name='raisecom.fttb') host = "10.64.102.249" mo = ManagedObject.objects.filter(name=host).exclude(object_profile=ob).exclude(object_profile=ob1).exclude(object_profile=ob2).exclude(object_profile=ob3) for m in mo: # print m, m.object_profile if m.config.read() is not None and m.profile_name != 'Huawei.VRP': print m, m.object_profile arr = m.config.get_revisions() print m.config.diff(str(arr[len(arr)-2][0]), str(arr[-1][0]) ) for i in arr: print i[0], i[1], i[2]

#mo = ManagedObject.objects.filter(name__contains="MSK-AP",object_profile=wifi) mo = ManagedObject.objects.filter(name__contains="MSK-AP")

Zek
11.04.2017
12:20:22
О, exclude еще есть

bee26
11.04.2017
12:20:23
лучше в теги все пихни

Zek
11.04.2017
12:20:25
отлищно

Google
Алексей
11.04.2017
12:20:28
@largelos только не делай import * зомби старый ему переучитьсваться лень

E_zombie
11.04.2017
12:20:44
мне лень ковырять объекты. да.

в вики забито со старых

Алексей
11.04.2017
12:21:09
О, exclude еще есть
https://docs.djangoproject.com/en/1.10/topics/db/queries/

bee26
11.04.2017
12:21:18
ManagedObject.objects.filter(managedobjectattribute__key='platform')

Алексей
11.04.2017
12:21:19
с поправкой на то что у нас 1.4

Zek
11.04.2017
12:21:38
ок, спасибо, пригодится

но в гробу я видел питон )

Алексей
11.04.2017
12:22:11
а на чем пишешь ?

E_zombie
11.04.2017
12:22:19
на баше

ну после явы да.

могут быть. ....

отторжения.

bee26
11.04.2017
12:22:41
если хочешь пользоваться ноком - учи пейтон

Zek
11.04.2017
12:22:52
не хочу

и не пользуюсь

;)

E_zombie
11.04.2017
12:23:10
давайте его зойбанем?

Алексей
11.04.2017
12:23:13
в современном мире человнек который не знает ни одного языка программирования равен неграмотному в 19 веке.

https://habrahabr.ru/post/144540/

Google
Алексей
11.04.2017
12:26:08
shell считается?

Алексей
11.04.2017
12:26:58
боюсь что нет...

Zek
11.04.2017
12:27:05
а на чем пишешь ?
на всем подряд, к сожалению ;)

яжнепрограммист.

E_zombie
11.04.2017
12:29:26
какой ты в пизду сисадмин что не умеешь на пейтоне захуячить 10 строчек.

'remote_interface': 'GigabitEthernet1/0/45'}]}

вот так можно или надо конвертить ?

'remote_interface': 'GigabitEthernet 1/0/45'}]}

в такое 7

Zek
11.04.2017
12:46:00
кто тебе сказал что не умею

м, занятно

Traceback (most recent call last): File "<stdin>", line 4, in <module> File "/opt/noc/cm/engine.py", line 153, in check self._check() File "/opt/noc/cm/engine.py", line 181, in _check for r in self.get_rules(): File "/opt/noc/cm/engine.py", line 263, in get_rules self.object File "/opt/noc/cm/engine.py", line 245, in _get_rules for vc, rule in self._get_rule_settings(ps, scope) File "/opt/noc/cm/engine.py", line 225, in _get_rule_settings if not pi.is_active or not policy.is_active: File "/opt/noc/local/lib/python2.7/site-packages/bson/dbref.py", line 91, in __getattr__ raise AttributeError(key) AttributeError: is_active

Zek
11.04.2017
12:48:47
engine.check трейсит на объекте

в веб моде ошибка когда заходишь в раздел валидации

чем это он такой особенный, интересно

да, походу на объекте висела политика несуществующая

E_zombie
11.04.2017
13:02:17
хехехехе

Ivan
11.04.2017
14:03:57
Ребята, а короткие пи тон-скрипты как в ноке запускать?

но не из нок-шелла

E_zombie
11.04.2017
14:04:18
овер9000 раз

Google
E_zombie
11.04.2017
14:04:20
а что ?

E_zombie
11.04.2017
14:04:50
складываешь в ./commands и потом ./noc <твой заебись крутой скрипт>

Ivan
11.04.2017
14:04:52
Его достаточно в корне нока юзать?

E_zombie
11.04.2017
14:05:06
без .py в конце

но это костыль да.

Ivan
11.04.2017
14:05:24
ну у меня акция единоразовая

Admin
ERROR: S client not available

Ivan
11.04.2017
14:05:29
хочу инвентори разгрести

E_zombie
11.04.2017
14:18:50
а как ты по расписанию херачишь ?

Ivan
11.04.2017
14:20:38
никак

ещё ничего не делал

E_zombie
11.04.2017
14:21:13
# crontab -l | grep ./noc | wc -l 10

вот я нахуивертил тут в lldp \cdp \ caps для RHEL

пиздетц

Ivan
11.04.2017
14:31:30
пиздетц
как всем из "for i_inv in ManagedObject.objects.filter(name__contains="campus"):" назначить контейнер?

E_zombie
11.04.2017
14:31:42
погодь

Ivan
11.04.2017
14:35:59
годю

Bitbucket
11.04.2017
14:37:14
update Linux.RHEL. ➔ fix some bug

Google
E_zombie
11.04.2017
14:43:04
такс

Ilya
11.04.2017
14:43:15
такакс

E_zombie
11.04.2017
14:43:51
from noc.inv.models.object import Object from noc.inv.models.objectmodel import ObjectModel f = open('/opt/noc/object.txt', 'r') assinfire = [] for line in f: ap = line.split() assinfire.append(ap) f.close() wifi = ManagedObjectProfile.objects.get(name='Ruckus_WiFi') for mo in tuple(ManagedObject.objects.filter(name__contains="MSK-AP",object_profile=wifi)): name1 = mo.name if not Object.objects.filter(name = name1): for ass in assinfire: if ass[0] == name1: x = ass[1] y = ass[2] ObjectModel.objects.get(name="PoP | Access") point_model = ObjectModel.objects.get(name="PoP | Access") cont = Object.objects.get(name="Wi-Fi") data = {"geopoint": {"srid": "EPSG:4326", "x": float(x), "y": float(y), }, "pop": {"level": 30} } p_cont=Object(name=name1, model=point_model, container=cont.id, data=data) p_cont.save()

вроде оно

Ivan
11.04.2017
14:44:37
ТАК МНОГО!?

E_zombie
11.04.2017
14:44:50
это пример

cont = Object.objects.get(name="Wi-Fi")

p_cont=Object(name=name1, model=point_model, container=cont.id, data=data) p_cont.save()

такс. не... я туплю уже.

у тебя чуток другое

Ivan
11.04.2017
14:46:46
у меня есть имя контейнера, я хочу выбранные модели мо, в имени которого есть "ываываы" туда положить

E_zombie
11.04.2017
14:47:31
================================================= change model container ================================================ from noc.inv.models.object import Object from noc.inv.models.objectmodel import ObjectModel from noc.sa.models.managedobject import ManagedObject from noc.sa.models.managedobjectprofile import ManagedObjectProfile wifi = ManagedObjectProfile.objects.get(name='Ruckus_WiFi') szmodel = ObjectModel.objects.get(name="PoP | AP | SZ") zdmodel = ObjectModel.objects.get(name="PoP | AP | ZD") for mo in tuple(ManagedObject.objects.filter(name__contains="MSK-AP",object_profile=wifi)): controller = ManagedObject.objects.get(id=mo.controller_id) cname = controller.name print cname

не. это тоже не то.

такс.

Ivan
11.04.2017
14:50:23
+0

E_zombie
11.04.2017
14:53:11
там какой то тупняк

Ivan
11.04.2017
14:54:02
забей

я сам попробую

E_zombie
11.04.2017
14:54:13
давай завтра на свежую голову.

Ivan
11.04.2017
14:55:53
если к вечеру найдёшь, пиши

Bitbucket
11.04.2017
14:58:07
fix ➔

Страница 944 из 2357