Общие сведения об обновлении ECP VeiL
Процедуру установки обновлений рекомендуется выполнять на контроллере после проверки доступности всех узлов ECP VeiL. При запуске установки обновлений на контроллере ECP VeiL происходит синхронное обновление всех доступных контроллеру узлов ECP VeiL.
Внимание!
Рекомендуется производить все работы с обновлениями ECP VeiL на контроллере, убедившись в доступности всех узлов ECP VeiL.
В случае отсутствия доступа к репозиториям ECP VeiL, расположенным по адресу veil-update.mashtab.org, необходимо обеспечить такой доступ или развернуть собственный сервер обновлений с репозиториями ECP VeiL. Как развернуть собственный сервер обновлений с репозиториями ECP VeiL смотрите в разделе Использование собственного сервера обновлений.
Внимание!
Если во время обновления ECP VeiL один или несколько узлов ECP VeiL невозможно обновить, то необходимо выполнить обновление данных узлов в кратчайшее время до соответствующей версии.
Версионность ECP VeiL
Модель версионности ECP VeiL соответствует классической нумерации X.Y.Z-B:
-
X - мажорная версия. Меняется при крупных релизах. Выходит раз в год. Может не быть обратно совместима с прежними релизами. Требуется смена репозитория для получения обновлений. Требуется перезагрузка после обновления.
-
Y - минорная версия. Меняется при промежуточных релизах. Выходит раз в 3-4 месяца. Обязательно должна быть обратная совместимость. Требуется смена репозитория для получения обновлений. Иногда (не всегда) рекомендуется перезагрузка после обновления. Перед сменой репозиторией всегда рекомендуется сначала обновиться до последних версий патчей в рамках текущего репозитория.
-
Z - версия патча. Меняется при исправлении ошибок промежуточных релизов и добавлении нового небольшого функционала. Выходит раз в 2 недели/месяц.
-
B - номер сборки. Меняется при каждой сборке пакета. Иногда необходима команде ECP VeiL для сверки фактического пакета и сборочного задания.
Порядок обновлений
Все обновления выполняются последовательно, начиная снизу вверх. Сначала обновляется версия патча X.Y.Z, далее минорная версия X.Y.Z, далее мажорная версия X.Y.Z.
В общем случае порядок действий следующий:
-
Обновить текущую версию ПО до последней версии патча в текущем репозитории (см. установка патчей).
-
Для обновления минорной версии ПО сменить текущий репозиторий на репозиторий со следующей минорной версией. Обновить минорную версию до последней версии патча. Повторить действия необходимое количество раз, и последовательно обновить минорную версию ПО до последней минорной версии (см. установка минорного обновления).
-
Для обновления мажорной версии ПО сменить репозиторий с последней минорной версией на репозиторий со следующей мажорной версией. Обновить мажорную версию до последней версии патча. Повторить действие необходимое количество раз, и последовательно обновить мажорную версию ПО до последней мажорной версии (см. установка мажорного обновления).
Последовательность обновлений
Необходимо соблюдать последовательность обновлений. Запрещено обновлять минорные и мажорные версии, пропуская нумерацию. То есть нельзя обновляться, например, с версии 4.2 сразу до версии 4.4.
Также крайне рекомендуется перед обновлением минорной версии обновиться до последней доступной на данный момент версии патча. Причиной является необходимость последовательного применения миграций базы данных и возможные подготовительные этапы перед минорным обновлением.
Пример обновления
Рассмотрим пример обновления с версии 4.6.1 до версии 5.0.5:
- смотрим список выпущенных версий;
- видим, что у нашей версии 4.6.1 последняя версия патча 5 (4.6.5);
- обновляемся до последней версии 4.6.5;
- далее переходим к смене минорной версии и меняем репозиторий на prod-470;
- обновляемся до последней версии патча 4.7.6;
- далее переходим к смене мажорной версии и меняем репозиторий на prod-500;
- обновляемся до версии патча 5.0.5.
Обновление 5.1.9 до 5.1.10
В связи с изменениями в процедуре обновления рекомендуем ознакомиться с Инструкцией по обновлению с 5.1.9 до 5.1.10 с локального репозитория через UI
Стабильность обновлений
Каждый последующий релиз стабильнее предыдущего в общем случае, так как обычно больше времени между релизами тратится над исправлением ошибок и расширением вариаций поведения ПО, чем на добавление нового функционала.
Поэтому обновляться всегда рекомендуется до последней версии.
В случае выявления ошибок после обновления рекомендуется сразу обратиться к вендору для выпуска оперативного патча.
Обновляться или нет
Если вас всё устраивает и нужным вам функционал работает корректно, то обновляться не стоит. В остальных случаях рекомендуем обновиться до последней версии.
Текущий цикл жизни ПО предусматривает поддержку релизов в течение года.
Базовая версия ПО
Берётся из версии пакета veil-utils, как базового для любого типа инсталляции.
Определение версии ECP VeiL
Версию установленного ECP VeiL можно узнать через Web-интерфейс или при помощи CLI.
Определить версию установленного ECP VeiL можно несколькими способами:
Способ 1. В правом нижнем углу Web-интерфейса указана версия ECP VeiL.
Способ 2. Перейти в раздел Настройки - Контроллер основного меню, в открывшемся окне выбрать пункт ПО и Сервисы - ПО.
В открывшемся окне будут указаны версия контроллера ECP VeiL и версии основных модулей.
Способ 3. Перейти в раздел Серверы основного меню, выбрать сервер, версию ECP VeiL которого необходимо узнать.
В открывшемся окне выбрать пункт ПО и Сервисы - ПО. В данном разделе будет указаны версия ECP VeiL и версии основных модулей.
Чтобы определить версию ECP VeiL, необходимо перейти в раздел Версия ПО основного меню и в открывшемся окне будут указаны версия ECP VeiL и версии основных модулей.
Определить версию ECP VeiL можно выполнив в CLI следующую команду:
В результате выполнения данной команды будут указаны версия контроллера ECP VeiL и версии основных модулей.- Пример вывода определения версии контроллера командой
version
:
- Пример вывода определения версии узла командой
version
:
Описание пакетов
Наименование пакета | Описание |
---|---|
veil-utils | базовый пакет со всеми основными зависимостями, необходимыми для работы основных компонентов ECP VeiL. По нему определяется базовая версия и от него зависят все остальные пакеты. Обновляется всегда первый.Включает в себя систему автотестирования узла |
veil-docs | документация в Web-интерфейсе. Есть только на контроллере. На официальный сайт выкладывается последняя документация из общей ветки разработки каждый раз при сборке пакета |
veil-cli-env | зависимости CLI |
veil-cli-app | CLI |
veil-node-env | зависимости узла |
veil-node-app | супервизор и Web-сервер узла |
veil-node-ui | Web-интерфейс узла |
veil-controller-env | зависимости контроллера |
veil-controller-app | супервизор и Web-сервер контроллера |
veil-controller-ui | Web-интерфейс контроллера |
Механизм обновления ECP VeiL
Внимание!
Во время обновления ECP VeiL выполняет следующие действия:
- Блокируется Web-интерфейс с выводом сообщения о том, что идет процесс обновления.
- Происходит повторная проверка наличия обновлений.
- Если происходит обновление контроллера, то останавливаются все сервисы. В том числе перестают работать Высокая доступность и Динамическое распределение ресурсов между серверами.
- Обновляется пакетная база ECP VeiL.
- Происходит автотестирование системы.
- После завершения обновления контроллера запускаются все сервисы. Высокая доступность и Динамическое распределение ресурсов работают в штатном режиме.
- Возобновляется штатная работа Web-интерфейса ECP VeiL.
Безопасность обновлений
Для обеспечения безопасности используется проверка целостности пакетов в репозиториях ECP VeiL на основе хеш-суммы.
А файл, содержащий контрольные суммы, подписан закрытым ключом с алгоритмом шифрования RSA 4096.
При обновлении производится сверка хеш-сумм и проверка подписи с использованием открытого ключа, который поставляется в комплекте с ECP VeiL. Таким образом, при повреждении пакета или его подмены установка выполнена не будет.