@nocproject

Страница 1118 из 2357
John
05.06.2017
15:01:04
при нажатии edit список пуст)

Илья
05.06.2017
15:01:15
?

E_zombie
05.06.2017
15:01:19
мышкой перетащить

John
05.06.2017
15:01:31
хе)

Google
E_zombie
05.06.2017
15:02:34
ну или скриптами.

да.

E_zombie
05.06.2017
15:02:49
150 рублей и пример твой.

Ilya
05.06.2017
15:02:56
# -*- coding: utf-8 -*- ##---------------------------------------------------------------------- ## inventory_add_sa_object ##---------------------------------------------------------------------- ## Copyright (C) 2007-2014 The NOC Project ## See LICENSE for details ##---------------------------------------------------------------------- # Python modules import re import requests # NOC modules from noc.sa.models import * from noc.inv.models import * from noc.inv.models.object import * from noc.lib.nosql import get_db rx_city = re.compile( r"^(г\.|пгт\.|пос\.|с\.)+(?P<city>(\S+ \S+ \S+|\S+ \S+|\S+))") rx_street = re.compile( r"^ ул\.+(?P<street>(\S+ \S+ \S+|\S+ \S+|\S+))") rx_house = re.compile( r"^ д\.+(?P<house>(\d+\S+|\d+))") rx_room = re.compile( r"^ п\.+(?P<room>(\d+\S+|\d+))") db = get_db() om = db.noc.objectmodels """ Uninstall: ./noc shell from noc.sa.models import * from noc.inv.models import * from noc.inv.models.object import * from noc.lib.nosql import get_db db = get_db() om = db.noc.objectmodels Object.objects.filter(model = om.find_one({"name": 'NoName | Rack | 19" 8U 800mm Shelf'})["_id"]).delete() Object.objects.filter(model = om.find_one({"name": 'Room'})["_id"]).delete() Object.objects.filter(model = om.find_one({"name": 'PoP | Access'})["_id"]).delete() Object.objects.filter(model = om.find_one({"name": 'PoP | Aggregation'})["_id"]).delete() psql noc TRUNCATE TABLE gis_geodata; """ K = 0 k = 0 for mo in tuple(ManagedObject.objects.filter( administrative_domain=1)): mo_id = mo.id name = mo.name segment = mo.segment postaddress = mo.postaddress.encode("UTF-8") # # print "" # print postaddress # postaddress = postaddress.split(',') match = rx_city.search(postaddress[0]) if match: city = match.group("city") for i in db.noc.objects.find({"name": 'г.' + city}): city_id = i["_id"] else: continue try: match = rx_street.search(postaddress[1]) except IndexError: continue if match: street = match.group("street") else: continue try: match = rx_house.search(postaddress[2]) except IndexError: continue if match: house = match.group("house") else: continue try: match = rx_room.search(postaddress[3]) except IndexError: continue if match: room = match.group("room") else: continue pop = "ул.".decode('UTF-8') + (street).decode('UTF-8') + ", д.".decode('UTF-8') + (house).decode('UTF-8') room = "Подъезд №".decode('UTF-8') + room rack = "Ящик №1".decode('UTF-8') K += 1 if city: # try: print 'г.'.decode('UTF-8') + city.decode('UTF-8') + ' | ' + segment + ' | ' + pop + ' | ' + room + ' | ' + rack if not Object.objects.filter(name = segment): url="http://geocode-maps.yandex.ru/1.x/?geocode=" + city + ",+" + street.replace(' ', '+') + ",+дом+" + house +"&format=json" urlopen = requests.get(url) obj = urlopen.json() coord = obj["response"]["GeoObjectCollection"]["featureMember"][0]["GeoObject"]["Point"]["pos"].split(' ') x = coord[0] y = coord[1] print 'г.'.decode('UTF-8') + city.decode('UTF-8') + ' | ' + segment + ' x=' + str(x) + ' y=' + str(y) Object( name = segment, model = om.find_one({"name": "PoP | Aggregation"})["_id"], container = ObjectId(city_id), data = {"geopoint": { "srid": "EPSG:4326", "x": float(x), "y": float(y), }, "pop": {"level": 30} } ).save() for i in db.noc.objects.find({"container": ObjectId(city_id), "name": segment }): segment_id = i["_id"]

if not Object.objects.filter(container = ObjectId(segment_id), name = pop): url="http://geocode-maps.yandex.ru/1.x/?geocode=" + city + ",+" + street.replace(' ', '+') + ",+дом+" + house +"&format=json" urlopen = requests.get(url) obj = urlopen.json() coord = obj["response"]["GeoObjectCollection"]["featureMember"][0]["GeoObject"]["Point"]["pos"].split(' ') x = coord[0] y = coord[1] print 'г.'.decode('UTF-8') + city.decode('UTF-8') + ' | ' + segment + ' | ' + pop + ' x=' + str(x) + ' y=' + str(y) Object( name = pop, model = om.find_one({"name": "PoP | Access"})["_id"], container = ObjectId(segment_id), data = {"geopoint": { "srid": "EPSG:4326", "x": float(x), "y": float(y), }, "pop": {"level": 15} } ).save() for i in db.noc.objects.find({"container": ObjectId(mcrn_id), "name": pop }): pop_id = i["_id"] if not Object.objects.filter(container = ObjectId(pop_id), name = room): Object( name = room, model = om.find_one({"name": "Room"})["_id"], container = ObjectId(pop_id), data = {} ).save() print 'Add ', room for i in db.noc.objects.find({"container": ObjectId(pop_id), "name": room}): room_id = i["_id"] if not Object.objects.filter(container = ObjectId(room_id), name = rack): Object( name = rack, model = om.find_one({"name": 'NoName | Rack | 19" 8U 800mm Shelf'})["_id"], container = ObjectId(room_id), data = {} ).save() print 'Add ', rack print "\n\n" for i in db.noc.objects.find({"container": ObjectId(room_id), "name": rack}): rack_id = i["_id"] # Уложить mo в Rack k += 1 # break # except: # break # continue print K, k

John
05.06.2017
15:03:11
а потом справа редактировать
ответ "мышкой" натолкнул меня на правильный путь))))

нок блейд корзины могёт переживать)

Алексей
05.06.2017
15:16:04
# -*- coding: utf-8 -*- ##---------------------------------------------------------------------- ## inventory_add_sa_object ##---------------------------------------------------------------------- ## Copyright (C) 2007-2014 The NOC Project ## See LICENSE for details ##---------------------------------------------------------------------- # Python modules import re import requests # NOC modules from noc.sa.models import * from noc.inv.models import * from noc.inv.models.object import * from noc.lib.nosql import get_db rx_city = re.compile( r"^(г\.|пгт\.|пос\.|с\.)+(?P<city>(\S+ \S+ \S+|\S+ \S+|\S+))") rx_street = re.compile( r"^ ул\.+(?P<street>(\S+ \S+ \S+|\S+ \S+|\S+))") rx_house = re.compile( r"^ д\.+(?P<house>(\d+\S+|\d+))") rx_room = re.compile( r"^ п\.+(?P<room>(\d+\S+|\d+))") db = get_db() om = db.noc.objectmodels """ Uninstall: ./noc shell from noc.sa.models import * from noc.inv.models import * from noc.inv.models.object import * from noc.lib.nosql import get_db db = get_db() om = db.noc.objectmodels Object.objects.filter(model = om.find_one({"name": 'NoName | Rack | 19" 8U 800mm Shelf'})["_id"]).delete() Object.objects.filter(model = om.find_one({"name": 'Room'})["_id"]).delete() Object.objects.filter(model = om.find_one({"name": 'PoP | Access'})["_id"]).delete() Object.objects.filter(model = om.find_one({"name": 'PoP | Aggregation'})["_id"]).delete() psql noc TRUNCATE TABLE gis_geodata; """ K = 0 k = 0 for mo in tuple(ManagedObject.objects.filter( administrative_domain=1)): mo_id = mo.id name = mo.name segment = mo.segment postaddress = mo.postaddress.encode("UTF-8") # # print "" # print postaddress # postaddress = postaddress.split(',') match = rx_city.search(postaddress[0]) if match: city = match.group("city") for i in db.noc.objects.find({"name": 'г.' + city}): city_id = i["_id"] else: continue try: match = rx_street.search(postaddress[1]) except IndexError: continue if match: street = match.group("street") else: continue try: match = rx_house.search(postaddress[2]) except IndexError: continue if match: house = match.group("house") else: continue try: match = rx_room.search(postaddress[3]) except IndexError: continue if match: room = match.group("room") else: continue pop = "ул.".decode('UTF-8') + (street).decode('UTF-8') + ", д.".decode('UTF-8') + (house).decode('UTF-8') room = "Подъезд №".decode('UTF-8') + room rack = "Ящик №1".decode('UTF-8') K += 1 if city: # try: print 'г.'.decode('UTF-8') + city.decode('UTF-8') + ' | ' + segment + ' | ' + pop + ' | ' + room + ' | ' + rack if not Object.objects.filter(name = segment): url="http://geocode-maps.yandex.ru/1.x/?geocode=" + city + ",+" + street.replace(' ', '+') + ",+дом+" + house +"&format=json" urlopen = requests.get(url) obj = urlopen.json() coord = obj["response"]["GeoObjectCollection"]["featureMember"][0]["GeoObject"]["Point"]["pos"].split(' ') x = coord[0] y = coord[1] print 'г.'.decode('UTF-8') + city.decode('UTF-8') + ' | ' + segment + ' x=' + str(x) + ' y=' + str(y) Object( name = segment, model = om.find_one({"name": "PoP | Aggregation"})["_id"], container = ObjectId(city_id), data = {"geopoint": { "srid": "EPSG:4326", "x": float(x), "y": float(y), }, "pop": {"level": 30} } ).save() for i in db.noc.objects.find({"container": ObjectId(city_id), "name": segment }): segment_id = i["_id"]
файлом то не ?

Ilya
05.06.2017
15:16:18
файлом то не ?
не расчитал размер )

сорян

Алексей
05.06.2017
15:16:32
дак даже если 5 строк

один хрен

Google
Ivan
05.06.2017
15:35:18
if not Object.objects.filter(container = ObjectId(segment_id), name = pop): url="http://geocode-maps.yandex.ru/1.x/?geocode=" + city + ",+" + street.replace(' ', '+') + ",+дом+" + house +"&format=json" urlopen = requests.get(url) obj = urlopen.json() coord = obj["response"]["GeoObjectCollection"]["featureMember"][0]["GeoObject"]["Point"]["pos"].split(' ') x = coord[0] y = coord[1] print 'г.'.decode('UTF-8') + city.decode('UTF-8') + ' | ' + segment + ' | ' + pop + ' x=' + str(x) + ' y=' + str(y) Object( name = pop, model = om.find_one({"name": "PoP | Access"})["_id"], container = ObjectId(segment_id), data = {"geopoint": { "srid": "EPSG:4326", "x": float(x), "y": float(y), }, "pop": {"level": 15} } ).save() for i in db.noc.objects.find({"container": ObjectId(mcrn_id), "name": pop }): pop_id = i["_id"] if not Object.objects.filter(container = ObjectId(pop_id), name = room): Object( name = room, model = om.find_one({"name": "Room"})["_id"], container = ObjectId(pop_id), data = {} ).save() print 'Add ', room for i in db.noc.objects.find({"container": ObjectId(pop_id), "name": room}): room_id = i["_id"] if not Object.objects.filter(container = ObjectId(room_id), name = rack): Object( name = rack, model = om.find_one({"name": 'NoName | Rack | 19" 8U 800mm Shelf'})["_id"], container = ObjectId(room_id), data = {} ).save() print 'Add ', rack print "\n\n" for i in db.noc.objects.find({"container": ObjectId(room_id), "name": rack}): rack_id = i["_id"] # Уложить mo в Rack k += 1 # break # except: # break # continue print K, k
Что оно делает? С телефона хер проссышь

Ilya
05.06.2017
15:36:19
Что оно делает? С телефона хер проссышь
создаёт контейнеры, проверять координаты на яндексы, проставляет координаты контейнеру и пихает в него железо

ну и тп

Ivan
05.06.2017
15:44:56
Данные о местоположении из снмп?

Алексей
05.06.2017
15:54:45
etc ? /etc/noc – 8 ??????? 62% /opt/noc/etc – 3 ??? 23% /etc/opt/noc – 1 ? 8% пофиг все равно все в консуле – 1 ? 8% ? 13 people voted so far.

Dubridze
05.06.2017
16:08:25
TASK [nginx : Setup nginx]12:08 fatal: [xxx-noc01]: FAILED! => { "changed": false, "failed": true } MSG: AnsibleUndefinedVariable: {{noc_config['config'].get('keepalived-global-%s' % groups['svc-keepalived'][0], {}).get('nginx_virtual_ip', '')}}: list object has no element 0

Всем привет

Что не нравится ему при деплое?

Ilya
05.06.2017
16:12:19
Константин
05.06.2017
16:40:15
Dubridze
05.06.2017
16:40:48
как лечить?



Это как так?

Константин
05.06.2017
16:43:28
Пока не знаю, отвлекли

Dubridze
05.06.2017
16:47:03
Это суко какой то лютый пиздец

Ну как так можно то



Это штозахуйнятакая

Ivan
05.06.2017
16:52:45
Сочувствую

Ф5 не помогает?

Google
Ivan
05.06.2017
16:53:05
Рестарт башни?

Dubridze
05.06.2017
16:53:57
Да тут не рестарт будет а полный реинсталл

Жованый крот!!!!

слов нет....

Так расхваливал какой есть распиздатый проект нок. Как в нем все удобно....

Было....

3 года назад

Сейчас пиздец какой то

Ни документации - нихуя

Ivan
05.06.2017
16:55:47
Ни документации - нихуя
Ахаха, ее и не было никогда

Dubridze
05.06.2017
16:56:30
3 года назад она начинала появляться

Dubridze
05.06.2017
16:56:48
была надежда что спустя столько времени она будет дополнена

а хуй там

не угадал я

как не было

так и нет

а та что была, сейчас вообще не актуальна потому что платформа сменилась

Еще по старой памяти знаю что для чего

Новый человек увидит это и охуеет ведь

Google
Ivan
05.06.2017
16:59:59
Ну да, все и охуевают

Ты там остыл, чинить будешь или переставить проще?)

Dubridze
05.06.2017
17:00:44
ноду восстановил из снапшота

снапашота башни нет

сейчас пытаюсь в башне ноду добавить - не добавляется

просто ничего не происходит



ноду добавил, сервисы не конфигурятся

Ilya
05.06.2017
17:05:28
Надо голосование кто сколько раз нок переставлял

Dubridze
05.06.2017
17:09:31
Вот как заносить в нок 1к устройств, если оно в любой день может раком встать

Admin
ERROR: S client not available

Bitbucket
05.06.2017
17:11:14
Andrey pushed to noc/feature/microservices Fix snmp ifindex and slots number for MA5603 in Huawei.MA5600T profile

Ilya
05.06.2017
17:12:51
Легко

Я тоже раньше боялся и НОК крашился

Потом перестал его ломать и попросил админов настроить бекап

N
05.06.2017
17:14:44
перефразирую, перестал обновляться

Ilya
05.06.2017
17:16:33
На выходных обновился

N
05.06.2017
17:18:17
уже все косяки от слияния dcs исправили? можно обновляться?

Google
N
05.06.2017
17:20:10
да это я вижу) просто жду хотя бы как-то стабильного коммита

Ivan
05.06.2017
17:21:21
Делай бекап и поехали

N
05.06.2017
17:22:42
бекап не проблема, проблема потом, т.к. нок может незадеплоится , и не ясно когда починят, а мониторинг нужен

вообщем простой в пол дня - неприколько

Ilya
05.06.2017
17:24:22
Сломан wipe и линковка по lldp, если у тебя chassis id в виде ip адреса

N
05.06.2017
17:28:40
может на форуме будем отмечать номера рабочих комитов?

Алексей
05.06.2017
17:29:37
На коммитах которые действительно что-то делают хорошо я ставлю галочку в хг

Алексей
05.06.2017
17:30:17
Важный момент у меня в эксплуатацию как правило последний коммит

Алексей
05.06.2017
17:30:45
Ну плюс минус конечно, но последний

Ilya
05.06.2017
17:31:37
это не в lldp, а в discovery проблема.

озадачил народ. ждем ответа

вчера поправили, но н езакоммитили

вечером закоммитят

Во до сих пор коммитят

Andrey
05.06.2017
17:35:25
@somovis я так и не осознал - где проблема в LLDP

wipe я поправил, ну. по крайне мере у меня сработал. Желающих проверить у себя я не увидел

была проблема с lldp_neighbors в JunOS, её поправили

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