About Forum Blogs NOC Docs Downloads KB Issues Code CI Registration

nocproject.org

#nocproject.org at irc.freenode.net log.
Back to nocproject.org Back to IRC log index
Date: 08.12.2013
_4ePTeHok #
11:24
dvolodin, не добрался до меппинга?)
dvolodin #
11:24
пока еще нет
11:24
вливаю брокейды и smart edge
11:25
mikevlz|2: посмотрел твои брокейды
_4ePTeHok #
11:25
нарисуй плиз) скрипты стоят а за ними и модельки. 6500е модельки еще подгоню
dvolodin #
11:26
лучше в get_inventory попилить все на разные функции и налепить на них декоратор @NOCScript.version(...)
11:27
А с меппингами пока не понял, как сформулировать задачу
_4ePTeHok #
11:28
смотри - в number скрипт отдает лабуду, которая определяет слот
dvolodin #
11:28
не
11:28
смотри
11:28
там явно у модели должна быть возможность указывать один или несколько меппингов, которые отображают ключи в значения
11:28
так вот
11:29
является ли меппинг свойством модели, или они живут отдельно ?
_4ePTeHok #
11:29
свойством модели
dvolodin #
11:29
они будут фигурировать в connection rules
_4ePTeHok #
11:29
ибо в серверах - это свойство MB
11:29
под каждую модель рисовать рулзы?
dvolodin #
11:30
да в том то и дело, что нет
_4ePTeHok #
11:30
не, я думаю что проще сделать универсальные рулзы, которая будет коннектить скажем PCIe Slot 3
dvolodin #
11:31
если мы их заколотим в модель, то их придется дублировать, если они одинаковы
_4ePTeHok #
11:31
а в модели меппится pci@0000:09:00.0 -> PCIe Slot 4
11:31
Дим, ты видел как программируют индусы?
11:31
вот примерно так же китайцы платы разводят
11:31
там нет одинаковых меппингов
11:31
если только модель не 100%
11:32
совпадающая
dvolodin #
11:32
тогда смотри
11:32
меппинги у нас жестко на connections завязаны?
_4ePTeHok #
11:32
на модель
dvolodin #
11:32
на connections модели
_4ePTeHok #
11:32
рулз может быть универсальным
11:32
скажем PCIe{N}
11:32
и дальше вставляем
dvolodin #
11:33
я вот про что
11:33
смотри
11:33
у нас у connections есть name
11:33
может мы просто добавим поле internal_name?
11:34
то есть у тебя будет name="pcie1" internal_name="pci@1.2.4:666"
_4ePTeHok #
11:34
это в модели, так?
dvolodin #
11:35
да
11:35
просто для каждого слота укажешь его потрошка
_4ePTeHok #
11:35
тогда уж Internal Designator: "J1H2 - SATA 3"
11:35
Internal Connector: 0x22 (Other)
11:35
такое в потрошках
11:36
т е смысл я понял
dvolodin #
11:36
не суть важно
_4ePTeHok #
11:36
только сопоставление будет в рулах по каким признакам
dvolodin #
11:36
в модели в connections добавим некий внутренний номер
11:37
и target connections в connections rule сделаем, скажем, переменную {internal}
_4ePTeHok #
11:37
ну я тебе о том, чтобы ввести новую переменную неделю назад говорил)
dvolodin #
11:37
что означает, что цепляем мы не по name, а по internal name
_4ePTeHok #
11:38
Internal Designator: "JA5A1"
11:38
External Designator: "NIC 2"
11:38
External Connector: 0x0b (RJ-45)
dvolodin #
11:38
там не только переменную, но и правила поиска надо
_4ePTeHok #
11:38
сделай External Designator и все
dvolodin #
11:38
тебе internal designator нужно
_4ePTeHok #
11:38
оно хоть явно будет указывать на сопоставление
dvolodin #
11:38
или нет?
_4ePTeHok #
11:39
ну...по сути сопоставление internal > external)
11:39
но в понятиях нока - да, внутренний
11:39
хотя не, стоп.
dvolodin #
11:39
вот-вот
_4ePTeHok #
11:39
в намбер я отдам внутренний
dvolodin #
11:39
что нам вернет скрипт в number?
_4ePTeHok #
11:40
а в модели надо внешний
11:40
скрипт внутренний отдает
11:40
pci@1.2.4:666
dvolodin #
11:42
вот по нему и ловить, так?
_4ePTeHok #
11:44
да
11:44
но в рулзы отдавать уже слот
11:44
ехтернал десигнейтор
dvolodin #
11:46
а зачем?
11:46
если мы в рулзах по internal'у нормально найдем?
11:47
собстевенно наш mapping -- это internal_name -> name
_4ePTeHok #
11:47
стой, давай еще раз в тепминологии определимся
11:47
если так вот как ты выше написал
11:47
то скрипт отдает name = internal_name
11:48
в выводе инвентори как и в коннекшен рулзах мне удобнее видеть PCIe Slot {N}
11:49
ой, number = internal_name
11:49
вот так.
dvolodin #
11:50
ну да
11:50
а в connection rules вместо PCIe Slot {N} ты напишешь просто {internal}
11:50
или {internal_name}
_4ePTeHok #
11:51
а как тогда модель будет отображать слот в выводе инвентори?
dvolodin #
11:52
pcie3
11:52
как ты ее в модели назвал
_4ePTeHok #
11:52
ye nfr uel
11:52
ну так гуд
dvolodin #
11:52
внутреннее имя будет только для того, чтобы по нему приткнуть
_4ePTeHok #
11:52
угу, так пойдет
dvolodin #
11:53
просто будем знать, что есть target name у нас {internal_name}, то не валяем дурака, ищем connection по internal_name и по нему засаживаем
11:53
дальше этого внутреннего имени не видно будет
11:53
поеду я, еще подумаю в дороге
_4ePTeHok #
11:55
окей
12:57
а, да, dvolodin, Дим, мы забыли про то, чтобы по number можно было в модели присвоить устройству статус is_builtin = True, иными способами там порой невозможно определить интегрированное оно или нет.
12:58
т е в нагих терминах по internal_name
mikevlz|2 #
13:39
а я тут утречком еще гет_инвентори для SCE8000 накатал
_4ePTeHok #
13:46
молодец
13:46
у меня только к 2020 доступ
13:46
а там нечего дергать
13:46
кроме серийника)
13:46
там бы гет_интерфейсес еще
13:46
или писали уже?
mikevlz|2 #
13:48
нет
13:48
в профиле только версия и конфиг
13:48
теперь еще инвентори
13:48
правда с трансиверами затык.
13:48
ну да хер с ними
13:49
пеока что
_4ePTeHok #
13:49
SCE2#sh inventory
13:49
NAME: "Chassis", DESCR: "Cisco SCE 2020 Service Control Engine, Multi Mode, 4-port GE"
13:49
PID: SCE2020-4XGBE-MM , VID: V02, SN: CAT11345BM8
mikevlz|2 #
13:49
ну и у меня к брокейду модель платы 24 SFP еще появится скоро. А для SCE была плата на 8 гигов, но ее продали :)
_4ePTeHok #
13:49
да собственно должно сожрать
mikevlz|2 #
13:50
ну да...
_4ePTeHok #
13:50
тут ничо нового нет
mikevlz|2 #
13:50
вернет только шасси
_4ePTeHok #
13:50
дык там нет сменного ничего, разве что БП
mikevlz|2 #
13:50
а там фиксированная конфигурация, как и для 1010
_4ePTeHok #
13:50
а вот бп хрен дернешь поди
mikevlz|2 #
13:51
SCE2020 тоже продали. Комплектом с SmartEdge100
13:51
года два назад
13:52
стоечки вырисовываются уже... кроссы бы еще и ИБП с PDU докинуть
_4ePTeHok #
13:54
да, хер БП дернешь
13:54
ни в версии, ни в инвентори, ни команды power нет
mikevlz|2 #
13:55
=)
_4ePTeHok #
13:56
интерфейсы все ж надо
13:56
только как их потом стыковать опять же
13:58
они ж там хитрожопо меппятся в linecard
13:59
и никакого lldp или stp
14:00
причем кошки у меня через нее видят друг друга по udld)
mikevlz|2 #
14:00
так она просто кусок умного провода
_4ePTeHok #
14:00
короче призрачно-прозрачная хуйня
14:00
и как ее влепить в топологию хз)
mikevlz|2 #
14:00
только руками
_4ePTeHok #
14:00
через базу?)
14:00
а, там же можно линки лепить
mikevlz|2 #
14:01
в принципе, у нее как ни настраивай арп будет светить и в магистральные порты
_4ePTeHok #
14:01
только интерфейсы снять надо сначало
mikevlz|2 #
14:01
можно так ее детектить
_4ePTeHok #
14:01
это как ты будешь проверять?)
mikevlz|2 #
14:01
по макам на порту
_4ePTeHok #
14:01
там даже ари не посмотришь вроде
14:01
арп
mikevlz|2 #
14:02
на п2п линке с двумя чужими маками в разрыве линка есть SCE
14:02
не на ней смотреть, а на других железках
_4ePTeHok #
14:02
ну это отдельный алгоритм пилить надо
mikevlz|2 #
14:03
угу
_4ePTeHok #
14:03
по макам не особо надежно вообще линки строить. Если не п2п линк - там хер определишь где кто
mikevlz|2 #
14:03
только засада. Это или реально п2п линк или не п2п нифига
_4ePTeHok #
14:03
вово
mikevlz|2 #
14:04
так что только руками
_4ePTeHok #
14:04
для рук все равно надо интерфейсы
14:04
а там еще вывода нет брифингового
mikevlz|2 #
14:04
ну это да
_4ePTeHok #
14:04
только с перебором номеров
mikevlz|2 #
14:05
ну тут проблема курицы и яйца
14:06
есть модель, в ней сказано, что есть порты. Можно интерфейсы вообще по модели создавать
14:06
а get_interfaces можно дергать, если есть, для детализации
14:07
в конце концов тебе ни один get_interfaces не говорит ничего про консоль...
_4ePTeHok #
14:14
это да
14:17
но тут Дима может несогласным быть)))
14:19
с серверами все ж инвентори интересней)
14:19
там бля что не железка, так икзымпляр)
mikevlz|2 #
14:20
ты до самосбора еще не дошел? =)
_4ePTeHok #
14:20
выложи свой get_inventory для сце, гляну на 2020 как оно будет
14:21
ну как сказать. Технически я реализовал просто - если Chassis не детектится, но есть Mboard - они дублируют друг друга. Если наоборт = то получаем платформу. Ну а если оба детектятся, то ваще щикарно
mikevlz|2 #
14:22
да там копия стандартного IOS инвентори
14:22
почти :)
_4ePTeHok #
14:22
там еще с ОЕМ хватает веселухи
14:22
ты видел как я БП показывал?)
mikevlz|2 #
14:22
не-а
_4ePTeHok #
14:23
щя
14:24
*-power UNCLAIMED
14:24
description: To Be Filled By O.E.M.
14:24
product: To Be Filled By O.E.M.
14:24
vendor: To Be Filled By O.E.M.
14:24
physical id: 1
14:24
version: To Be Filled By O.E.M.
14:25
serial: To Be Filled By O.E.M.
14:25
capacity: 32768mWh
14:25
о как зоебись.
14:25
мощща отдельно доставляет
14:28
понабрали прошивальщиков по объявлению
mikevlz|2 #
14:37
32 ватт-часа
14:37
ахренеть
_4ePTeHok #
14:40
до миливатта точность
14:42
и как то подозрительно совпадает с последним числом в 8000h или 1000 0000 0000 0000 bin -)
mikevlz|2 #
14:46
поехал я...
_4ePTeHok #
15:22
dvolodin, Дим, мы забыли про то, чтобы по internal_name можно было в модели присвоить устройству статус is_builtin = True, иными способами там порой невозможно определить интегрированное оно или нет.
dvolodin #
15:22
мммм
15:23
если оно уже попало в модель, то, наверное, никак
_4ePTeHok #
15:23
блин, а как быть?
dvolodin #
15:23
разве что в самой модели хранить список builtin'ов
_4ePTeHok #
15:28
ну или так
15:29
что такая то шина - это то самое бултин
15:29
а то там вывод по сетевкам - чипсеты тупо, а не карты
15:30
и где там карточка на таком же чипсете, а где встроенная - по другим признакам кроме шины не определишь
15:31
и тут еще mikevlz предложил для железок, что являются прозрачными решение - в модели описывать интерфейсы, и оттуда их пихать в interfaces, чтобы линки руками прописывать.
15:31
в частности для SCE
15:32
автоматом там все равно линки не задетектить
dvolodin #
15:32
знаешь что беспокоит
15:32
если выгребать другой тулзой, то все поменяется
15:33
где гарантия, что они будут выдавать эти внутренние номера
_4ePTeHok #
15:33
дык
15:33
смотри - стандарта нет
15:33
данные можно взять только с биоса
15:33
оттуда в разных форматах выдает их dmidecode lshw и lspci
15:34
в стандартной поставке на всех дистрибах их может не быть
15:34
ни одной
15:34
потому я и предложил зацепиться на одной тулзе, которая стандартизирует вывод с раных дистрибутивов
dvolodin #
15:34
может со стороны ipmi зайти?
_4ePTeHok #
15:35
Дим, да нету там нужных нам данных
dvolodin #
15:35
тулза не будет работать на фре и под ви
15:35
виндой
_4ePTeHok #
15:35
я уже сто раз показывал что отдает ило
15:35
там только шасси
15:35
без набивки (даже без CPU)
dvolodin #
15:35
я про другое
15:35
если мы будем драть с винды набивку, не придется костыли еще делать?
15:35
или с ESXi?
_4ePTeHok #
15:36
на фре будет dmidecode + pciconf
15:36
на ESXi я юзаю только то, что с ней идет
15:36
ничего стороннего
15:36
а с виндой так или иначе проблемы будут
15:36
ибо там нет ни телнета, ни ссш как стандартной схемы доступа
dvolodin #
15:37
народ нынче как-то мошношелом попадает
_4ePTeHok #
15:37
внутренние номера, кстати выдают все тулзы
dvolodin #
15:37
ну ok
_4ePTeHok #
15:37
оно же в биосе
dvolodin #
15:37
суть вот в чем
15:37
есть сервак
_4ePTeHok #
15:37
формат может быть по октетам разный - это да
15:37
но стандартизировать думаю реально
dvolodin #
15:37
модели и connection rules не должны зависить от того, какая там система
15:38
то есть выдача get_invnetory должна быть унифицированной
_4ePTeHok #
15:38
мм...это да
15:38
но еще раз повторю - шины - это биос
15:39
у меня правда нет реального примера, чтобы доказать
15:39
будет машинка, накачу разных систем
dvolodin #
15:39
ну явно тулзы их не придумывают
_4ePTeHok #
15:39
то, что идет на уровне системы - это всякие eth1 и т д
15:40
pci@ - биос должен быть
15:40
опять же вывод - мы же скрипт делаем
15:41
там вендоры - стандарт, класс - стандарт
15:41
партномер - да, могут быть вопросы
15:41
дескрипшен ни на что не влияет, верно?
15:41
сопоставление же по партномеру идет?
dvolodin #
15:42
да
15:42
там все понятно
_4ePTeHok #
15:42
ну и не проблема тогда, надо лишь его тандартизировать
dvolodin #
15:42
если отдали part no -- мы сделаем объект с правильной моделью
_4ePTeHok #
15:43
у меня больший вопрос вызывает взаимоотношение chassis > motherboard
15:43
как их вязать.
dvolodin #
15:43
а какие там проблемы-то?
15:43
вязать безусловно
_4ePTeHok #
15:44
одна и та же материнка может в разных платформах стоять
dvolodin #
15:44
да пожалуйста
15:44
в корпусе connection -- mb
_4ePTeHok #
15:44
но при этом, бывает ситуация когда данные чассиса не снять
15:45
чтобы мамка не висела в воздухе - я часис делаю с теми же данными что и mb
15:45
а бывает наоборот - платформа чассиса снимается, а по мамке нет информации
15:45
ну это скорее случай, когда мамка там может быть только одна, специфичная
15:46
вот конкретный случай
15:46
[{'builtin': False,
15:46
'description': 'X9DRW (To be filled by O.E.M.)',
15:46
'number': 'None',
15:46
'part_no': ['X9DRW'],
15:46
'serial': '0123456789',
15:46
'type': 'CHASSIS',
15:46
'vendor': 'SUPERMICRO'},
15:46
{'builtin': False,
15:46
'description': 'Motherboard',
15:46
'number': 'None',
15:46
'part_no': ['X9DRW'],
15:46
'serial': 'VM26S35773',
15:46
'type': 'MBOARD',
15:46
'vendor': 'SUPERMICRO'},
15:47
тут все понятно в принципе, но что за корпус(а их может быть несколько) - непонять
dvolodin #
15:47
может супермикру потеребить?
_4ePTeHok #
15:47
на предмет?)
dvolodin #
15:48
железа и вопросов
_4ePTeHok #
15:49
=)
15:49
они не удосуживаются забить серийники в БП - оем гонят, а ты хочешь их спросить?)
15:49
вот другой случай из мной описанных
15:49
[{'builtin': False,
15:49
'description': 'ProLiant SL390s G7 (612227-B21)',
15:49
'number': 'None',
15:49
'part_no': ['612227-B21'],
15:49
'serial': 'CZ3136SR3A',
15:49
'type': 'CHASSIS',
15:49
'vendor': 'HP'},
15:50
тут не детектится мамка, серийник у нее совпадает с шасси
15:50
но там может стоять только одна - по партнамберу
15:50
ибо оно все в сборе идет
15:51
вот и как там связь выстраивать
15:52
без мамки, сразу в шасси карты?
dvolodin #
15:52
да
15:52
корпусомамка
_4ePTeHok #
15:52
окей
15:53
а с виндой..там вообще не вытянешь низкоуровневую инфу без посторонних тулз
15:53
хоть бы и с шеллом
15:55
а вообще то вру.
15:56
Capacity Caption CreationClassName DataWidth Description DeviceLocator FormFactor HotSwappable InstallDate InterleaveDataDepth InterleavePosition Manufacturer
15:56
2147483648 Physical Memory Win32_PhysicalMemory 64 Physical Memory XMM1 8 2 1 JEDEC ID:CE 00 00 00
15:56
2147483648 Physical Memory Win32_PhysicalMemory 64 Physical Memory XMM2 8 2 1 JEDEC ID:00 00 00 00
15:56
2147483648 Physical Memory Win32_PhysicalMemory 64 Physical Memory XMM3 8 2 2 JEDEC ID:00 00 00 00
15:56
2147483648 Physical Memory Win32_PhysicalMemory 64 Physical Memory XMM4 8 2 2 JEDEC ID:CE 00 00 00
15:56
4194304 Physical Memory Win32_PhysicalMemory 2 Physical Memory SYSTEM ROM 0 0 0
15:56
из обычного кли)
15:57
Base Board Win32_BaseBoard Base Board TRUE FALSE Hewlett-Packard Base Board TRUE 3032h
15:58
SerialNumber
15:58
CZC9407G52
15:58
=)))
16:01
Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz
16:01
ну в принципе все то же - из биоса
16:01
сейчас по устройствам наpci шине гляну
16:08
с наскоку не вижу. но порты там подергать тоже можно
16:11
да похоже на винде можно написать не хуже инвентори)))
16:11
только нок надо будет учить ходить в шелл винды
dvolodin #
16:27
да не проблема в обще-мто
16:27
http://pash.sourceforge.net
16:30
что-то вроде такого
zi_home #
18:20
_4ePTeHok, ты за винду не беспокойся, все там есть
18:20
http://gallery.technet.microsoft.com/scriptcenter/Hardware-Inventory-Using-fe6611e0
18:20
или так
18:20
http://blogs.technet.com/b/heyscriptingguy/archive/2012/02/14/the-scripting-wife-uses-powershell-to-get-hardware-information.aspx
18:22
а вообще вас что-то на сервера потянуло
18:22
вряд ли винды интересны тем кто юзает нок
18:23
чтобы виндоводов заинтересовать, надо инвентори софта делать, чтобы они могли учет лицензий вести
dvolodin #
18:50
zi_home: я поправил редактирование загрузки стоек
18:50
теперь сразу видно результат
18:51
для винды такого софта до жопы
18:52
у нас достаточно большой контингент контента и датацентров
zi_home #
19:01
ну, да, до жопы, поэтому еще один не особо нужен, а телекому винды до балды
19:04
dvolodin, почему не прижать панель редактирования к стойке с небольшим зазором. и показывать ее всегда, без кнопки
dvolodin #
19:10
мешаться будет
zi_home #
19:11
а что там еще кроме кучи пустого места
dvolodin #
19:53
много буковок и цифирок - тоже плохо
zi_home #
20:07
не так их и много будет, в худшем случае 42 строки
20:08
кстати, нет проверки если указываешь позицию за пределами стойки
20:10
и такая мысль, может приравнивать pos front и pos rear если железка крепится и спереди и сзади
20:10
ASR именно так
20:10
и сервера все такие же
dvolodin #
20:13
zi_rus: front и rear -- пока условность
20:15
формально, можно по глубине проверять
ufir #
20:17
мануал надонаписать
20:17
а то я этот инвентори сраный уже ненавижу
dvolodin #
20:19
чего так?
20:19
ты первый
ufir #
20:20
да непонятно нихера
20:20
чего там и ка
20:20
к
dvolodin #
20:23
что именно?
ufir #
20:25
да всё непонятно
20:25
как добавлять, куда нажимать, как у других какие-то модели сами собираются
dvolodin #
20:26
в managed object profile галочку поставь asset inventory
20:30
что умеет, то наберет
ufir #
20:31
может все же набросать план/структуру документации, и начать её писать ?
dvolodin #
20:40
кто будет ее писать?
ufir #
20:44
да мне пофиг - я стратег
dvolodin #
20:46
а
20:46
ну настратегируй нам структуру
20:56
_4ePTeHok: сделал я internal_name
20:56
в target_connection нужно писать просто {N}
20:57
реализация просто идиотская по простоте
21:01
итого - стойки у нас есть, надо бы серваки хотя бы на уровне тушек
Tweet
Share this page
Share this page: Tweet