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) для размещения памяти виртуальных машин.