KeyStack 2024.4 Release Notes

New Features

  • Добавлена возможность управления OOM Score для служб KeyStack. Опция docker_oom_score_adj в файле globals.d/REGION.yml. Значение по умолчанию: -500.

  • Добавлена возможность публикации VIP эндпоинтов региона по протоколу BGP.

  • Добавлена возможность интеграции prometheus-mariadb-exporter с Vault

  • Добавлена возможность интеграции prometheus-rabbitmq-exporter с Vault.

  • Добавлена возможность интеграции prometheus-openstack-exporter с Vault.

  • Добавлены уведомления (notify options) для синхронизации с внешнем PowerDNS (PDNS) для Designate.

  • Обновлен драйвер СХД Cloud.ru SDS до версии 1.2.108.

  • Добавлена поддержка подстановки бандла, содержащего CA certificates для проверки TLS-сертификатов при запросах в API Keystone, Nova и Prometheus.

Admin UI

  • Добавлено отслеживание действий пользователя на всех страницах для отправки запроса keepalive на сервер.

  • Ресурсы. Если выбран глобальный проект, то на страницах ресурсов он будет иметь значение текущего проекта во всех выпадающих списках. Возможности его изменить не будет.

  • Список ВМ:

  • Добавлены два действия: Create snapshot of boot volume и Revert boot volume to latest snapshot с подтверждающими диалоговыми окнами. Создано подменю Volume management, куда также перенесены Attach to volume и Detach from volume.

  • Действие Resize переделано в выпадающий список с действиями Choose Flavor, Confirm resize, Revert resize. Функционал действия Resize перенесен в Choose Flavor. Пункты Confirm resize и Revert resize запускают выполнение соответствующих действий. Действия доступны, если ВМ находится в статусе CONFIRM_RESIZE.

  • В действии Change AZ в выпадающем списке зон доступности добавлены маркеры на зоны доступности, не соответствующие полю hypervisor_availability_zone у ВМ.

  • В действии Attach to interface убран выпадающий список проектов при создании нового порта. Используется проект виртуальной машины, над которой совершается действие.

  • В действии Rescue VM убрана возможность посмотреть вводимый пароль.

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

  • Добавлены новые поля: Metadata — пары ключ-значения, редактируемые в Options, и Customization script — поле для ввода текстового скрипта через Options с возможностью загрузить через файл.

  • Все поля разделены на две части через вкладки. Одна часть относится к шаблонам, другая — только к новой ВМ. Сверху добавлены три новые кнопки: Choose template, Save as new template и Save as current template.

  • Choose template открывает диалоговое окно со списком шаблонов, отфильтрованных по глобальному проекту, с действиями Apply, Edit, Delete. Apply применяет выбранный шаблон для страницы Создание ВМ. Edit позволяет редактировать имя и описание шаблона. Delete позволяет удалять шаблон.

  • Save as new template открывает диалоговое окно с вводом имени и описания шаблона. Здесь можно создать шаблон с указанными параметрами и параметрами, выбранными как текущие в шаблонной части создания ВМ.

  • Save as current template доступно, если применен шаблон. При выборе этого действия доступно редактирования шаблона по текущим выбранным параметрам в шаблонной части создания ВМ.

  • Диски. Добавлено действие Revert to latest snapshot с подтверждающим диалоговым окном. Действие доступно, если у диска поле revertable = true.

  • Flavors. Добавлена логика для extra_specs, связанных с настройкой приоритетов. Доступен выпадающий список с выбором одного из параметров quota:cpu_shares и quota:cpu_quota. При выборе одного из них появляется возможность выставить значение, и автоматически добавляется qouta:cpu_period со значением 100000, если этого параметра не было.

  • DRS Configs. Добавлено поле live_migration_cooldown при создании и редактировании Config.

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

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

    • Строка гипервизора, у которого disabled_reason начинается с AUTO:, теперь выделяется красным цветом.

  • Агрегаты. Добавлена новая страница списка агрегатов с выводом параметров в таблице и действия Enable/Disable Evacuation с диалоговыми окнами подтверждения. Сверху на странице доступны кнопки Enable Evacuation For All и Disable Evacuation For All с диалоговыми окнами подтверждения. Создано подменю Гипервизоры, в которое добавлены новые страницы: Агрегаты и Гипервизоры.

  • Авторизация:

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

    • Убрана перезагрузка страницы при автоматическом перенаправлении на страницу авторизации.

  • Диалоговые окна. Вид большинства диалоговых окон стандартизирован.

  • Фильтры. Все фильтры отсортированы по алфавиту.

  • Диски. При создании диска из снапшота список снапшотов теперь фильтруется по выбранному проекту.

  • QoS. При выполнении disassociate qos в выпадающем списке отображаются только те типы томов, которые связаны с выбранным QoS. Добавлено свойство disable для действия (если ни один тип тома не связан с выбранным QoS, то действие неактивно).

  • Порты. Убрана колонка vm_name из таблицы портов. Колонка device_id переименована в device. Также она отображает имя ВМ со ссылкой, если поле vm_name не пустое.

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

HA

  • Ранее добавленный механизм отключения вычислительного узла при отказе всех слейвов указанного бонда теперь поддерживает несколько бондов, а также реагирует на переход в down мастер-интерфейса.

  • Добавлена поддержка метаданных no_evacuate: True на зоне доступности или хост-агрегате для отключения механизма HA на всех гипервизорах в нем.

DRS

  • Добавлено поле live_migration_cooldown в объект Config, которое позволяет ограничить алгоритм в выборе виртуальных машин и не перемещать недавно мигрировавшие повторно.

Monitoring

  • В правиле алертов ComputeNodeInMM добавлена поддержка условия ручного перевода гипервизора в режим обслуживания (maintenance mode, ММ).

  • Добавлено правило алерта на отказ сервера в пуле балансировки.

  • Добавлены правила алертов для мониторинга сервисов systemd.

  • Небольшие изменения в описаниях некоторых правил алертов.

  • В вывод multipath exporter добавлено большее количество метрик.

Upgrade Notes

Monitoring

  • Для включения сбора метрик по сервисам systemd и их мониторингу необходимо зайти в конфигурационный файл региона REGION.yml и добавить параметры "--collector.systemd --collector.systemd.unit-include (chronyd|containerd|kolla-.+).service --collector.systemd.enable-restarts-metrics" в переменную prometheus_node_exporter_cmdline_extras. В параметре collector.systemd.unit-include указываются сервисы, по которым будут собираться метрики. Параметр collector.systemd.enable-restarts-metrics включает сбор статистики по перезапускам сервисов.

Bug Fixes

  • Исправлена ошибка, приводящая к отрыву дисков чужих ВМ при неудачной live-миграции LP#1838389.

Admin UI

  • В сообщения аудита добавлены Target Region и Target Name.

  • Доработана инициация менеджеров, без которой события вызывали ошибки.

  • Исправлены схемы ответов для drs {region}/configs и qos, из-за которых возникали ошибки валидации запросов.

  • Теперь флейвор не создается, если не прошла валидация его extra-specs.

  • Исправлены неработающие query-параметры при GET-запросах.

  • Вернули пропадающее имя при создании сети.

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

  • Исправлена ошибка, из-за которой не мигрировала ВМ при назначении affinity-группы серверов.

  • Исправлена ошибка, из-за которой ВМ мигрировали не с первого раза.

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

  • Фильтр по глобальному проекту теперь учитывает все shared networks как networks, находящиеся в каждом проекте.

  • При создании группы серверов поле Project сделано обязательным.

  • Исправлено отсутствие значения поля status в таблице с рекомендациями DRS.

  • Inventory. Добавлен индикатор загрузки на кнопки Запустить pipeline и Остановить pipeline до получения ответа от сервера. Исправлено неверное отображение номера запущенного пайплайна во всплывающем сообщении об успешном запуске.

HA

  • Исправлено логирование уровня CRITICAL в случае неудачного фенсинга по IPMI.

  • HA больше не пытается ретраить запросы в Nova, ранее вернувшие код ошибки 409.

  • Улучшено покрытие ретраями обращений во внешние API.

DRS

  • Исправлено поведение алгоритмов в регионах, где allocation ratio отличается от единицы. Параметры переподписки для VCPU и RAM синхронизированы с Openstack Placement API.

  • Исправлена ошибка 500, возникающая при попытке обновления свойств объекта job.

  • Улучшено сообщение об ошибке в drs-client при указании невалидного config_id.

  • Тип данных весов конфига переведен на Decimal во избежание наблюдаемых нарушений инварианта СУММА_ВЕСОВ_АЛГОРИТМА == 1, возникающих из-за неточности представления хранимых чисел floating-point.

Monitoring

  • Исправлена ошибка в работе multipath exporter, при которой экспортер не возвращал метрики при отсутствии путей у multipass-устройства.

  • Исправлены запросы в дашбордах KS — VM Overview, KS — AZ Overview для устранения ошибки, связанной с появлением в запросах many-to-many join.

  • Исправлено правило алерта на перезапуск сервисов systemd.

Security

  • Устранены уязвимости, описанные в OpenStack Security Advisories: OSSA-2024-003, OSSA-2024-004.

  • Убраны компиляторы и прочие средства разработки из версии на SberLinux.

Known Issues

Admin UI

  • При назначении affinity-группы серверов не всегда происходит миграция ВМ.

HA

  • Механизм HA не различает ВМ, созданные на эфемерном файловом хранилище под управлением Nova. Эвакуация таких ВМ механизмом HA приведет к потере данных. Рекомендуется отключить механизм HA для таких ВМ или для такого региона/группы гипервизоров.

DRS

  • Отсутствует поддержка регионов, использующих страницы памяти большого размера (hugepages) для размещения памяти виртуальных машин.