KeyStack 2024.1 and earlier Release Notes
KeyStack 2024.1 Release Notes
New Features
Installer
Обновлен образ с IPA до версии 2023.1.
Удален компонент веб-страницы с данными текущей конфигурацией облачной платформы.
Добавлен поддержка SberLinux 9 в паплайн сборки архива инсталлятора, бандла Nexus.
Добавлены docker-контейнеры LCM, собранные под Ubuntu 22.04 и SberLinux 9.2.
DRS
Начиная с текущей версии, для операций создания и обновления конфигурации не требуется подавать все атрибуты конфигурации в HTTP-запросе. Из всех атрибутов конфигурации обязательным является только “name”. Опциональные атрибуты получают значения по умолчанию, если они не указаны.
Возможно применение всех рекомендаций для определенной оптимизации. Для этого необходимо указать “optimization_id” в теле HTTP POST-запроса в “/migrations”. В ответе сервиса возвращается список запущенных миграций.
В группу конфигурации “database” добавлена опция “sql_debug”, которая регистрирует все SQL-операции DRS.
Гипервизор/виртуальная машина исключаются из оптимизации, если для них нет метрик. При этом в журнале записывается сообщение об ошибке.
Атрибут оптимизации “metrics” заполняется необработанными метриками. Ранее этот атрибут всегда был пустым.
HA
Autoevacuator:
Добавлен циклический фенсинг. Фенсинг и эвакуация неисправных вычислительных узлов теперь применяются в периодическом цикле проверки узлов до тех пор, пока администратор не сбросит disabled_reason.
Admin UI
Добавлена мультирегиональность, новая страница Flavors, а также различные действия (actions) с ВМ, дисками, портами, гипервизорами.
Мультирегиональность: в верхнем меню интерфейса теперь доступен выпадающий список, где можно выбрать регион для отправки всех API-запросов. По умолчанию выбирается первый регион из списка. Данные о выбранном регионе хранятся в localstorage. При смене региона обновляется вся страница.
Авторизация: добавлен выпадающей список доменов на странице авторизации (опционально). Если не выбрать домен, будет выбрано значение “default”.
Flavors: новая страница для флейворов (flavors) в левом меню в списке ресурсов.
Доступно создание флейвора с добавлением необходимых параметров extra_specs.
Доступна таблица списка флейворов и их сортировка по имени.
Доступно действие “Редактировать”, открывающее диалоговое окно изменения значений для description и extra_specs.
Доступна страница конкретного флейвора со всеми параметрами.
Гипервизоры: добавлены действия Enable/Disable maintenance mode, запускающие соответствующие события. Disable доступно при disable_reason=’maintenance mode’, иначе будет предложено Enable.
Список ВМ:
Добавлено действие Live migrate, открывающее диалоговое окно с выбором гипервизора. Действие запускает живую миграцию ВМ на выбранный гипервизор.
Добавлено действие Edit VM, открывающее диалоговое окно, где можно менять значения для следующих параметров ВМ: name, description и hostname.
Добавлено действие Power management, которое открывает доступ к четырем действиям для ВМ: Power on, Shutoff, Soft/Hard reboot.
Добавлены действия Attach/Detach interfaces и соответствующие диалоговые окна. Для Detach необходимо выбрать порт (port) среди портов с device_id выбранной ВМ. Для Attach необходимо либо выбрать существующий порт среди портов с параметром device_id=’’, либо создать новый, выбрав проект (по умолчанию выбран проект ВМ), сеть и фиксированный IP (опционально).
Добавлены действия Attach/Detach volumes с соответствующими диалоговыми окнами и функциями. Для Attach можно выбрать только диски, не привязанные к серверам (пустой список attachments). Для Detach можно выбрать один из привязанных томов (volume) с параметром booted=’false’.
Порты: добавлено действие Attach/Detach to/from server. Attach открывает диалоговое окно с выбором сервера (server). Действие доступно при параметре device_id=’’. Detach работает при параметре device_id!=’’ и доступно только для ВМ с параметром device_owner=’compute:nova’. Действие открывает подтверждающее диалоговое окно.
Диски:
Добавлено действие Attach/Detach server. Attach server доступно, если нет вложений (attachments), и оно открывает диалоговое окно выбора сервера для прикрепления. Detach server доступно, когда есть вложения и указан параметр bootable=false, и это действие открывает диалоговое окно подтверждения.
Добавлено действие Resize, запускающее диалоговое окно, которое позволяет изменить размер диска в большую сторону.
Добавлено действие Delete, запускающее подтверждающее диалоговое окно.
Kolla
Добавлена поддержка BGP для OVN.
Добавлены следующие контейнеры:
bird
frr
ovn-bgp-agent
В настоящее время поддерживается только базовый дистрибутив Ubuntu.
Kolla-ansible
Добавлен новый компонент prometheus-alertmanager-hpsm, который позволяет отправлять уведомления из alertmanager в Zabbix.
Добавлена поддержка noVNC TLS. Чтобы ее включить, добавьте параметр “yes” в глобальные параметры региона nova_qemu_vnc_tls.
Upgrade Notes
DRS
Изменен формат ответа HTTP POST-запроса на “/migrations”. Теперь он всегда отвечает списком миграций, даже если присутствует только одна миграция.
Операции создания и обновления сущности “job” теперь возвращают все атрибуты “job” из базы данных.
Admin UI
Гипервизоры:
Переделан диалог отключения сервиса (действие Disable Sevrice). Причина отключения обязательна для указания, добавлено значение по умолчанию “disabled from admin ui”, а также изменены стили отображения.
В таблице у статуса теперь в скобках показывается значение disabled_reason.
При эвакуации (действие Host Evacuate Live) во всплывающем сообщении отображается количество эвакуированных и нетронутых ВМ.
Создание ВМ: у обязательных полей до их заполнения отображаются синие звездочки.
Список ВМ:
При изменении ресурсов ВМ (resize) список флейворов для выбора в диалоговом окне берется из флейворов, доступных для данной ВМ, а не из всех флейворов.
Переделано меню actions. Теперь доступна вложенность, а также изменился цвет текста при наведении на синий.
Порты: добавлен параметр device_owner в таблицу, который отображается в скобках колонки device_id.
DRS Board: добавлена кнопка применения всех рекомендаций.
Bug Fixes
Installer
Дополнен данными дамп БД Netbox с демонстрационными данными.
DRS
Устранен сбой оптимизации, когда опция “исключение из DRS” была включена и некоторые виртуальные машины не были исключены после проведения фильтрации этой опцией.
Устранена ошибка, когда все параметры подключения к базе данных (кроме DB URI) из файла конфигурации не применялись, а вместо этого применялись значения по умолчанию.
Исправлены неточные данные для всех объектов DRS, связанных с пользователями и временными метками — в частности, атрибуты “created_user”, “updated_user”, “created_at”, “updated_at”, “started_at”, “ended_at” и т. д.
Удалены устаревшие параметры из файла конфигурации. Эти параметры не применялись в DRS и мешали работе пользователя.
Исправлена сортировка и фильтрация для всех операций “GET” и “LIST”.
API-методы создания и обновления сущности “job” возвращают все атрибуты “job” из базы данных.
Когда DRS возвращает сообщение об ошибке, DNS-клиент показывает HTTP-код и сообщение, тогда как раньше предоставлялся только HTTP-код ошибки.
Для “optimization” удалено несуществующее поле “updated_at”.
HA
Autoevacuator:
Теперь disabled_reason каждого вычислительного узла содержит не просто общую статистику по эвакуированным ВМ, а статистику, сегрегированную по хостам.
Admin UI
Status Page:
Добавлена анимация загрузки таблицы nodes statuses, пока идет запрос. Ранее отображалось сообщение “No results found”.
Теперь статус disabled у агентов отмечается как ошибочный и выделяется красным цветом, в то время как статус enabled отображается как работающий и поэтому не выделяется красным цветом.
Создание ВМ:
При импорте ключа во время создания ВМ теперь можно сразу использовать ключ либо выбрать его из списка.
При создании флейвора теперь можно убирать поле extra_specs. Кроме того, добавлена валидация на обязательные поля.
Список ВМ: в диалоговом окне действия Delete VM после подтверждения удаления кнопка блокируется до ответа сервера.
Kolla-ansible
Устранены проблемы с ролью AdminUI для версии 2024.1.
Удалены некоторые переменные и добавлены новые переменные.
Добавлен новый файл конфигурации для AdminUI нескольких регионов.
Устранены проблемы с ролью DRS. Обновлены среды для DRS.
Отключен tls_backend для DRS в версии 2024.1.
Исправлена restart_policy в oneshot для bootstrap drs.
KeyStack 2023.2.1 Release Notes
New Features
Installer
Добавлен дамп БД Netbox с демонстрационными данными.
Добавлен сервис бэкапа LCM.
Добавлен сервис обновления репозиториев в GitLab и артефактов в Nexus.
Добавлен паплайн сборки архива инсталлятора, бандла Nexus и архива с обновлениями.
DRS
Добавлена опция конфигурации “after_migrations_pause”, определяющая период времени, в течение которого не запускаются новые оптимизации, если миграции были выполнены в ходе предыдущей оптимизации. Это время необходимо для того, чтобы неверные показатели не собирались сразу после миграции виртуальных машин.
Добавлена поддержка авторизации и SSL-верификации для отправки уведомлений (alerts) в Prometheus Alert Manager. Добавлены новые параметры конфигурации “enable_prometheus_alert_manager_auth”, “prometheus_alert_manager_user” и “prometheus_alert_manager_password” в раздел “alerting” для авторизации. Существующий параметр конфигурации “ssl_verify” в разделе ” DEFAULT” используется для SSL- верификации.
Добавлена возможность обновлять название и период выполнения задания (job).
Добавлено поле статуса гипервизора в оценку гипервизора при оптимизации.
Добавлено поле статуса последней миграции в рекомендацию.
Добавлены детали рекомендации в тело миграции в API.
HA
Добавлена поддержка исключения узла через BMC по протоколу Redfish. В конфигурационном файле теперь можно указать тип интерфейса: IPMI или Redfish для работы по соответствующему протоколу.
Admin UI
Admin UI Backend: добавлены DRS, inventory, квоты для Octavia, логирование трейса ошибок.
DRS
/drs/recommendations — get-запрос, получение списка рекомендаций;
/drs/recommendations/<string:recommendation_id> — get-запрос, получение рекомендации по id;
/drs/jobs — get-запрос, получение списка заданий (jobs) и post-запрос, создание задания;
/drs/jobs/<string:job_id> — get-запрос, получение задания по ID, а также put-запрос, изменение задания и delete-запрос, удаление задания;
/drs/migrations — get-запрос, получение списка миграций и post-запрос, создание миграции;
/drs/configs — get-запрос, получение списка конфигов и post-запрос, создание конфига;
/drs/configs/<string:config_id> — get-запрос, получение конфига по ID, а также put-запрос, изменение конфига и delete-запрос, удаление конфига;
/drs/optimizations — get-запрос, получение списка оптимизаций;
/drs/optimizations/<string:recommendation_id> — get-запрос, получение оптимизаций по ID.
Octavia quotas
/quotas/octavia/default
— get-запрос, получение дефолтных значений для квот;/quotas/octavia/<string:project_id>
— get-запрос, получение квоты сервиса Octavia для проекта по ID, а также put-запрос, изменение квоты сервиса Octavia для проекта по ID и delete-запрос, сброс квоты сервиса Octavia для проекта по ID.
Nodes:
/nodes
— get-запрос, получение списка узлов и post-запрос, добавление узла в inventory-ci;/nodes/<string:nodename>
— get-запрос, получение узла по ID, а также put-запрос, изменение узла и delete-запрос, сброс квоты сервиса Octavia для проекта по ID.
Pipelines:
/pipeline
— get-запрос, получение статуса последнего пайплана, а также post-запрос, создане пайплана, в результате чего последовательно запускаются bootstrap и deploy;/pipeline/<int:pipeline_id>
— get-запрос, получение статуса пайплана с указанным ID;/pipeline/<int:pipeline_id>/stop
— post-запрос, остановка пайплана.
Backup_db — внесены изменения, связанные с переходом на новые стенды:
/status_page/backup_db
— get-запрос, получение списка бекапов за последнюю неделю.
Добавлена трассировка ошибок, обработанных Admin UI backend.
Доступна поддержка двух способов авторизации в GitLab: логин + пароль и access token.
Admin UI Frontend: добавлены страницы моделей DRS, страница DRS Board, страница Inventory, страница Quotas, таблица DB Backups а также другие небольшие детали.
Страница DRS:
Страницы списка в таблице каждой модели с выводом основной информации (Configs, Jobs, Optimizations, Recommendations и Migrations). Сортировка от старых к новым.
Страницы таблиц сущностей DRS: Config, Job, Optimization и Recommendation.
Страница Board, отображающая последнюю оптимизацию с таблицей hypervisor_scores, с таблицей рекомендаций этой оптимизации, возможностью запуска миграции по рекомендации (при отсутствии у рекомендации миграций со статусами “Успешно” или “В процессе”) с предупреждением, если оптимизация уже не является последней, а также возможностью просмотреть все миграции у каждой рекомендации.
У некоторых полей моделей добавлена подсказка — описание.
CRUD-операции над сущностями DRS:
Config и Job — C (страница списком), R (страница списком, страница конкретного), U (страница списком), D (страница списком).
Optimization — R (страница списком, страница конкретного).
Recommendation — R (страница списком, страница конкретного, модальное окно списка рекомендаций для конкретной оптимизации на странице оптимизаций).
Migration — C (таблица списка рекомендаций), R (страница списком, таблица списка рекомендации на странице Board).
Quotas: новая страница. Перейти на нее можно из Status page, нажав на кнопку “Квоты проекта”, где будет вывод квот сервиса проекта, лимит и текущее использование с подсветкой красным при превышении лимита.
Доступно редактирование квот сервиса проекта с возможностью выбора дополнительного необязательного параметра у Neutron и Nova (check_limit и force соответственно).
Доступен сброс квот сервиса проекта до стандартных.
Inventory: новая страница, на которой отображается статус пайплайна. На этой странице можно остановить или запустить пайплайн.
Доступен просмотр узлов, возможность изменить и добавить новый, в том числе добавлять и изменять роли (группы) узлов.
Необходимо подтверждение при удалении одной из ролей (групп) узла.
DB Backups: добавлена таблица на Status page снизу, которая показывает время и статус бэкапов базы данных либо уведомление об их отсутствии в течении последних 7 дней.
Login page: добавлена необязательная возможность выбора домена при авторизации. Для этого необходимо наличие пользователя в любом выбранном домене, кроме Default.
Upgrade Notes
DRS
Параметр конфигурации “db_uri” перенесен из раздела “api” в “database” в файле конфигурации.
Удален аргумент командной строки “mode”.
Для обновления требуется обновление схемы базы данных.
Bug Fixes
Installer
Устранены ошибки в скрипте инсталлятора.
DRS
Значения для функции исключения из DRS и ее типов теперь берутся из конфигурации для задания (job), а не из файла конфигурации.
Устранен сбой в работе оптимизации, возникавший, когда задание ранее было обновлено с включенной авторизацией.
Устранен сбой в работе уведомлений для Prometheus Alert Manager.
Исправлена работа двух фильтров: ServerGroupAffinityFilter и ServerGroupAntiAffinityFilter.
Значения для весов CPU, весов RAM и диапазона времени сбора метрик, а также пороговые значения перегрузки гипервизора теперь берутся из конфигурации для задания, а не из файла конфигурации.
Admin UI
Admin UI Backend:
Ошибки при запросе на получение placement url теперь обрабатываются корректно.
/servers
— get-запрос выводит инстансы для всех проектов, а до этого выводился только для проекта admin./quotas/neutron/<string:tenant_id>
— get-запрос, квоты нейтрона выводятся с полем used./flavors/<string:flavor_id>
— put-запрос, изменение флейвора не имеет обязательных полей.Изменено неправильное имя запрашиваемой переменной с адресом SSL-сертификата.
Admin UI Frontend:
Гипервизоры: в разделе “actions” больше нет взаимоисключающих Disable/Enable, теперь отображается одна опция в зависимости от текущего значения параметра “status”.
Список ВМ: в “actions” больше нет взаимоисключающих Disable/Enable для Evacuation и DRS, теперь отображается по одной опции в зависимости от текущего значения параметра “metadata.no_nrs” и “metadata.no_evacuate”.
Список ВМ: после удаления ВМ новые данные запрашиваются через 2,5 сек. Иначе ВМ все еще отображается как не удаленная.
Создание ВМ: в выпадающем списке security groups крестик заменяет поиск при наличии символов для ввода. До этого крестик отображался правее, чем должен был.
Страница ВМ: на странице конкретной ВМ теперь есть кнопка “назад”, а также есть отображение в заголовке имени ВМ вместе с ошибкой ответа от API (при наличии такой ошибки).
Known issues
DRS
Невозможно отключить функцию “исключения” и ее типы из DRS, если она была включена один раз. Чтобы решить эту проблему, нужно повторно создать конфигурацию.
KeyStack 2023.2 Release Notes
ITKey-компоненты в составе релиза
LCM
Компонент LCM (Life-Cycle Manager) предназначен для управления инсталляциями (экземплярами) KeyStack. LCM реализует следующие функции:
конфигурация регионов (инсталляции KeyStack) — хранение и управление;
предоставление доступа к конфигурационным файлам KeyStack, которые содержат общие настройки для всех регионов, отражающие лучшие практики внедрений OpenStack ITkey;
генерация паролей и SSL сертификатов для регионов;
установка операционной системы и конфигурация физических серверов для добавления в инсталляцию;
подготовка серверов к работе платформы KeyStack (bootstrap);
развертывание регионов KeyStack;
масштабирование регионов — добавление новых серверов с нужными ролями (control, compute, network);
добавление компонентов KeyStack в существующие регионы;
запуск автоматических тестов rally\tempest;
запуск кластера MariaDB после полной перезагрузки слоя управления регионом;
снятие резервных копий БД инсталляции OpenStack по расписанию;
снятие резервных копий компонентов LCM по расписанию;
управление логическим состоянием (наполнением) регионов — образы виртуальных машин (ВМ), типы инстансов, проекты, сети, агрегаты вычислительных узлов;
обновление компонентов инсталляций.
Installer
Компонент Installer предназначен для развертывания компонента LCM.
Инсталлер развертывает следующие сервисы LCM:
Netbox
Vault
Nexus
GitLab
Web-сервис с информацией по инсталляции
Nginx — обратный прокси для компонентов LCM
Функции, реализованные в Installer:
Выбор корневого имени домена для сервисов (например, если корневое имя домена — demo.local, то адрес GitLab будет ks-lcm.demo.local, у Nexus — nexus.demo.local, у Netbox — netbox.demo.local, а у Vault — vault.demo.local).
Генерация самоподписанный wildcard-сертификат для сервисов.
Reverse-proxy для сервисов LCM для обеспечения возможности HTTPS-шифрования трафика.
Выбор директории, в которой будут храниться данные и файлы конфигураций компонентов LCM.
Инсталлятор поставляется с архивом для offline-установки, который включает в себя:
архив с пакетами и их зависимостями, необходимыми для установки LCM-компонентов;
докер-образ Nexus;
докер-образ Nginx;
бандл со всеми необходимыми для деплоя OpenStack докер-образами и репозиториями, а также докер-образы для LCM.
Загрузка репозиториев в GitLab, реализующих функции автоматизированного управления инсталляциями KeyStack, и настройка необходимых переменных окружения.
Интеграция с Vault, хранилищем секретов.
Наполнение Vault данными для первичного деплоя — паролями и сертификатами.
DRS
конкретные ВМ (с помощью метаданных ВМ);
все ВМ проектов (с помощью метаданных проекта);
все ВМ с проброшенными PCI-устройствами.
HA
исключения отказавшего узла из кластера Nova (nova service disable);
исключения отказавшего узла из кластера CEPH (osd blacklist);
выключения узла через IPMI (power off).
Admin UI
ВМ:
просмотр списка ВМ в регионе;
создание ВМ (необходим заранее созданный образ), а остальные ресурсы могут быть созданы во время создания ВМ);
изменение размера ВМ (изменение flavor);
включение, отключение сервисов DRS, HA для отдельной ВМ;
управление питанием ВМ;
сброс поля состояния ВМ (reset-state).
Диски:
просмотр списка дисков (volume) в регионе.
Порты:
просмотр списка портов в регионе;
Группы безопасности:
просмотр списка групп безопасности в регионе;
создание групп безопасности;
удаление групп безопасности;
редактирование групп безопасности путем удаления или добавления правил.
Сети:
просмотр списка сетей в регионе;
создание связки “роутер-сеть” (Create routable network — создание маршрутизируемой сети). В результате каждая новая сеть имеет свой роутер, подключенный к внешней сети. Внешнюю сеть необходимо выбрать при создании.
Роутеры:
просмотр списка роутеров в регионе.
Ключевые пары:
просмотр списка ключевых пар.
Гипервизоры:
просмотр списка гипервизоров в регионе;
возможность отключения и включения сервиса nova-compute на отдельных гипервизорах;
возможность живой эвакуации (host evacuate live).
Nexus-offline
Vault
Драйверы Cinder
Horizon с возможностью брендирования
Мониторинг
Алертинг
Ironic
Community-компоненты в составе релиза
Компонент |
Версия |
Release notes |
---|---|---|
IAM |
||
Keystone |
KS2023.2 |
|
Compute |
||
Nova |
KS2023.2 |
|
Placement |
KS2023.2 |
|
SDN |
||
Neutron |
KS2023.2 |
|
Open vSwitch |
3.x |
|
Octavia |
KS2023.2 |
|
Barbican |
KS2023.2 |
|
Storage |
||
Cinder |
KS2023.2 |
|
multipathd |
||
iscsid |
||
tgtd |
||
Image |
||
Glance |
KS2023.2 |
|
UI |
||
Horizon |
KS2023.2 |
|
Orchestration |
||
Heat |
KS2023.2 |
|
DNS |
||
Designate |
KS2023.2 |
|
PowerDNS |
KS2023.2 |
|
LMA |
||
Prometheus |
KS2023.2 |
|
Prometheus exporters:
|
||
Fluentd |
||
Opensearch |