Версия контракта

contract_version — обязательное свойство бандла, определяющее версию контракта, в соответствии с которой составлен конфигурационный файл config.yaml или config.yml.

Каждая версия контракта задает определенные требования к структуре конфигурационного файла, а также определяет набор свойств прототипов, доступных для использования.

Назначение

Свойство contract_version используется для следующих целей:

  • Контроль совместимости бандла с ADCM. При загрузке бандла ADCM проверяет версию его контракта, чтобы убедиться в возможности корректной обработки.

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

  • Независимая эволюция ADCM. ADCM может добавлять новую функциональность или отказываться от устаревших возможностей, выпуская новую версию контракта и при этом сохраняя поддержку ранее выпущенных версий.

Поведение при запуске

При запуске ADCM проверяет, какие бандлы используются в кластерах и хостпровайдерах. Если обнаружен кластер или хостпровайдер, использующий бандл с неподдерживаемой версией контракта, ADCM не запустится. Информация о бандлах, не прошедших проверку, будет записана в лог-файлы Docker-контейнера.

Для дальнейшего обновления ADCM необходимо сначала обновить соответствующий продукт до версии, использующей поддерживаемую версию контракта. После этого можно выполнять обновление ADCM.

ВАЖНО
В отличие от свойства adcm_min_version, contract_version накладывает более строгие ограничения на совместимость с версиями ADCM в соответствии с поддерживаемой функциональностью.

Матрица совместимости

Ниже представлена матрица совместимости версий контракта с версиями ADCM.

В матрице совместимости используются следующие обозначения:

  • S — поддерживается;

  • D — считается устаревшей (поддерживается в течение ограниченного времени);

  •  — не поддерживается.

Версия ADCM 1.0 2.0 2.1

До 2.10.0

S

 — 

 — 

2.10.x

S

S

 — 

2.11.x

D

S

S

2.12.x

D

D

S

Для получения информации о переходе с одной версии контракта на другую обратитесь к статье Миграция бандла на новую версию контракта

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней