KeyStack 2025.1 Release Notes ============================= New Features ------------ AdminUI ~~~~~~~ - Переработана страница **ВМ**: добавлены вкладки, добавлены новые данные, связанные с ВМ (логи ВМ, таблица Volumes по ВМ, таблица Ports по ВМ). - В списке ВМ действие **Revert boot volume to latest snapshot** теперь не доступно, если оно невозможно. - Переработано удаление серверов. Добавлен параметр ``cascade`` для удаления сервера вместе с дисками и снапшотами. - Диски: в диалоговом окне создания диска поле **Project** сделано обязательным для выбора. - Диски: добавлена возможность создать снапшот диска если его статус "in-use", в этом случае выдаётся предупреждение, что снапшот диска будет создан принудительно и потенциально может привести к испорченному снапшоту. - Security groups. В действии **Редактировать** при создании правила группы безопасности теперь доступны вкладки **Security group / IP prefix**. Это позволяет создавать версию правила, которая будет проверять что пакет идет от порта, включенного в данную SG. - Security groups. В действии **Редактировать** в таблице правил групп безопасности изменен заголовок колонки с **Remote ip prefix** на **Security group / IP prefix**. Значение в данной колонке стало динамическим и зависит присутствия значений в полях ``remote_group_id`` / ``remote_ip_prefix``. - Key pairs. Добавлена новая страница. На ней можно создать пару ключей аналогично диалогу при создании ВМ. В таблице показан список пар ключей и их параметры: name, type, fingerprint, а также кнопка для копирования public key в буфер обмена. - Гипервизор. Переработана страница: добавлены вкладки, добавлены новые данные, связанные с гипервизором (Containers, Packages, Processes, System, Logs, VMs). - Папки ВМ. Страница убрана из левого меню, функционал перенесен на страницу **Список ВМ**. - Глобальный проект, Ресурсы, Квоты. В выпадающих списках выбора проекта заменено использование списка всех проектов на список доступных пользователю проектов. - Config NTP. Добавлено меню для управления запуском и остановкой пайплайна, аналогичное странице **Inventory**, но с запуском пайплайна для NTP. - Добавлены единицы измерения на графиках (Гипервизоры, ВМ) - Добавлен ретрай миграции в случае ошибки при переходе в Maintenance Мode. - Добавлена поддержка mTLS. - Реализован переход с Apache mod_wsgi (WSGI) на gunicorn + uvicorn (ASGI). - Оптимизированы async запросы. - Реализован переход с Memcache на Redis. - Добавлены unit-тесты. - Добавлен log rotation. HA ~~~ - Теперь логика работы ограничителя ``dead_compute_threshold`` считает такими как **dead** узлы, так и узлы в **Maintenance Mode**. - Зависимости подсистемы обновлены до актуальных версий релиза OpenStack Caracal. - Ввод узла в **Maintenance Mode** после успешной эвакуации всех ВМ теперь выполняется тем же способом, что и из AdminUI: через выставление значения в поле ``admin_state`` гипервизора. - Добавлена поддержка подстановки клиентских TLS сертификатов для запросов в смежные системы: OpenStack API, IPMI, Redfish, Prometheus, Alertmanager, Consul. - В случае выставления новой опции ``fence_failed_bond`` в значение ``True`` при обнаружении отказавших в течение длительного времени сетевых bond-ов, вычислительный узел подвергнется основному алгоритму фенсинга и эвакуации. - Формат конфигурации необратимо изменён с **JSON** на **oslo.config**, добавлена поддержка **Castellan**. - Для опции конфигурации ``power_fence_mode`` добавлено третье допустимое значение ``shutdown``. Логически это режим ``soft-poweroff``. Добавлена опция ``power_check_timeout`` (в секундах), по истечению которой в догонку ``shutdown`` будет отправлена команда ``poweroff``, если узел не успел выключиться. - Поле ``admin_state`` гипервизора добавлено в информационные логи сервиса HA. DRS ~~~ - Изменена логика усреднения метрик в случае работы с регионом с несколькими зонами доступности: средние величины для алгоритма **equal_hypervisors_load** вычисляются внутри каждой отдельной зоны доступности. - Добавлена поддержка HugePages. Реализована поддержка регионов, использующих только HugePages для размещения памяти ВМ. Смешанные регионы не поддерживаются. - Добавлена поддержка подстановки клиентских TLS сертификатов для запросов в смежные системы: OpenStack API, Prometheus, Alertmanager, MariaDB. - В API-endpoint текущего статуса планировщика добавлено поле ``scheduler_status`` в тело сущности ``job``, информирующее о ситуациях блокировки задач друг другом. - Зависимости и код подсистемы обновлены до актуальных версий релиза OpenStack Caracal. - Добавлен log rotation. OpenStack ~~~~~~~~~ - Все компоненты обновлены до версий релиза Caracal. - Nova: теперь API обновления ``admin_state`` можно вызвать атомарно вместе с изменением ``disabled/disabled_reason``. - Nova и Cinder: добавлена поддержка SDS 1.3. - Nova: для команды эвакуации реализована обработка флага ``preserve_ephemeral``, позволяющая отменять эвакуацию ВМ, загрузочный диск которых эфемерен и не расположен на распределённом хранилище. - Nova: реализован **Prometheus Weigher** для планирования старта ВМ с учётом реальной (а не ёмкостной) нагрузки на гипервизоры. Monitoring ~~~~~~~~~~ - Добавлена возможность включения авторизации при подключении к компонентам VictoriaMetrics. - Добавлена переменная ``enable_central_monitoring``, отвечающая за включение/выключение репликации метрик в систему централизованного мониторинга. - Добавлены правила алертов для мониторинга ошибок на OVS-интерфейсах. - Добавлены правила алертов для мониторинга появлений в лог-файлах событий, относящихся к недоступности RabbitMQ-сервера и к аварийному завершению QEMU-процессов. - Добавлены правила алертов для мониторинга участников кластера Consul. - Добавлен экспортёр для сбора метрик состояния сервиса Bird. - Добавлены правила алертов для мониторинга состояния сервиса Bird. - Добавлена поддержка нового libvirt exporter. - Добавлена поддержка нового haproxy exporter. Upgrade Notes ------------- - При обновлении **ks2024.4** → **ks2025.1** необходимо запустить пайплайн с аргументом: ``KOLLA_ANSIBLE_DEPLOY_ACTION``: ``rabbitmq-upgrade 3.12``. ВАЖНО! действие необходимо выполнить на версии **ks2024.4.x** ДО обновления версий релиза в конфигурационных файлах. - В **inventory** региона нужно добавить новые группы:: [prometheus-hypervisor-exporter:children] compute [victoriametrics:children] monitoring [systemd-dependencies:children] control compute network - Из **inventory** региона убрать следующие группы:: chrony* rally* prometheus-rally-exporter sahara* vitrage* solum* murano* freezer* senlin* monasca* prometheus-haproxy-exporter informer* limiter* - Если в регионе активен сервис Octavia, то нужно из папки ``config/octavia`` репозитория региона в GitLab перенести содержимое следующих двух файлов в директорию **deployments / / / ssl_certificates** в Vault: - содержимое ``server_ca.cert.pem`` перенести в ``octavia_cert_server``; - содержимое ``client_ca.cert.pem`` перенести в ``octavia_cert_client``. - Обновление с версии **ks2024.4.x** на **ks2025.1** необходимо производить действием ``upgrade``: ``KOLLA_ANSIBLE_DEPLOY_ACTION``: ``upgrade`` Monitoring ~~~~~~~~~~ - Переменная ``prometheus_central_url`` заменена на ``central_monitoring_url``. - Переменная ``enable_prometheus_backend_victoriametrics`` заменена на ``prometheus_use_victoriametrics_as_backend``. Bug Fixes --------- AdminUI ~~~~~~~ - Гипервизоры: исправлена работа Disable Fence Mode. - Исправлена работа API-эндпоинта загрузки образов. - Исправлено значение настроек NTP по умолчанию. - DRS-рекомендации теперь возвращаются отсортированными согласно запросам от frontend. - Ограничена возможность указывать неподдерживаемые политики при создании групп серверов. - Восстановлена возможность изменения зоны доступности для ВМ. - Status page: таблице Nodes Statuses исправлено отображение статуса ``is_fenced``. - Квоты: исправлен показ других квот; если выбранные не удалось получить, то отображается пустая таблица. - Создание ВМ: исправлена ситуация когда приватная сеть из одного проекта оставалась выбранной после того, как был выбран другой проект. - Снапшоты: исправлен редирект URL при отсутствии ``id`` с несуществующего ``/admin/snapshots`` на правильный ``/admin/volume-snapshots``. - QoS: исправлено поведение действий в actions, когда при ошибке запроса показывалось что все успешно и закрывался диалог. - Flavors: исправлено отображение поля ``extra_specs`` в таблице. - Server groups: при создании у поля ``policy`` из выпадающего списка убраны неподдерживаемые типы ``soft-affinity``, ``soft-anti-affinity``. - Исправлены недочёты в UI. HA ~~~ - Исправлена остановка алгоритма эвакуации в случае первой ошибки. - Исправлено падение в случае наличия неизвестных опций в файле конфигурации. - Теперь обрабатываются и эвакуируются ВМ, принадлежащие удалённым из Keystone проектам. - Исправлена работа ``oslo-config-generator`` для модуля HA. - В рамках изменений в Nova добавлена на данный момент пустая обработка ВМ, размещённых на эфемерных нераспределённых дисках. Такие ВМ не будут эвакуироваться и потребуют вмешательства администратора. DRS ~~~ - Корректно обработан случай неверно указанного имени зоны доступности в объекте ``job``. - Теперь вручную применённые рекомендации меняют статус оптимизации. - Исправлен доступ к **Swagger API** без аутентификации. - Узлы в Maintenance Mode теперь игнорируются в вычислениях. - Теперь **drs-cli** корректно сообщает об ошибке при попытке создания объекта ``job`` из несуществующей конфигурации. - Добавлена поддержка длинных (до 128 символов) ``user_id`` в одноимённом поле большинства сущностей. - Исправлена ошибка при получении списка миграций в случае когда у миграции есть статус ``Error``. OpenStack ~~~~~~~~~ - Nova: исправлены гонки при попытке эвакуировать группу ВМ, состоящую в affinity сервер-группе. - Neutron: исправлена обработка отрицательной "безлимитной" квоты на ресурсы. - Neutron: исправлена поддержка Castellan. - Cinder: исправлены обязательные требования роли **admin** в большинстве служебных эндпоинтов, реализована корректная логика роли **reader**. - SDS: реализована возможность подключить более 1 кластера SDS. - Исправлен PDNS Healthcheck. - Добавлен механизм systemd-зависимостей между сервисами ``ovs``, ``ovs-db``, ``neutron-ovs-agent``, ``nova-compute``. Monitoring ~~~~~~~~~~ - Исправлено описание алерта ``RabbitMQUnroutableDroppedMessagesIncrease``. Security ~~~~~~~~ - Из поставки был исключён образ гостевой системы: ``jammy-server-cloudimg-amd64.img``. - Устранены уязвимости GitLab: - CVE-2024-10043, CVE-2024-10240, CVE-2024-10925, CVE-2024-11274, CVE-2024-11668, CVE-2024-11669, CVE-2024-11828, CVE-2024-11931, CVE-2024-12292, CVE-2024-12379, CVE-2024-12380, CVE-2024-12431, CVE-2024-12570, CVE-2024-13041, CVE-2024-13054, CVE-2024-3303, CVE-2024-6324, CVE-2024-6324, CVE-2024-7296, CVE-2024-7404, CVE-2024-8114, CVE-2024-8116, CVE-2024-8177, CVE-2024-8179, CVE-2024-8180, CVE-2024-8186, CVE-2024-8233, CVE-2024-8237, CVE-2024-8402, CVE-2024-8647, CVE-2024-8648, CVE-2024-8650, CVE-2024-9367, CVE-2024-9387, CVE-2024-9633, CVE-2024-9693, CVE-2024-9870, CVE-2025-0194, CVE-2025-0307, CVE-2025-0314, CVE-2025-0376, CVE-2025-0475, CVE-2025-0516, CVE-2025-0555, CVE-2025-0652, CVE-2025-1042, CVE-2025-1072, CVE-2025-1198, CVE-2025-1212, CVE-2025-1257, CVE-2025-1540, CVE-2025-25291, CVE-2025-25292, CVE-2025-27407, CVE-2024-10307, CVE-2024-10307, CVE-2024-12619, CVE-2024-9773, CVE-2025-0811, CVE-2025-2242, CVE-2025-2255. - Устранены уязвимости Vault: - core/raft: Добавлены ограничения на подключения к raft-бэкэнду (GH-28790, HCSEC-2024-26). - Устранены уязвимости Nexus: - Sonatype Nexus Repository теперь обеспечивает повышенную безопасность за счёт повторного шифрования конфиденциальных данных. Также устраняет уязвимость: CVE-2024-5764. - Улучшена безопасность конфигураций blob store путём шифрования конфиденциальных данных в логах и support zip-архивах (NEXUS-30690). - Устранены уязвимости NetBox: - Django (CVE-2024-56374). - Устранены уязвимости OpenStack: - PyMySQL (CVE-2024-36039). - Horizon: - Django: CVE-2024-27351, CVE-2024-38875, CVE-2024-39329, CVE-2024-39330, CVE-2024-39614, CVE-2024-41989, CVE-2024-41990, CVE-2024-41991, CVE-2024-42005, CVE-2024-45230, CVE-2024-45231, CVE-2024-53907, CVE-2024-53908, CVE-2024-56374. - Устранены уязвимости Kolla: - Ansible: CVE-2023-4237, CVE-2023-5764, CVE-2024-0690, CVE-2024-8775. Known Limitations ----------------- Данный релиз продукта на SberLinux поддерживается только на SberLinux 9.4.3. * Дистрибутив для установки: ``SLO-9.4.3-402_20241107.0-iso-distrib.iso``. * Хеш-сумма: ``73426c1469fc42f9955765f483ca34ef``. * Подпись ГОСТ: ``2B21D654C1354F9D4EA0397B8A177B2D4C0D7AF9C182468C2C12EFE872053925``. * Причина ограничения: имеются жёсткие зависимости от пакетов, доступных только в стандартных репозиториях SberLinux 9.4.3.