KeyStack 2024.1.2 Release Notes
===============================

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 переименовано из "Редактировать" в "Применить".
   -  Фильтры теперь сохраняют заполненные значения при изменении их количества в выпадающем списке.
   -  Выбранный регион больше не применяется, если его уже нет в списке регионов.