В текущей статье описаны алгоритмы обработки лицензий ISPsystem, которые заказываются вместе с услугой "Виртуальный сервер". 

Заказ лицензии


Алгоритм заказа лицензии:

Производится поиск свободных лицензий. Лицензия считается свободной (находящейся в пуле), если выполняются все ниже перечисленные условия:

  • Статус лицензии "Активен" или "Остановлен".
  • Имя лицензии имеет значение "free.lic".
  • IP-адрес лицензии имеет значение "0.0.0.0".
  • Дата окончания действия лицензии больше, чем текущая дата.
  • Дата последней смены IP-адреса — более, чем месяц назад.
  • Дата последней смены ключа лицензии — более, чем месяц назад.

Если найдена подходящая свободная лицензия, для нее выполняются следующие действия:

  • Меняется наименование лицензии на "Item #<id_виртуального_сервера>" addon <наименование_виртуального_сервера>"
  • IP-адрес лицензии меняется на IP-адрес основной услуги.
  • Генерируется новый ключ лицензии;
  • Запоминается идентификатор ресурса "Лицензия на панель управления" заказываемой услуги - таким образом обеспечивается связь лицензии в BILLmanager — сервере лицензий и BILLmanager провайдера. 
  • Если необходимо, лицензия активируется и продляется.

При возникновении ошибки на каком-либо этапе, лицензия возвращается в пул — имя меняется на "free.lic", IP-адрес - на "0.0.0.0".

Если не найдено подходящей лицензии в пуле, заказывается новая лицензия в BILLmanager — сервере лицензий. Имя лицензии формируется по шаблону: "Item #<id_виртуального_сервера>" addon <наименование_виртуального_сервера>"

Продление лицензии


Процесс продления лицензии запускается по необходимости, независимо от процесса продления основной услуги. Когда срок действия лицензии подходит к концу, проверяется статус основной услуги:

Когда услуга активна, лицензия продлевается. Чтобы определить на какой период продлить лицензию, период заказа основной услуги сравнивается с настройками сопоставления периодов. Лицензия продлевается на указанный в настройках период. При отсутствии настроек для периода заказа основной услуги, продление лицензии выполняется на минимально доступный срок - 1 месяц.

Например, заказан сервер с лицензией ISPmanager на 2 год. В настройках сопоставления периодов указано, что при заказе услуги на 2 года следует заказывать лицензию на 1 год. Срок действия лицензии подходит к концу, но основная услуга активна. Так как настроено сопоставление периодов заказа лицензий, то ISPmanager продлевается на 1 год.

Когда основная услуга не активная, лицензия не продлевается.

Изменение лицензии


Все операции, выполняемые с основной услугой в BILLmanager провайдера, выполняются и с лицензией в BILLmanager - сервере лицензий:

  • Остановка услуги вызывает остановку лицензии (если эта функция доступна провайдеру).
  • Включение услуги вызывает активацию лицензии. 
  • Удаление услуги вызывает удаление (освобождение) лицензии. 

Редактирование параметров основной услуги влияет на лицензию:

  • Изменение основного IP-адреса услуги. Если изменился основной IP-адрес услуги, то лицензия перезаказывается — текущая лицензия удаляется (освобождается) и заказывается новая на новый IP-адрес.
  • Отказ от лицензии. Если значение ресурса "Лицензия на панель управления" было изменено на "Без панели управления" или выбрана панель управления, не привязанная через идентификатор к тарифу лицензии ISPsystem - текущая лицензия удаляется (освобождается).
  • Заказ лицензии. При редактировании ресурса "Лицензия на панель управления" была выбрана панель управления, привязанная к тарифу лицензии ISPsystem (ранее лицензия не была заказана) — заказывается новая лицензия.
  • Изменение лицензии. Когда происходит изменение лицензии (при редактировании ресурса "Лицензия на панель управления" выбрана панель управления, привязанная к тарифу лицензии ISPsystem, при этом ранее была заказана другая лицензия) — текущая лицензия удаляется (освобождается), заказывается новая лицензия.

Удаление лицензии


При удалении лицензии она останавливается в BILLmanager - сервере лицензий и освобождается (возвращается в пул). Имя лицензии меняется на "free.lic", IP-адрес меняется на "0.0.0.0".