Netpulse_SasS/server/migrations/0028_zte_zxan_profile.sql
byrsapty fe4ed4e7d9
Some checks failed
CI / web (push) Has been cancelled
CI / server (push) Has been cancelled
CI / agent (push) Has been cancelled
Дедлайн сокета від входу через telnet обривав збір конфігу
Знайдено на живому ZTE C320. Вхід чекає «Username:» з дедлайном читання
у дві секунди, а дедлайн сокета липкий: він лишався на всі наступні
читання.

Наслідок подвійний. Довгий конфіг обривався на середині помилкою
«read tcp: i/o timeout» — мережевою там, де мережа ні до чого. А коли
ще й запрошення не збігалось зі зразком, той самий дедлайн спрацьовував
раніше за власний таймер, і замість «не дочекались запрошення» людина
бачила ту саму мережеву помилку.

Щоб це побачити, довелося спершу полагодити діагностику: стенограма
починалась після входу, тобто після того місця, де все зупинялось.
Тепер розмова входу пишеться теж — без пароля, лише те, що надіслав
пристрій.

Плюс вбудований профіль zte-zxan: наявні профілі ZTE чекають «>» або
«]», а OLT показує «ZXAN#». Окремий профіль, бо в Comware трапляються
рядки з самої решітки, і зразок із «#» обірвав би їхній конфіг.

Результат на живому C320: 26 555 рядків.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-25 19:04:36 +03:00

24 lines
1.4 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- =====================================================================
-- NetPulse :: 0028_zte_zxan_profile.sql
-- Профіль збору для ZTE ZXAN (OLT серій C300/C320/C600).
--
-- Наявні профілі ZTE описують ZXR10 і ZXDSL: у них запрошення
-- закінчується на «>» або «]», як у Comware. ZXAN після входу показує
-- «ZXAN#», і жоден із них не підходить — збір зупинявся, не дочекавшись
-- запрошення.
--
-- Окремий профіль, а не «#» у наявні: у виводі Comware трапляються
-- рядки з самої лише решітки як роздільники, і зразок, що приймає «#»
-- у кінці рядка, обірвав би конфіг на першому ж такому.
--
-- Перевірено на живому C320: 26 555 рядків конфігу.
-- =====================================================================
INSERT INTO ncm.profiles (tenant_id, key, name, vendor, transport,
commands, prompt_regex, enable_required, is_builtin)
VALUES (
NULL, 'zte-zxan', 'ZTE ZXAN (OLT C300/C320/C600)', 'ZTE', 'telnet',
'["terminal length 0", "show running-config"]'::jsonb,
'[#>]\s*$', false, true
)
ON CONFLICT DO NOTHING;