KeyStack 2023.2 Release Notes¶
KeyStack 2023.2.1¶
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¶
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¶
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
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 |
|
3.x |
||
Octavia |
KS2023.2 |
|
Barbican |
KS2023.2 |
|
Storage |
||
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: |
||
Opensearch |