Рецепты: указания по обновлению BILLmanager для реселлеров

В ближайшее время изменится принцип работы шаблонов, и для тарифов добавится новая сущность — рецепты. Рецепт — это набор ПО, устанавливаемый на виртуальную машину после её запуска и установки шаблона. Шаблоны операционных систем со встроенным ISPmanager упраздняются, а панель управления теперь устанавливается через рецепт.

Внимание! Статус этой статьи — черновик. Прочитайте для ознакомления с темой, но не применяйте указания на практике. Рабочая информация появится до конца недели (25 сентября).

Как нововведение повлияет на реселлеров? Реселлеры могут продолжать работу, как раньше. Вам будут доступны старые тарифы и шаблоны — без рецептов. Старые шаблоны больше не будут обновляться.

Чтобы перейти на новые шаблоны и тарифы, необходимо обновиться. Если вы используете:

  • собственный BILLmanager — необходимо обновиться до бета-версии и синхронизировать тарифы
  • собственный сайт — в некоторых случаях требуется обновить сайт (подробнее дальше в письме)
  • только биллинг FirstVDS (продаете вручную) — никаких действий не требуется, прочитайте только раздел «Что изменится в заказе сервера»

Что изменится в заказе сервера

В BILLmanager изменения отобразятся только на одном шаге — шаге конфигурации сервера. Поле «Шаблоны» теперь называется «Операционная система» и содержит образы только чистых операционных систем — без дополнительного ПО.

Также появляется поле «Предустановленное ПО» — это и есть рецепты. Здесь можно выбрать панель ISPmanager, набор LAMP и другие популярные платформы. Выбранное ПО уже будет установлено на сервере к моменту начала работы. Если оставить поле пустым, то получите «чистую» операционную систему.

Новое поле при заказе сервера

Изменения коснутся только новых заказов, для уже работающих серверов ничего не поменяется.

Если вы перепродаете серверы в ручном режиме, то это вся информация об изменениях, которую вам необходимо знать. Читайте дальше, если используете собственный BILLmanager и/или собственный сайт для продажи услуг.

Обновление собственного BILLmanager

Чтобы без перебоев в работе перейти на новую версию BILLmanager, необходимо выполнить ряд действий в порядке, описанном ниже. Если у вас нет root-доступа к серверу с BILLmanager или у вас возникнут какие-либо затруднения — обращайтесь в поддержку FirstVDS.

План действий:

  • Обновить BILLmanager до последней бета-версии
  • Синхронизировать тарифы
  • Обновить сайт

Обновите BILLmanager

Если вы используете собственный BILLmanager, то необходимо обновить его, чтобы «научить» работать с рецептами. Выполнить обновление можно уже сейчас. Если не обновить BILLmanager до ____, то заказы на открытие VDS перестанут обрабатываться.

1. Перейдите с ветки stable на beta
Измените содержимое файла /usr/local/mgr5/etc/repo.version, заменив слово stable на beta.

2. Обновите лицензию
Выполните в консоли команду /usr/local/mgr5/sbin/licctl fetch billmgr

3. Скачайте инсталлирующий скрипт
wget "http://cdn.ispsystem.com/install.sh"

4. Выполните установку последней бета-версии с параметрами. На момент написания последняя версия — 5.70. Уточните последнюю версию у поддержки, если будете обновляться после 30 августа 2016 года.
sh install.sh --noinstall --release 5.70

5. Обновите пакеты системы
yum update

Готово! Вы обновились до бета-версии, и теперь ваш BILLmanager поддерживает рецепты.

Синхронизируйте тарифы

Синхронизировать тарифы необходимо, чтобы добавить к существующим в вашем BILLmanager тарифам новую информацию: обновлённый список шаблонов, список рецептов, совместимость рецептов и шаблонов.

Внимание! Синхронизировать тарифы прямо сейчас не надо. Синхронизацию следует произвести <конкретная дата-время>. Раньше этой даты обновленные тарифы не будут доступны публично, и процесс пройдет вхолостую. После обозначенного времени синхронизацию следует сделать как можно скорее, т.к. заказы старых тарифов перестанут обрабатываться биллингом FirstVDS — очередь на открытие будет расти, но серверы открываться не будут. После синхронизации проверьте настройки каждого тарифа, убедитесь, что всё в порядке.

Для обновления тарифов используйте команду:
/usr/local/mgr5/sbin/mgrctl -m billmgr pricelist.sync elid=<id тарифа>

Запустите команду для каждого своего тарифного плана, подставляя в качестве elid идентификатор тарифа.

Как узнать идентификатор тарифа elid? Откройте ПродуктыТарифные планы, значение в столбце Id и будет идентификатором тарифа. Возможно, столбец не отображается. Тогда откройте настройки таблицы и включите столбец Id.

Идентификатор тарифа (elid)
Кнопка настроек таблицы
Показывать столбец Id в таблице

Обновите сайт

В некоторых случаях потребуется обновить сайт, чтобы обеспечить безошибочную работу после обновления.

В каких случаях НЕ нужно обновлять сайт (всё будет работать и после обновления):

  • После заказа на сайте вы отправляете клиента в BILLmanager на шаг настройки сервера БЕЗ каких-либо предустановленных настроек сервера, отличающихся от стандартных (процессор, память, диск, шаблон ОС). Разные конфигурации у вас представлены разными тарифами.

В каких случаях придется обновить сайт:

  • Разные конфигурации на сайте представлены специальными ссылками в BILLmanager с предустановленными нестандартными параметрами тарифа (процессор, память, диск, шаблон ОС)
  • Настройка параметров сервера прямо на сайте (использование pricelist.export)

Рассмотрим каждый из случаев более подробно чуть ниже, а пока немного теории. Информация ниже предназначена для разработчиков.

Раньше информация об ОС и наличии панели управления извлекалась из названия шаблона: Debian-8-amd64-ispmgr5. Разбор строки давал название ОС Debian-8-amd64 и наличие панели -ispmgr5. После обновления за наличие панели будет отвечать отдельный параметр recipe.

Шаблон отвечает только за выбор операционной системы, шаблонов с суффиксом -ispmgr5 больше не будет. Пример названия шаблона после обновления:
ostempl=ISPsystem__CentOS-7-amd64

Пример параметра recipe с установленной панелью:
recipe=ISPsystem__ispmanager.sh

Покупка на сайте тарифа с нестандартными параметрами

После заказа на сайте вы отправляете клиента в BILLmanager на шаг настройки сервера, где уже предустановлены параметры (диск, память, процессор). Для формирования заказа вы, скорее всего, используете специальные ссылки:

https://my.firstvds.ru/billmgr?clicked_button=order&datacenter=6&itemtype=&period=1&pricelist=14105&progressid=false&skipbasket=&snext=ok&stylesheet=&startform=vds.order.param&recipe=null

Если вы не задаете определенный набор предустановленного ПО, то необходимо задать параметр recipe=null как в примере выше. Чтобы клиент заказал сервер с предустановленной панелью задайте параметр recipe=ISPsystem__ispmanager.sh.

Настройка тарифа прямо на сайте

Для реализации на сайте подобной функциональности вы должны использовать API для получения данных из BILLmanager — pricelist.export.

Параметр тарифа, отвечающий за набор шаблонов, остался тем же: ostempl. Добавился новый параметр, отвечающий за предварительную установку ПО на сервере: recipe.

Совместимость шаблонов и рецептов

Не с любым шаблоном можно заказать панель управления. Например, Windows не поддерживается панелью управления ISPmanager. Для проверки соответствия рецепта шаблону используются теги — параметры шаблонов и рецептов.

Например, шаблон имеет теги:
tag: "debian, lic_ISPmanager_5_Lite, linux"

Рецепт с панелью управления ISPmanager имеет теги
tag: "centos, debian, lic_ISPmanager_5_Lite, linux"

Рецепт считается совместимым с операционной системой в том случае, если у обоих параметров имеется как минимум один одинаковый тэг. В данном случае, совпадение произошло по тэгу debian — ОС и рецепт подходят друг другу и могут использоваться вместе.

Дополнительные материалы: