Skip to end of metadata
Go to start of metadata

Бесполезный сниппет. Пригодится, если надо сделать Generic Host с портами. Я им пользовался для создания интерфейсов у 3com SuperStack 3/4228G, который не поддерживается внятно системой. Смысла переписывать скрипты не вижу, все-равно свич древний и вытесняется длинками.

from noc.inv.models import *
from noc.sa.models import *
def mk_3com_ints(id,num=28):
    if not id:
        return False
    for i in range(1,num+1):
        ii=Interface(managed_object=id, type="physical", name="{0}".format(i))
        ii.save()
        si=SubInterface(name="{0}".format(i),interface=ii,managed_object=id,enabled_afi=['BRIDGE'])
        si.save()
    return True

На входе надо дать ID объекта, количество портов. Порты создаются в тупую, физические и bridge-сабы. Никаких вланов, никаких Ip.

Изменение. Чтобы NOC разглядел смену соседа по линку у железок, делаем такое(не обкатано):

        i = self.get_interface_by_name(self.object, local_interface)
        if i:
            if i.is_linked:
                l = Link.objects.filter(interfaces=i).first()
                if l.interfaces[0]=i:
                    ri = l.interfaces[1]
                else:
                    ri = l.interfaces[0]
                if remote_object=ri.managed_object and ri.name=remote_interface:
                    return # Link is correct. Nothing changed.
                else:
                    i.unlink()
#                return  # Already linked

Это изменения в inv/discovery/jobs/link_discovery.py, функция def submit_candidate.

В случае проблем - откатывайте файл к исходному состоянию. Если не помогает - паникуйте, грабьте корованы, играйте за охрану дворца.

  • No labels

2 Comments

  1. Unknown User (lexus)

    Отличная идея в первом сниппете, надо у себя попробовать. 3Com-ов всего пара осталась, зато есть другие девайсы (умные ИБП, усилки КТВ), у которых только один порт (для управления), никакими get_interfaces там естественно и не пахнет, но теперь их можно будет за этот добавленный сниппетом порт прицеплять к сети.

    А второй, наверное, лучше в виде патча было выложить.

     

     

     

     

    1. Unknown User (mikevlz) AUTHOR

      второй надо откатать/оттестить.