Проблема
При создании виртуальной машины (ВМ) из ранее созданного образа возникают следующие ошибки:
#1111Handler throw uncaught exception: vm/host stoi: no conversion;#5111Проверка репозитория завершилась неудачно.
Причина
Некорректное поведение вызвано ошибкой в коде платформы. Ошибка исправлена в версии 2026.03.1.
Проблема возникает, когда ВМ создаётся из образа на основе:
- ВМ без установленной ОС (NoOS);
- ВМ с ОС, запись о которой помечена как
deletedв базе данных (БД) платформы.
Диагностика
Чтобы подтвердить причину проблемы:
- Убедитесь, что в веб-интерфейсе присутствует одна из указанных ошибок:
#1111 Handler throw uncaught exception: vm/host stoi: no conversion#5111 Проверка репозитория завершилась неудачно - Проверьте, из какого образа создана ВМ. Проблема подтверждается при наличии одного из следующих признаков:
-
исходный образ был получен с ВМ, у которой отсутствует ОС (NoOS). Чтобы проверить:
- Перейдите в раздел Виртуальные машины и выберите ВМ, из которой создавался образ.
- Проверьте столбец ОС/Конфигурация. Если в нём указано NoOS, признак проблемы подтверждён.
- ОС удалена из БД платформы. Проверьте, ссылается ли образ на удалённую запись об ОС:
- Подключитесь к серверу с платформой по SSH. Подробнее о подключении по SSH см. в статье Настройка рабочего места.
-
Подключитесь к БД:
Вмешательство в базу данных предполагает потенциальный риск. Мы не рекомендуем вносить ручные правки в базу, поскольку это может нарушить корректную работу платформы.
Перед внесением изменений в БД создайте резервную копию платформы.
В связи с поэтапным переходом платформы на использование СУБД PostgreSQL, разные экземпляры VMmanager могут использовать разные СУБД.
Платформа использует PostgreSQL:
- во всех новых установках, начиная с версии 2026.03.1;
- в установках VMmanager Infrastructure на сервере с ОС Astra Linux, начиная с версии VMmanager 2023.06.1.
В остальных случаях платформа использует MySQL. Смена СУБД при обновлении платформы не выполняется.
Чтобы определить тип СУБД, выполните на сервере с платформой команду:
docker ps --filter name=pgsqlПример ответаCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3213c5dc94d0 postgres:12 "docker-entrypoint.s…" 5 days ago Up 4 days 5432/tcp pgsqlЕсли вывод команды содержит информацию о контейнере, платформа использует PostgreSQL, если ответ пустой — MySQL.
MySQLdocker exec -it mysql bash -c "mysql isp -p\$MYSQL_ROOT_PASSWORD"PostgreSQLdocker exec -it pgsql bash -c "psql -d isp" - Выполните запрос:
select state from vm_os where id = <id os>Пояснения:
<id os>— ID ОС, на которую ссылается образ.
Пример вывода|state | deletedПризнак проблемы: в выводе отображается значение
deleted.
-
Решение
Чтобы решить проблему, обновите платформу до версии 2026.03.1 или выше по инструкции в статье Обновление.