KeyStack 2024.2 Release Notes ============================= New Features ------------ - Добавлена поддержка SberLinux 9.3.3. - Драйвер Cinder-volume Huawei обновлен до версии 2.6.4. - Добавлена возможность загрузки пользовательских образов Glance через механизм tf_states. - Добавлена возможность проксирования HTTP-заголовков X-Forwarded-IP, X-Client-IP, X-Real-IP в Octavia. - Библиотека oslo.lib обновлена до версии 5.3.1. - Библиотека castellan обновлена до версии 4.4.0. - Добавлена поддержка VictoriaMetrics 1.101.0 в качестве долговременного хранилища данных Prometheus. - Добавлена поддержка cinder-volume driver для работы с Cloud SDS. - Добавлена возможность интеграции с ActiveDirectory/LDAP следующих компонентов: GitLab, Netbox и Grafana. - Добавлена возможность использовать метод фенсинга "hardreboot" в компоненте HA. Для выбора режима добавлена переменная bmc_power_fence_mode. - Добавлены правила уведомлений (alerts) для мониторинга RabbitMQ. - Добавлены правила уведомлений для мониторинга docker-контейнеров с помощью cAdvisor exporter. - Добавлены правила уведомлений для мониторинга MariaDB. - Добавлено правило уведомлений для мониторинга смены AZ у виртуальной машины. - Добавлено правило уведомлений для мониторинга перевода гипервизора в режиме обслуживания (Maintenance mode). - Добавлены новые правила уведомлений. - Добавлены новые дашборды в Grafana. - Добавлен шаблон для email-уведомлений от Alertmanager. Admin UI ~~~~~~~~ Добавлены новые страницы, таблицы и другое. - Images: новая страница списка образов, отображающая детали образа по ID. На странице доступна кнопка "Загрузить Image" с диалоговым окном выбора параметров (name, os_type, container_format, disk_format) и файла для загрузки, а также действия "Edit" и "Delete" с соответствующими диалоговыми окнами. - Server Groups: новая страница списка групп серверов, отображающая детали группы по ID. На странице доступна кнопка "Создать Server Group" с диалоговым окном выбора параметров (name, policy, max_server_per_host), а также действия "Показать сервера", "Убрать сервер" и "Удалить" с соответствующими диалоговыми окнами. - Создание ВМ: новое поле Server Group, необязательное для заполнения. - Список ВМ: - Новое действие "Change Server Group" с диалоговым окном выбора новой группы серверов. - В таблице списка добавлены синие значки-теги, если выключен DRS или Evacuation с надписями "no DRS" и "no HA" соответственно. - Новые действия "Nova Rescue/Unrescue" с диалоговыми окнами. - Новый маркер Wrong AZ для серверов с AZ, отличающимся от AZ гипервизора, на которой он находится. - Новое действие "Change AZ", позволяющее сменить зону доступности у сервера. Доступно, если сервер имеет Wrong AZ, либо у него отсутствует AZ. - В действие "Live Migrate" добавлен фильтр гипервизоров по зоне доступности (должен совпадать с AZ сервера) с возможностью отключения этого фильтра через опцию Ignore AZ Restriction. - Новое действие "Stop migration", доступное для серверов в статусе MIGRATING, которое останавливает последнюю миграцию сервера. - Новая колонка power state в таблице списка. - Страница ВМ: на странице конкретной ВМ добавлены графики статистики за последние 10 минут показателей производительности. - Порты: добавлено действие удаления с подтверждающим диалоговым окном. - Добавлена кнопка "Создать порт", открывающая страницу "Создание порта" со следующими полями: Project*, Network*, Fixed Ips*, Port name*, Mac address, Port security enabled, Security Groups и Allowed address pairs. - Drs Configs: - При создании добавлено поле algorithm. При этом help_overloaded_hypervisors — разгрузка перегруженных гипервизоров, equal_hypervisors_load — равномерная нагрузка по ЦПУ, ОЗУ и сети между гипервизорами, а balance_network — равномерная сетевая нагрузка между гипервизорами. В зависимости от выбранного значения определяются остальные параметры base_config. - При создании файла конфигурации добавлена валидация параметров весов (их сумма должны равняться единице). - В таблице теперь вместо полей параметров отображается поле base_config со всеми его параметрами. - Гипервизоры: - На строки в таблице добавлены визуальные элементы Maintenance mode и Fenced, и при нахождении в соответствующих статусах цвет строки меняется на желтый. - При нахождении гипервизора в статусе Fenced выполняется действие "Disable Fence Mode". DRS ~~~ - Новая опция файла конфигурации TARGET_HYPERVISOR_SOFT_LIMIT заменяет собой MOVE_SYN_DIFF_AFTER для алгоритма 'help_overloaded_hypervisors'. Потенциальная рекомендация к миграции не выдается, если предсказываемая нагрузка на целевой гипервизор после совершения этой миграции больше, чем TARGET_HYPERVISOR_SOFT_LIMIT. - Алгоритм 'equal_hypervisor_load' теперь поддерживает балансировку по новому измерению — сетевому траффику (сумма входящего и исходящего трафика на tap-интерфейсах ВМ). Соответствующий вес 'network_weight' добавлен в файл конфигурации этого алгоритма. - Дополнительное логирование уровня ERROR в случае недоступности Prometheus. - Опция 'allowed_load_above_average' файла конфигурации алгоритма 'equal_hypervisor_load' позволяет регулировать жесткость критерия сбалансированности. Гипервизоры, чья нагрузка (score) меньше, чем average_load_across_region (средняя нагрузка в регионе) + 'allowed_load_above_average', считаются сбалансированными, поэтому миграций с них рекомендовано не будет. - Формат логирования приближен к остальным сервисам OpenStack. Новая конфигурационная опция сервиса 'max_concurrent_live_migrations' в секции файла конфигурации Default (значение по умолчанию — 1). Позволяет увеличить число одновременных миграций, в которых гипервизор может участвовать. HA ~~~ - Параметр "dead_computes" теперь находится в строгом неравенстве с количеством отказавших гипервизоров. Если отказало два гипервизора, а параметр выставлен в значение 2 — эвакуация произойдет. - Дополнительное логирование INFO-уровня, агрегирующее статус и количество вычислительных узлов, сгруппированных по зонам доступности. - В тела уведомлений для Prometheus Alertmanager добавлены лейблы "severity" и "description". Лейбл "alert_name" переименован в "alertname". - HA более не повторяет операции фенсинга по интерфейсу BMC, если такая операция была ранее успешно проведена. Такие гипервизоры имеют статус в API сервиса nova: "disable_reason" начинается с префикса "AUTO:". - Новая опция "power_fence_mode" файла конфигурации в секции "bmc". Если она пропущена или выставлена в 'poweroff' — старое поведение выключения гипервизора сохраняется. Если выставлено значение "hardreboot" — отказавший гипервизор будет перезапущен соответствующим образом при фенсинге. Upgrade Notes ------------- Admin UI ~~~~~~~~ - Внесены значительные улучшения в UX и визуальную часть продукта. - Логирование трейсов ошибок приведено к общему стандарту. - Поддерживается опциональная персонализация операций пользователя в GitLab (создание коммитов и старт пайплайнов от учетной записи пользователя). Пароль теперь отсутствует в скачиваемом файле OpenRC. Прежнее поведение можно восстановить с помощью параметра openstack.hide_password_in_openrc. Bug Fixes --------- - Устранены ложные сообщения об ошибках в журнал nova-compute. Подробности см. по `ссылке `__. - Устранена ошибка работы с multipathd (отсутствующий конфигурационный файл) для служб glance и nova-compute для SberLinux. - Внесены исправления в правила уведомлений (alerts). - Внесены исправления в дашборды. Admin UI ~~~~~~~~ - Header: изменена ссылка "Документация/FAQ" с wiki.itkey.com/pages/viewpage.action?pageId=59146341 на актуальную — docs.keystack.ru. - Title: если не выбран регион, вместо null отображается пустое значение. - Auth page: теперь домен автоматически выбирается, если он не был выбран, и при этом всегда отправляется при авторизации. - Квоты: поправлены стили диалогового окна "Редактировать квоты". - Список ВМ: действия "Drs Disable/Enable" и "Evacuation Disable/Enable" переименованы в "Disable/Enable Drs" и "Disable/Enable Evacuation". - Создание ВМ: - Проект теперь учитывается при создании ВМ и устанавливается для самой ВМ. - Поле "Security Groups" больше не имеет маркера галочки или крестика в правом меню Request summary. - Изменена подпись полей "Key Pairs" и "Hypervisors" на "Key Pair" и "Hypervisor" соответственно. - QoS: при создании QoS поле consumer теперь учитывается и задается. Можно выбрать из доступных значений: "front-end", "back-end" и "both". - Drs Board: сообщение при отсутствии оптимизаций "Запустите джобу для старта оптимизаций" изменено на "Запустите джобу и дождитесь начала оптимизации" - Drs Optimizations: устранена ошибка в диалоговом окне "Показать рекомендации", из-за которой при нажатии на ID рекомендации открывалась страница оптимизации по ID, а не рекомендации. - Порты: исправлено условие (теперь работает на любой зоне доступности) для "Detach" и отображения device как ссылки на страницу конкретной ВМ. - Гипервизоры: диалоговое окно действия "Disable service" теперь закрывается после выполнения запроса. - Users: в диалоговом окне действия "Редактировать" исправлен цвет кнопок. - Projects: - Из отправки запроса на создание проекта убрано поле parent. - Исправлено условие для отправки запроса на создание и редактирование проекта. - Исправлен сброс состояния валидации при повторном открытии диалогового окна действий "Создать" и "Редактировать проект". - Roles: - В таблице убрано отображение поля domain. - Убрано поле domain при редактировании. - Поле description отмечено как необязательное при редактировании. - Тома выводятся для всех проектов, а не только для проекта по умолчанию. Работает фильтрация томов по проекту. - Восстановлено отображение ВМ, созданных в кастомных AZ. - Изменен невалидный импорт клиентских сертификатов, из-за которого возникали ошибки. - Исправлена схема для валидации fixed-ip при создании порта. - Переписано логическое условие, из-за которого ранее возникала ошибка при применении рекомендации DRS. - Добавлено недостающее поле algorithm в схему для обновления файла конфигурации DRS. - Устранена ошибка, в результате которой не удалялись присоединенные диски. - В результате добавления логирования была нарушена работа cadf. Сейчас работает и cadf, и логи. - Исправлена схема валидации параметров для фильтрации списка серверов. Ранее не работала сортировка по убыванию. - В логах ошибки теперь не выводится пароль GitLab. Сообщение ошибки исправлено. - Код ошибки исправлен с 400 на 401 для случая, когда ключа нет в memcache, что позволяет возвращаться на страницу авторизации. - Исправлена swagger-документация для списка ролей. - Поле ``TARGET_HYPERVISOR_SOFT_LIMIT`` стало необязательным для обновления файла конфигурации DRS. Ранее при отсутствии значения для него возникала ошибка. - Устранена ошибка, в результате которой возвращался неверный код исключения. - Исправлен put-запрос /servers//drs/enable, не работавший ранее из-за неверных метаданных. DRS ~~~ - Исправлены валидации полей периода задания (job) и имени алгоритма файла конфигурации. - Проверка существования TLS-сертификата, указанного в файле конфигурации, теперь проводится при запуске сервиса. Known Issues ------------ - Перезапуск службы docker приводит к перезапуску всех контейнеров платформы на хосте. Подробности см. по `ссылке LP#2065168 `__.