База знаний VMmanager
Режим фокусировки

После обновления до версии 2026.02.2 и выше платформа не работает

Проблема

После обновления платформы до версии 2026.02.2 и выше наблюдаются следующие симптомы:

  • веб-интерфейс платформы не открывается;
  • контейнер vm_box постоянно перезагружается.

Причина

Начиная с версии 2026.02.2 изменилась архитектура платформы — добавлен контейнер vm_back. Поэтому шаблоны конфигураций некоторых сервисов были перенесены из контейнера vm_box в новый контейнер vm_back. Например, шаблон настройки ip-fabric. Проблема возникает из-за кастомных патчей (YAML-файлов), которые ссылаются на файлы в контейнере vm_box. Это приводит к тому, что контейнер vm_box не может корректно запуститься и постоянно перезагружается. Подробнее о патчах см. в статье Модификация контейнеров через патчи.

Диагностика

Чтобы подтвердить причину проблемы:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Проверьте состояние контейнера vm_box:
    docker ps --format "table {{.Names}}\t{{.Status}}" | grep vm_box
    Пример вывода
    vm_box   Restarting (2) 7 seconds ago

    Признак проблемы: статус контейнера vm_box указывает на его постоянную перезагрузку (Restarting).

  3. Проверьте логи контейнера vm_box:

    docker logs -n 10 vm_box
    Пример вывода
    sed: can't read /opt/ispsystem/vm/scripts/kvm/etc/frr_routereflector_bgpd.tmpl: No such file or directory

    Признак проблемы: в логах контейнера присутствуют ошибки о недоступности файлов или директорий, которые были перенесены в контейнер vm_back.

  4. Проверьте наличие кастомных патчей:
    1. Откройте конфигурационный файл платформы:
      cat /opt/ispsystem/vm/config.json
    2. Изучите секцию Patches. В ней указаны все патчи, включая кастомные.

      Пример вывода
      "Patches":{"channelp":{"base64_compose":"c2VydmljZXM6CiAgdm1fYm94OgogICAgZVfVElNRU9VVDogMC4zCg=="}

      Примеры названий системных патчей:

      • для модуля «Интеграция с DNSmanager 6» — vmdnsmgr;
      • для модуля «Интеграция с IPmanager 6» — vmipmgr.

      Признак проблемы: в конфигурации присутствуют патчи с именами, не входящими в список системных патчей (например, channelp, ip-fabriс).

  5.  Декодируйте содержимое кастомного патча:

    echo <base64_код> | base64 -d
    Пример команды
    echo c2VydmljZXM6CiAgdm1fYm94OgogICAgZVfVElNRU9VVDogMC4zCg== | base64 -d
    Пример вывода
    services:
      vm_box:
        command:
          - bash
          - -c
          - sed -i -E "s/(neighbor fabric capability extended-nexthop)/\1\n neighbor fabric ebgp-multihop 255/;s/(neighbor fabric route-map IPV4_EXPORT out)/\1\n neighbor fabric route-map IPV4_IMPORT in/;s/(neighbor fabric route-map IPV6_EXPORT out)/\1\n neighbor fabric route-map IPV6_IMPORT in/;s/(route-map IPV4_EXPORT permit 5)/route-map IPV4_IMPORT permit 5\n\!\n\1/;s/(route-map IPV6_EXPORT permit 5)/route-map IPV6_IMPORT permit 5\n\!\n\1/" /opt/ispsystem/vm/scripts/kvm/etc/frr_routereflector_bgpd.tmpl && /supervisor.sh

    Признак проблемы: в секции services указан контейнер vm_box.

  6. Проверьте функциональность патча. Например, проблема подтверждается, если наблюдаются следующие события:
    • патч редактирует файл в контейнере vm_box, но этого файла в контейнере больше нет;
    • патч копирует файл в контейнер vm_box, но файл перестал копироваться.

Решение

Чтобы решить проблему, замените в кастомном патче контейнер vm_box на vm_back:

  1. Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
  2. Отключите целевой патч:
    vm remove-patch -p=<patch_name>

    Пояснения к команде:

    • <patch_name> — название патча из config.json.
  3. Отредактируйте файл патча:
    1. Откройте файл патча. Он находится в директории /opt/ispsystem/vm/ и имеет название вида patch_*****.yaml.
    2. В секции services замените контейнер vm_box на vm_back.
      Пример патча после изменений
      version: "3.5"
      services:
        vm_back:
          command:
            - bash
            - sed -i -E "s/(neighbor fabric capability extended-nexthop)/\1\n neighbor fabric ebgp-multihop 255/;s/(neighbor fabric route-map IPV4_EXPORT out)/\1\n neighbor fabric route-map IPV4_IMPORT in/;s/(neighbor fabric route-map IPV6_EXPORT out)/\1\n neighbor fabric route-map IPV6_IMPORT in/;s/(route-map IPV4_EXPORT permit 5)/route-map IPV4_IMPORT permit 5\n\!\n\1/;s/(route-map IPV6_EXPORT permit 5)/route-map IPV6_IMPORT permit 5\n\!\n\1/" /opt/ispsystem/vm/scripts/kvm/etc/frr_routereflector_bgpd.tmpl && /supervisor.sh
  4. Подключите исправленный патч:
    vm add-patch -p=<patch_name> -f=</path/to/patch.yaml>

    Пояснения к команде:

    • <patch_name> — название патча из config.json;
    • </path/to/patch.yaml> — путь к файлу с содержимым патча.
  5. Если кастомных патчей несколько, повторите инструкцию для каждого патча.
Может быть полезно