forum.bitel.ru http://forum.bitel.ru/ |
|
Выполнение команд на нескольких устройствах http://forum.bitel.ru/viewtopic.php?f=44&t=12238 |
Страница 1 из 1 |
Автор: | SeGa [ 06 фев 2017, 09:58 ] |
Заголовок сообщения: | Выполнение команд на нескольких устройствах |
Сейчас имеем: уникальные статичные ip+netfow, телнет активатор который выполняет команды на одной железке и использует для команд ip и vlan. Поставили задачу сделать автоматическую зарезку скорости и настройки железки на доме. Как в биллинге правильней реализовать: 1 железка: vlan+port 2 железка: ip+vlan 3 железка ip+vlan Я вижу два выхода: 1) Несколько шлюзов на договор, но возникает проблема с тем как получить ip адрес из другого шлюза т.к. ip у нас уникальные 2) Использовать AbstractTerminalServiceActivator и в нем после выполнения команд на 1-ой железке, подключаться ко 2 и 3 железке, но пока не могу понять как. Собственно вопрос как у кого реализовано и как лучше? Я все таки склоняюсь ко 2-ому варианту, если кто то делал - можно примерчик. |
Автор: | barguzin2 [ 06 фев 2017, 13:25 ] |
Заголовок сообщения: | Re: Выполнение команд на нескольких устройствах |
Железки должны быть выстроены в дереве устройств, т.е. 3-корневая, у неё дочерняя-2, а у неё еще дочерняя-1. Сервис привязывается к 1, у каждой железки свой набор команд. При изменении сервиса InetAccess дернет все железки, на одной откроет доступ, на другой зарежет скорость, на 3й еще чего там. Может у вас как-то по другому это выглядит, но суть вот такая. |
Автор: | SeGa [ 07 фев 2017, 08:19 ] |
Заголовок сообщения: | Re: Выполнение команд на нескольких устройствах |
С этим вроде разобрался, но в такой схеме вылезла другая проблема. Вот как настроил: ![]() cisco и speed_1 имеют разные типы устройств и разные типы сервисов Конфигурация cisco: Код: #Команды создания сервиса на устройстве. sa.command.serv.create.1=vlan database sa.command.serv.create.2=vlan $vlan sa.command.serv.create.3=exit sa.command.serv.create.4=interface fe$port sa.command.serv.create.5=no shutdown sa.command.serv.create.6=switchport mode access sa.command.serv.create.7=switchport access vlan $vlan sa.command.serv.create.8=exit sa.command.serv.create.9=interface ge3 sa.command.serv.create.10=switchport trunk allowed vlan add $vlan sa.command.serv.create.11=exit #Команды удаления сервиса с устройства. sa.command.serv.cancel.1=interface fe$port sa.command.serv.cancel.2=switchport access vlan 999 sa.command.serv.cancel.3=shutdown sa.command.serv.cancel.4=exit Конфигурация speed: Код: #speedRate=set speed=$param($option,al,100) #sa.command.inetOption.1.enable=$macros($param(speedRate)) sa.command.inetOption.1.enable=set speed=$param($option,al,100) sa.command.inetOption.2.enable=set speed=$param($option,al,100) sa.command.inetOption.3.enable=set speed=$param($option,al,100) sa.command.inetOption.4.enable=set speed=$param($option,al,100) sa.command.inetOption.5.enable=set speed=$param($option,al,100) sa.command.inetOption.6.enable=set speed=$param($option,al,100) sa.command.inetOption.7.enable=set speed=$param($option,al,100) sa.command.inetOption.8.enable=set speed=$param($option,al,100) sa.command.inetOption.9.enable=set speed=$param($option,al,100) sa.command.inetOption.10.enable=set speed=$param($option,al,100) sa.command.inetOption.11.enable=set speed=$param($option,al,100) sa.command.inetOption.12.enable=set speed=$param($option,al,100) sa.command.inetOption.13.enable=set speed=$param($option,al,100) sa.command.inetOption.14.enable=set speed=$param($option,al,100) sa.command.inetOption.15.enable=set speed=$param($option,al,100) sa.command.inetOption.16.enable=set speed=$param($option,al,100) sa.command.inetOption.17.enable=set speed=$param($option,al,100) sa.command.inetOption.18.enable=set speed=$param($option,al,100) sa.command.inetOption.19.enable=set speed=$param($option,al,100) sa.command.inetOption.20.enable=set speed=$param($option,al,100) sa.command.inetOption.21.enable=set speed=$param($option,al,100) sa.command.inetOption.22.enable=set speed=$param($option,al,100) sa.command.inetOption.23.enable=set speed=$param($option,al,100) Тарифный план: ![]() Вроде бы все хорошо, но set speed выполняется как на speed, так и на cisco. Если в тарифном дереве делать фильтр по типу сервиса - вообще не выполняются команды speed И может быть есть вариант как заменить sa.command.inetOption.1.enable=set speed=$param($option,al,100) на что то попроще, что бы не указывать все опции.... Версия: ![]() |
Автор: | SeGa [ 07 фев 2017, 08:19 ] |
Заголовок сообщения: | Re: Выполнение команд на нескольких устройствах |
дубль |
Автор: | barguzin2 [ 07 фев 2017, 08:36 ] |
Заголовок сообщения: | Re: Выполнение команд на нескольких устройствах |
это все потому, что cisco наследует конфиг speed-а. При открытом кофиге справа вверху есть кнопка [Текущая конфигурация]. Команды обычно выносят в тип устройства, чтобы не прописывать на каждом экземпляре, а на самом устройстве пишут только различающиеся параметры. Если оставлять как есть, то для speed вместо кучи пишем общую для всех опций команду Код: sa.command.common.inetOption.enable=set speed=$param($option,al,100) а на cisco делаем её пустой. Код: sa.command.common.inetOption.enable=
|
Автор: | SeGa [ 07 фев 2017, 09:18 ] |
Заголовок сообщения: | Re: Выполнение команд на нескольких устройствах |
barguzin2 писал(а): это все потому, что cisco наследует конфиг speed-а. При открытом кофиге справа вверху есть кнопка [Текущая конфигурация]. Команды обычно выносят в тип устройства, чтобы не прописывать на каждом экземпляре, а на самом устройстве пишут только различающиеся параметры. Если оставлять как есть, то для speed вместо кучи пишем общую для всех опций команду Код: sa.command.common.inetOption.enable=set speed=$param($option,al,100) а на cisco делаем её пустой. Код: sa.command.common.inetOption.enable= sa.command.common.inetOption.enable=set speed=$param($option,al,100) не выполняется |
Автор: | barguzin2 [ 07 фев 2017, 10:59 ] |
Заголовок сообщения: | Re: Выполнение команд на нескольких устройствах |
Остальные sa.command.inetOption.X.enable убрали? Конфигурацию перечитывали? AbstractTerminalServiceActivator актуальный? Должно быть в нем Код: String [] servOptionCommonEnableCommands = parseCommands( config, prefix + "common.inetOption.enable", null ); String [] servOptionCommonDisableCommands = parseCommands( config, prefix + "common.inetOption.disable", null ); У меня работает такая конструкция, тут уже у себя копайте. |
Автор: | SeGa [ 07 фев 2017, 11:16 ] |
Заголовок сообщения: | Re: Выполнение команд на нескольких устройствах |
Версия 6.1.818, таких строчек нету, обновлять не вариант( |
Автор: | barguzin2 [ 07 фев 2017, 12:52 ] |
Заголовок сообщения: | Re: Выполнение команд на нескольких устройствах |
всё и не надо обновлять, возьмите из пакета модуля inet AbstarctTermialServiceActivator и Telnet, вставьте в дин.код и скомпилируйте. |
Автор: | Amir [ 08 фев 2017, 21:52 ] |
Заголовок сообщения: | Re: Выполнение команд на нескольких устройствах |
Чтобы не использовались команды из родительских конфигов (а использовались только с конфига устройства и типа устройства) нужно указать sa.config.inherit=0 Изначально сделали, что наследовалось, поэтому по умолчанию так и осталось, но можно это отключить. |
Автор: | SeGa [ 17 фев 2017, 05:19 ] |
Заголовок сообщения: | Re: Выполнение команд на нескольких устройствах |
Вроде бы все хорошо, все работает, но есть одно но. Делаю синхронизацию сервисов вроде все нормально: Код: connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Do task deviceId: 32; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaDeviceInitEvent] moduleId: 5; pluginId: no; cid: global; scid: -1; userId: 2; deviceId: 32; timestamp: 148728$ connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Do InetSaDeviceInitEvent task, device:32 connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Data ready for device:32. Wait for device not interactive. connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Adding tasks for device:32. .................................... connection 02-17/08:29:01 INFO [sa-p-12-t-64] InetSaServModifyEvent - InetServ already in deleted deviceState connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Do task deviceId: 32; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaServModifyEvent] moduleId: 5; pluginId: no; cid: 43343; scid: -1; userId: -1; oldInetServ: 1300; newIneServ: null; newInetServState: -1; newInetServOptionList: ; timestamp: 1487284141383 connection 02-17/08:29:01 INFO [sa-p-12-t-64] InetApplication - TariffOptionMap: {} connection 02-17/08:29:01 INFO [sa-p-12-t-64] InetApplication - OptionSet: [6] connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=3; inetServId: 293; call: false; oldState: 1; newState: -1; oldOptionSet: ; newOptionSet: 6 connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Processing deviceId:32; command ServiceActivatorEvent type=3; inetServId: 293; call: false; oldState: 1; newState: -1; oldOptionSet: ; newOptionSet: 6 connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorSet - Invoking serviceCancel connection 02-17/08:29:01 INFO [sa-p-12-t-64] AbstractTerminalServiceActivator - switchOptions ............. connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Process event type[3] result=true connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Do task deviceId: 32; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaServModifyEvent] moduleId: 5; pluginId: no; cid: 43343; scid: -1; userId: -1; oldInetServ: null; newInetServ: 1300; newInetServState: 1; newInetServOptionList: ; timestamp: 1487284141383 connection 02-17/08:29:01 INFO [sa-p-12-t-64] InetApplication - TariffOptionMap: {} connection 02-17/08:29:01 INFO [sa-p-12-t-64] InetApplication - OptionSet: [6] connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=1; inetServId: 293; call: false; oldState: -1; newState: 1; oldOptionSet: ; newOptionSet: 6 connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Processing deviceId:32; command ServiceActivatorEvent type=1; inetServId: 293; call: false; oldState: -1; newState: 1; oldOptionSet: ; newOptionSet: 6 connection 02-17/08:29:01 INFO [sa-p-12-t-64] ServiceActivatorSet - Invoking serviceCreate ....... connection 02-17/08:29:02 INFO [sa-p-12-t-64] AbstractTerminalServiceActivator - switchOptions connection 02-17/08:29:02 INFO [sa-p-12-t-64] AbstractTerminalServiceActivator - serviceEnable connection 02-17/08:29:02 INFO [sa-p-12-t-64] AbstractTerminalServiceActivator - switchOptions ....... Но после этого происходит следующее и опция отключается: Код: mq 02-17/08:32:18 INFO [event-proc-p-2-t-1] InetServRuntimeMap - Caught event: Event[ru.bitel.bgbilling.modules.inet.access.event.InetServDeviceStateAndOptionsModifiedEvent] moduleId: 5; pluginId: no; cid: global; scid: -1; userId: -1; deviceId: 32; inetServId: 298; state: -1000; optionSet: ; timestamp: 1487284338070 connection 02-17/08:32:18 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Do task deviceId: 32; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaOptionsModifyEvent] moduleId: 5; pluginId: no; cid: 43343; scid: -1; userId: 0; deviceId: 32; inetServId: 293; connectionId: 0; options: ; timestamp: 1487284230217 connection 02-17/08:32:18 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 293; call: false; oldState: 1; newState: 1; oldOptionSet: 6; newOptionSet: connection 02-17/08:32:18 INFO [sa-p-12-t-64] ServiceActivatorDeviceWorker - Processing deviceId:32; command ServiceActivatorEvent type=2; inetServId: 293; call: false; oldState: 1; newState: 1; oldOptionSet: 6; newOptionSet: connection 02-17/08:32:18 INFO [sa-p-12-t-64] ServiceActivatorSet - Invoking serviceModify connection 02-17/08:32:18 INFO [sa-p-12-t-64] AbstractTerminalServiceActivator - serviceOptionsModify connection 02-17/08:32:18 INFO [sa-p-12-t-64] AbstractTerminalServiceActivator - switchOptions connection 02-17/08:32:18 INFO [sa-p-12-t-64] AbstractTerminalServiceActivator - serviceOptionsModify connection 02-17/08:32:18 INFO [sa-p-12-t-64] AbstractTerminalServiceActivator - switchOptions Собственно вопрос почему отключается опция на договоре? Опция указана в тарифе. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |