KeyStack 2024.1 Release Notes

KeyStack 2024.1.3

Upgrade Notes

  • Netbox обновлен до версии 3.68.1-02.

  • Добавлена возможность загрузки данных в Netbox из CSV-файлов.

Bug Fixes

  • Устранена ошибка, приводившая к несовместимости запросов 2.32 и docker-py. Подробности см. по ссылке.

KeyStack 2024.1.2

New Features

DRS

  • Клиент возвращает дополнительную информацию в случае возникновения ошибки.

  • Добавлена поддержка алгоритмов в конфигурации.

Admin UI

Добавлены новые страницы, таблицы и разделы.

  • Новые страницы:

    • Порты: страница конкретного порта и ссылка на нее из колонки ID.

    • Snapshots: отдельная страница в меню во вкладке "Ресурсы". Доступные список снимков таблицей, страница конкретного снимка по ID. Диалоговые окна действий "Изменение" (name, description) и "Удаление".

    • Users: новая страница со списком в таблице и фильтрами, кнопкой "Создать" и действиями "Редактировать", "Удалить", "Изменить пароль", "Сменить роль" с соответствующими диалоговыми окнами. Также по ID доступна страница конкретного пользователя.

    • Projects: новая страница со списком в таблице и фильтрами, кнопкой "Создать" и действиями "Редактировать" и "Удалить" с соответствующими диалоговыми окнами. Также по ID доступна страница конкретного проекта.

    • Roles: новая страница со списком в таблице и фильтрами, кнопкой "Создать" и действиями "Редактировать" и "Удалить" с соответствующими диалоговыми окнами. Также по ID доступна страница конкретной роли.

    • Volume types: страница со списком volume types в таблице, действиями "Edit" и "Delete" с соответствующими диалогами, а также кнопка "Создать" с диалогом.

  • Новые таблицы:

    • QoS: таблица со списком Quality of Service (QoS) на странице Volume Types с кнопкой "Создать" и действиями на удаление, а также редактирование, добавление и удаление spec, привязывание и отвязывание от типа тома.

    • Quality of Service: таблица сущностей на странице Volume Types с кнопкой "Создать" и действиями на удаление, а также редактирование, добавление и удаление spec, привязывание и отвязывание от типа тома.

  • Другое:

    • Title: заголовок вкладки браузера меняется в зависимости от нахождения на странице и выбранного региона.

    • Идентификация: новый раздел в левом меню с тремя страницами: Users, Projects, Roles.

Upgrade Notes

HA

Autoevacuator:

  • Изменена логика работы параметров alive_compute_threshold и dead_compute_threshold. Теперь подсчет и контроль этих параметров идет в рамках каждой зоны, а не всего региона.

Admin UI

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

  • Список ВМ:

    • Добавлена колонка discs. Колонки name и id поменялись местами. Из заголовка колонки "flavor:name" убрано ":name", в поле добавлено отображение RAM/vCPUs.

    • Для ВМ в статусе ERROR заблокированы действия, недоступные из-за статуса.

    • В диалоговом окне действия Resize добавлено RAM и CPU рядом с именем флейвора.

    • В диалоговом окне действия Attach interface выбор порта теперь происходит по имени; если его нет у порта, то по IP-адресу; если его тоже нет — по ID.

    • В диалоговых окнах действия Attach/Detach Interface/Volume вместо статуса disabled у выпадающих списков сделан эффект загрузки, пока не появился список.

    • В диалоговом окне действия Edit VM переименованы поля и убрана приставка "New ".

    • После выполнения операций действия Power management теперь через 2,5 секунды происходит вызов списка.

    • После выполнения операций действия Live migrate, Reset state теперь происходит вызов списка.

    • Всплывающее сообщение действия Live migrate изменено с "VM миграция запущена" на "Процесс живой миграции [server.name] инициирован".

    • Всплывающее сообщение действия Delete VM изменено с "ВМ удалена" на "Процесс удаления [server.name] запущен".

  • Создание ВМ:

    • Убран проект internal из доступных для выбора проектов.

    • Instance Name Options переименован в Instance Folder Options, оттуда убрано "Count VM".

    • Instance Name теперь предварительно заполняется дефолтным значением "test_vm_a1b2".

    • К именам созданных ВМ теперь добавляется суффикс с номером -n — например, test_vm_a1b2-1, test_vm_a1b2-2.

    • Созданный в диалоговом окне флейвор теперь выбирается автоматически.

    • Сеть с параметром shared=true теперь доступна для выбора вне зависимости от выбранного проекта.

    • Security Groups больше не является обязательным.

    • В Security Groups заменена галочка фильтра на выпадающий список (name, port) с текстом "Искать по" перед ним.

    • Для выбора теперь показываются только доступные гипервизоры (state != down, status != disabled).

    • При повторном нажатии на любую кнопку Options теперь выводится Summary.

  • Диски:

    • Добавлены колонки status и name.

    • Колонка attachments переименована в VM-name, в ней теперь выводятся server_name или — если он пустой — server_id.

    • В диалоговом окне действия Attach to server в списке серверов теперь выводится server_name вместо server_id.

    • Добавлено действие Retype volume, запускающее диалоговое окно выбора типа тома с параметром Migrate volume on retype.

    • Действие Change size теперь всегда доступно для нажатия вне зависимости от статуса диска.

    • Изменен текст всплывающих уведомлений действия Attach/Detach, а также добавлена валидация в диалоговом окне действия Attach.

  • Квоты: доступно редактирование поля trunk у Neutron.

  • Status Page: диаграммы "Бублики" перемещены и теперь отображаются как третья колонка к таблицам.

  • Гипервизор: на странице конкретного гипервизора добавлен заголовок с именем (и ошибкой в скобках при наличии) и кнопкой "назад".

  • Security Groups: раскрыта информация колонки rules — вместо их количества отображается каждое правило со всеми присутствующими параметрами.

  • Auth page: по умолчанию опция "Включить режим ReadOnly" выключена.

  • Порты:

    • Добавлена колонка vm_name в таблицу списком.

    • Вместо колонки network_id теперь network_name.

    • Ресурсы: tenant_id заменен на project_name в колонках таблиц списком.

    • Список ВМ, Диски, Порты: действия ("actions") и заголовки диалоговых окон переименованы на Attach/Detach interface/volume to/from server.

  • Левое меню:

    • Добавлен отступ по бокам на всех страницах, который убирается при открытии левого меню. Контент более не расширяется при закрытии левого меню.

    • Добавлен логотип на верхнюю часть левого меню, чтобы заменить логотип заголовка.

  • Выпадающие списки:

    • Добавлен эффект загрузки выпадающих списков, пока ожидается список сущностей.

    • Все выпадающие списки теперь переворачивают свою иконку стрелки при раскрытии.

  • 404: создана страница ErrorPage, которая показывается вместо пустой страницы.

Дополнительные улучшения:

  • URL-адрес: изменен URL-адрес страницы Консоль ВМ с "/virtual-machines/remote-console/[server_id]" на "/virtual-machines/[server_id]/remote-console".

  • Создание ВМ:

    • Изменен формат отправки ВМ, image=null, у первого volume добавлен параметр boot_index="0".

    • Поле hostname больше не передается вместе с запросом создания.

  • Квоты: изменен формат отображения квот cinder volume types — теперь они отображаются по группам. Также изменен формат запросов на сервер: volume_type_quotas — отдельное поле с массивом квот для каждого типа.

  • Всплывающие уведомления: доработан метод показа сообщения об ошибке и добавлен message в текст ошибки.

  • Код:

    • Версия библиотеки UI-компонентов PrimeReact обновлена с 8 на 10. Есть изменения в дизайне, шрифте, отступах, цветах, часть приведена к старому образцу, а часть осталась измененной.

    • CSS-фреймворк заменен с PrimeFlex на Tailwind, внешний вид приведен к старому образцу с небольшими изменениями.

    • Внедрена CSS-модульность для изоляции стилей разных компонентов на страницах.

    • Библиотека управления данными хранилища заменена с Redux на Redux Toolkit.

    • Внедрена библиотека RTK Query для более оптимизированных запросов на сервер.

    • Изменено поведение отрисовки страниц, уменьшено количество лишней перерисовки за счет использования кэша React.memo.

    • Проведен рефакторинг компонентов, страницы вынесены как отдельные компоненты, а компоненты переименованы для упрощения импорта.

Bug Fixes

DRS

  • Устранена ошибка, вызванная тем, что клиент удалил конечную "1" из эндпоинта DRS, что выглядело так: "127.0.0.1:8081" → "127.0.0.1:808".

HA

Autoevacuator:

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

Admin UI

  • ВМ Папки:

    • Использование списка available_flavors при resize теперь такое же, как на странице без папок.

    • Цвет кнопки "Применить" у диалога действия Edit сделан зеленым, как в других диалогах.

  • Создание ВМ:

    • Выбранное значение теперь не сбрасывается после получения списка от сервера.

    • Сделан уникальным ключ для отрисовки списков, из-за которого возникало предупреждение в консоли.

    • Устранена ошибка, из-за которой образ отмечался галочкой в правом меню, даже когда еще не был выбран.

  • Квоты: устранена ошибка у Neutron и Nova, из-за которой в диалоге редактирования не показывались лимиты квот, равные 0.

  • Status Page: исправлено поведение в ситуации overcommit. Все, что используется сверх нормы, отображается более красным цветом с надписью "Перегружено x".

  • Security Groups: в диалоговом окне действия Delete кнопки сделаны по образцу других диалоговых окон удаления.

  • Drs Configs: при создании и редактировании для metric weight cpu/mem теперь допустимо использовать дробные значения.

  • Ресурсы:

    • В диалоговых окнах действия Edit переименовано из "Редактировать" в "Применить".

    • Фильтры теперь сохраняют заполненные значения при изменении их количества в выпадающем списке.

    • Выбранный регион больше не применяется, если его уже нет в списке регионов.

KeyStack 2024.1.1

New Features

Installer

  • В состав инсталлятора добавлены образа Ubuntu 22.04 и SberLinux 9.2 c поддержкой mdraid.

Upgrade Notes

Installer

  • Обновлена версия GitLab до 16.8.2.

  • Обновлена версия Hashicorp Vault до 1.15.5.

  • Обновлена версия Sonatype Nexus до 3.65.0-02.

  • Обновлена версия Netbox до 3.7.2-2.8.0.

  • Обновлена версия Postgres до 1.17.

  • Пересобраны остальные компоненты.

  • В дамп для Netbox добавлен новый тег sw_raid для установки ОС на soft raid1.

Bug Fixes

Installer

  • Исправлена ошибка в пайплайне установки Bifrost.

KeyStack 2024.1

New Features

Installer

  • Обновлен образ с IPA до версии 2023.1.

  • Удален компонент веб-страницы с данными текущей конфигурацией облачной платформы.

  • Добавлена поддержка SberLinux 9 в пайплайн сборки архива инсталлятора, бандла Nexus.

  • Добавлены docker-контейнеры LCM, собранные под Ubuntu 22.04 и SberLinux 9.2.

DRS

  • Начиная с текущей версии, для операций создания и обновления конфигурации не требуется подавать все атрибуты конфигурации в HTTP-запросе. Из всех атрибутов конфигурации обязательным является только "name". Опциональные атрибуты получают значения по умолчанию, если они не указаны.

  • Возможно применение всех рекомендаций для определенной оптимизации. Для этого необходимо указать "optimization_id" в теле HTTP POST-запроса в "/migrations". В ответе сервиса возвращается список запущенных миграций.

  • В группу конфигурации "database" добавлена опция "sql_debug", которая регистрирует все SQL-операции DRS.

  • Гипервизор/виртуальная машина исключаются из оптимизации, если для них нет метрик. При этом в журнале записывается сообщение об ошибке.

  • Атрибут оптимизации "metrics" заполняется необработанными метриками. Ранее этот атрибут всегда был пустым.

HA

Autoevacuator:

  • Добавлен циклический фенсинг. Фенсинг и эвакуация неисправных вычислительных узлов теперь применяются в периодическом цикле проверки узлов до тех пор, пока администратор не сбросит disabled_reason.

Admin UI

Добавлена мультирегиональность, новая страница Flavors, а также различные действия (actions) с ВМ, дисками, портами, гипервизорами.

  • Мультирегиональность: в верхнем меню интерфейса теперь доступен выпадающий список, где можно выбрать регион для отправки всех API-запросов. По умолчанию выбирается первый регион из списка. Данные о выбранном регионе хранятся в localstorage. При смене региона обновляется вся страница.

  • Авторизация: добавлен выпадающей список доменов на странице авторизации (опционально). Если не выбрать домен, будет выбрано значение "default".

  • Flavors: новая страница для флейворов (flavors) в левом меню в списке ресурсов.

    • Доступно создание флейвора с добавлением необходимых параметров extra_specs.

    • Доступна таблица списка флейворов и их сортировка по имени.

    • Доступно действие "Редактировать", открывающее диалоговое окно изменения значений для description и extra_specs.

    • Доступна страница конкретного флейвора со всеми параметрами.

  • Гипервизоры: добавлены действия Enable/Disable maintenance mode, запускающие соответствующие события. Disable доступно при disable_reason='maintenance mode', иначе будет предложено Enable.

  • Список ВМ:

    • Добавлено действие Live migrate, открывающее диалоговое окно с выбором гипервизора. Действие запускает живую миграцию ВМ на выбранный гипервизор.

    • Добавлено действие Edit VM, открывающее диалоговое окно, где можно менять значения для следующих параметров ВМ: name, description и hostname.

    • Добавлено действие Power management, которое открывает доступ к четырем действиям для ВМ: Power on, Shutoff, Soft/Hard reboot.

    • Добавлены действия Attach/Detach interfaces и соответствующие диалоговые окна. Для Detach необходимо выбрать порт (port) среди портов с device_id выбранной ВМ. Для Attach необходимо либо выбрать существующий порт среди портов с параметром device_id='', либо создать новый, выбрав проект (по умолчанию выбран проект ВМ), сеть и фиксированный IP (опционально).

    • Добавлены действия Attach/Detach volumes с соответствующими диалоговыми окнами и функциями. Для Attach можно выбрать только диски, не привязанные к серверам (пустой список attachments). Для Detach можно выбрать один из привязанных томов (volume) с параметром booted='false'.

  • Порты: добавлено действие Attach/Detach to/from server. Attach открывает диалоговое окно с выбором сервера (server). Действие доступно при параметре device_id=''. Detach работает при параметре device_id!='' и доступно только для ВМ с параметром device_owner='compute:nova'. Действие открывает подтверждающее диалоговое окно.

  • Диски:

    • Добавлено действие Attach/Detach server. Attach server доступно, если нет вложений (attachments), и оно открывает диалоговое окно выбора сервера для прикрепления. Detach server доступно, когда есть вложения и указан параметр bootable=false, и это действие открывает диалоговое окно подтверждения.

    • Добавлено действие Resize, запускающее диалоговое окно, которое позволяет изменить размер диска в большую сторону.

    • Добавлено действие Delete, запускающее подтверждающее диалоговое окно.

Kolla

  • Добавлена поддержка BGP для OVN.

  • Добавлены следующие контейнеры:

    • bird

    • frr

    • ovn-bgp-agent

  • В настоящее время поддерживается только базовый дистрибутив Ubuntu.

Kolla-ansible

  • Добавлен новый компонент prometheus-alertmanager-hpsm, который позволяет отправлять уведомления из alertmanager в Zabbix.

  • Добавлена поддержка noVNC TLS. Чтобы ее включить, добавьте параметр "yes" в глобальные параметры региона nova_qemu_vnc_tls.

Upgrade Notes

DRS

  • Изменен формат ответа HTTP POST-запроса на "/migrations". Теперь он всегда отвечает списком миграций, даже если присутствует только одна миграция.

  • Операции создания и обновления сущности "job" теперь возвращают все атрибуты "job" из базы данных.

Admin UI

  • Гипервизоры:

    • Переделан диалог отключения сервиса (действие Disable Sevrice). Причина отключения обязательна для указания, добавлено значение по умолчанию "disabled from admin ui", а также изменены стили отображения.

    • В таблице у статуса теперь в скобках показывается значение disabled_reason.

    • При эвакуации (действие Host Evacuate Live) во всплывающем сообщении отображается количество эвакуированных и нетронутых ВМ.

  • Создание ВМ: у обязательных полей до их заполнения отображаются синие звездочки.

  • Список ВМ:

    • При изменении ресурсов ВМ (resize) список флейворов для выбора в диалоговом окне берется из флейворов, доступных для данной ВМ, а не из всех флейворов.

    • Переделано меню actions. Теперь доступна вложенность, а также изменился цвет текста при наведении на синий.

  • Порты: добавлен параметр device_owner в таблицу, который отображается в скобках колонки device_id.

  • DRS Board: добавлена кнопка применения всех рекомендаций.

Bug Fixes

Installer

  • Дополнен данными дамп БД Netbox с демонстрационными данными.

DRS

  • Устранен сбой оптимизации, когда опция "исключение из DRS" была включена и некоторые виртуальные машины не были исключены после проведения фильтрации этой опцией.

  • Устранена ошибка, когда все параметры подключения к базе данных (кроме DB URI) из файла конфигурации не применялись, а вместо этого применялись значения по умолчанию.

  • Исправлены неточные данные для всех объектов DRS, связанных с пользователями и временными метками — в частности, атрибуты "created_user", "updated_user", "created_at", "updated_at", "started_at", "ended_at" и т. д.

  • Удалены устаревшие параметры из файла конфигурации. Эти параметры не применялись в DRS и мешали работе пользователя.

  • Исправлена сортировка и фильтрация для всех операций "GET" и "LIST".

  • API-методы создания и обновления сущности "job" возвращают все атрибуты "job" из базы данных.

  • Когда DRS возвращает сообщение об ошибке, DNS-клиент показывает HTTP-код и сообщение, тогда как раньше предоставлялся только HTTP-код ошибки.

  • Для "optimization" удалено несуществующее поле "updated_at".

HA

Autoevacuator:

  • Теперь disabled_reason каждого вычислительного узла содержит не просто общую статистику по эвакуированным ВМ, а статистику, сегрегированную по хостам.

Admin UI

  • Status Page:

    • Добавлена анимация загрузки таблицы nodes statuses, пока идет запрос. Ранее отображалось сообщение "No results found".

    • Теперь статус disabled у агентов отмечается как ошибочный и выделяется красным цветом, в то время как статус enabled отображается как работающий и поэтому не выделяется красным цветом.

  • Создание ВМ:

    • При импорте ключа во время создания ВМ теперь можно сразу использовать ключ либо выбрать его из списка.

    • При создании флейвора теперь можно убирать поле extra_specs. Кроме того, добавлена валидация на обязательные поля.

  • Список ВМ: в диалоговом окне действия Delete VM после подтверждения удаления кнопка блокируется до ответа сервера.

Kolla-ansible

  • Устранены проблемы с ролью AdminUI для версии 2024.1.

  • Удалены некоторые переменные и добавлены новые переменные.

  • Добавлен новый файл конфигурации для AdminUI нескольких регионов.

  • Устранены проблемы с ролью DRS. Обновлены среды для DRS.

  • Отключен tls_backend для DRS в версии 2024.1.

  • Исправлена restart_policy в oneshot для bootstrap drs.