Регистронезависимый поиск устройства по hostname
Описание
Для построения топологии необходим поиск устройства по Hostname
. Поскольку hostname
регистронезависимый на устройствах он заполяется в произвольном виде. Для автоматических протоколов соседства (LLDP
, CDP
) это не составляет проблемы, но при работе ifDescr
hostname
заполняется людьми и может расходиться с прописанным в конфигурации устройства. Необходимо решение для работы подобными ситуациями
Предложение
Возможны 2 подхода для реализации регистронезависимого поиска:
- Использовать суффикс
i
при поиске -hostname__iexact=hostname
. Недостаток - регистронезависимый поиск не использует индексы. - При сборе принудительно приводить имя в нижний регистр, аналогично делать при поиске. Недостаток - для пользователя будет отображаться неактуальное имя устройтсва, что может вызвать вопросы.
Предлагается расширить модель DiscoveryID полем hostname_id в которое разместить hostname
в нижнем регистре и поиск устройства по идентификатору осуществлять через него.