Canonical обновила код MAAS — исправлены загрузочные образы, DNS в Snap и передача журналов

21 июля 2026 года разработчики Canonical добавили в основную ветку MAAS несколько изменений для загрузочных образов, DNS-службы, журналирования и экспериментального API коммутаторов. Код уже принят в репозиторий проекта, а отдельного стабильного релиза с этими исправлениями Canonical на 21–22 июля не объявляла.

Canonical обновила код MAAS
Canonical обновила код MAAS

В основной ветке MAAS появились четыре заметных изменения

История коммитов canonical/maas показывает пять изменений от 21 июля. Четыре из них напрямую затрагивают эксплуатацию платформы: MAAS проверяет ссылки на загрузочные файлы перед удалением, формирует конфигурацию BIND для Snap из пакета Ubuntu, корректирует формат журналов при отправке по TCP и возвращает управляющий MAC-адрес коммутатора через экспериментальный API v3.

MAAS расшифровывается как Metal as a Service. Платформа обнаруживает физические серверы в сети, собирает сведения об их процессорах, памяти, накопителях и сетевых интерфейсах, запускает тесты, устанавливает операционную систему и возвращает оборудование в свободный пул после завершения работы. Администратор управляет этим циклом через веб-интерфейс, CLI или API примерно так же, как виртуальными машинами в облаке.

Свежие коммиты относятся к ветке разработки. На официальном форуме MAAS последними опубликованными стабильными выпусками остаются MAAS 3.7.2 от 30 марта 2026 года и MAAS 3.6.5 от 6 июля 2026 года. Сейчас изменения представляют собой подготовку будущих сборок и ещё не входят в отдельно объявленное стабильное обновление.

Проверка SHA-256 защищает используемые загрузочные файлы от удаления

Самое заметное исправление касается загрузочных ресурсов — образов и связанных файлов, из которых сервер получает временную среду для инвентаризации и установочные данные для развёртывания системы.

В MAAS могла возникнуть гонка процессов. Задача удаления выбирала файл, который считался устаревшим, затем ожидала выполнения. За это время новый импорт мог снова создать запись с тем же SHA-256 и начать использовать тот же файл. Отложенная задача продолжала удаление и убирала данные, которые уже понадобились системе.

Коммит 67f6812 добавляет повторную проверку базы непосредственно перед удалением. Если SHA-256 снова связан с объектом BootResourceFile, MAAS сохраняет файл и записывает причину пропуска в журнал.

Механизм закрывает конкретный сценарий:

  1. MAAS планирует удаление старого образа.
  2. Новый импорт возвращает файл с тем же SHA-256.
  3. Задача удаления проверяет актуальные ссылки в базе.
  4. Файл остаётся на диске, если система снова его использует.

Разработчики указывают, что гонка присутствовала и в более ранних ветках, включая MAAS 3.5. Во внутреннем тестовом окружении SolQA она стала проявляться чаще. Исправление снижает вероятность сбоев синхронизации загрузочных ресурсов и последующих ошибок при подготовке серверов к установке.

Конфигурация BIND в Snap синхронизирована с Ubuntu 26.04

MAAS использует BIND для DNS-функций внутри управляемой сети. Snap-сборка проекта хранила статические файлы named.conf и db.local, которые со временем разошлись с конфигурацией системного пакета bind9.

Проблема стала заметнее в Ubuntu 26.04. В этой версии пакет BIND больше не поставляет db.local, поскольку локальная зона обрабатывается самим DNS-сервером. Статические копии внутри Snap требовали ручного сопровождения и создавали риск несовместимости с изменениями пакета Ubuntu.

Коммит 24c7413 меняет порядок запуска DNS-службы. MAAS теперь берёт конфигурационные файлы из BIND, включённого в Snap, и во время запуска корректирует пути для изолированного окружения:

  • /etc/bind/ заменяется на каталог внутри $SNAP_DATA;
  • путь к корневым DNS-подсказкам переводится в $SNAP/usr/share/dns/;
  • named.conf.options создаётся с путями MAAS;
  • в named.conf.local добавляется подключение зоны, которой управляет MAAS.

Так Snap-сборка следует структуре актуального пакета Ubuntu и требует меньше отдельных статических шаблонов. После попадания кода в поддерживаемый выпуск обновления Ubuntu и BIND будут реже вызывать сбои запуска DNS внутри MAAS из-за расхождения файлов конфигурации.

Передача журналов в Promtail приведена к RFC 6587

Ещё одно исправление затрагивает отправку системных журналов из MAAS в Promtail по TCP. Promtail принимает записи и передаёт их в Loki, где администраторы ищут ошибки и строят панели наблюдения.

MAAS уже использовал фрейминг octet-counted: перед сообщением передаётся его длина, благодаря чему получатель понимает точную границу записи в непрерывном TCP-потоке. Шаблон содержимого при этом не соответствовал выбранному способу упаковки.

Коммит be8961b заменяет RSYSLOG_SyslogProtocol23Format на RSYSLOG_SyslogRFC5424Format. В сочетании с TCP_Framing="octet-counted" записи соответствуют схеме, описанной в RFC 6587.

Изменение занимает одну строку, но влияет на разбор журналов. Корректные границы и формат сообщений уменьшают риск склеенных записей, неверно распознанных полей и пропавших событий в цепочке rsyslog — Promtail — Loki.

Экспериментальный API коммутаторов возвращает управляющий MAC-адрес

MAAS развивает API v3 для управления сетевыми коммутаторами. В ответах этого интерфейса появился параметр management_mac, содержащий MAC-адрес управляющего интерфейса.

Коммит 4841864 добавляет поле в модели ответов и обновляет операции получения списка, просмотра, создания и изменения коммутаторов. Одновременно сервисный слой получает методы, возвращающие расширенные сведения об устройстве.

MAC-адрес полезен системам автоматизации, которые связывают запись MAAS с реальным сетевым оборудованием. Имя коммутатора может измениться, а IP-адрес — перейти в другой диапазон. Аппаратный адрес управляющего интерфейса даёт ещё один устойчивый идентификатор для инвентаризации и проверки конфигурации.

Сам API помечен разработчиками как экспериментальный. Его структура может измениться до стабилизации, поэтому интеграции стоит привязывать к конкретной версии схемы и проверять ответы после обновления тестового стенда.

Статус кода определяет момент безопасного обновления

Коммиты от 21 июля показывают направление текущей разработки MAAS: команда укрепляет работу с загрузочными ресурсами, адаптирует Snap к Ubuntu 26.04, выравнивает формат журналирования и расширяет данные об управляемых коммутаторах.

На рабочих установках эти изменения появятся после включения в опубликованный канал Snap или пакетный выпуск с release notes. До такого объявления полезно сверять установленный канал, номер версии и список исправлений на официальной странице новостей MAAS.

Для инфраструктуры с частым импортом образов самым заметным станет исправление гонки удаления файлов. В средах на Ubuntu 26.04 важнее обновлённая схема BIND. Пользователи Loki и Promtail получат более предсказуемый поток журналов, а разработчики сетевой автоматизации — управляющий MAC-адрес в ответах API.

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.