upgrade
Обновление (upgrade) — операция, доступная из определенного состояния кластера или хостпровайдера, которая обновляет метаинформацию объекта без его пересоздания и переводит его в другое состояние. Механизм обновления позволяет безопасно применять изменения к текущему состоянию объекта.
Операция обновления описывается в новой версии бандла и определяет, из каких версий и изданий объекта возможно обновление на текущую версию бандла.
Существует два типа обновлений:
-
Переключение прототипов текущего бандла на прототипы нового бандла.
-
Выполнение некоторого action, возможно, состоящего из нескольких subaction (включая переключения прототипов).
Прототип кластера или хоста может содержать свойство upgrade. Это свойство описывает, как выполнить обновление с одной версии бандла на другую. Прототип может содержать несколько свойств upgrade, которые описывают обновления с разных версий.
---
- type: cluster
name: control
version: 2.4
description: "Monitoring and Control Software"
upgrade:
- name: Upgrade 1
versions:
min: 0.4
max: 2.0
description: New cool upgrade
states:
available: any
on_success: upgradable
- name: Upgrade 2
versions:
min: 1.0
max_strict: 3.0
scripts:
- name: pre check
display_name: Pre-check before upgrade prototypes
script_type: ansible
script: ansible/pre-check.yaml
- name: bundle upgrade
display_name: Upgrade bundle
script_type: internal
script: bundle_switch
- name: post tasks
display_name: Some operations after prototype upgrades
script_type: ansible
script: ansible/post-task.yaml
from_edition: community
states:
available:
- installed
on_success: upgradable
При работе с upgrade укажите свойства, описанные ниже.
versions
Обязательное свойство versions определяет диапазон версий, допустимых для выполнения обновления.
upgrade:
- name: Upgrade
versions:
min: 0.4
max: 2.0
states:
available: any
on_success: upgradable
|
ПРИМЕЧАНИЕ
Параметры min и max используют нестрогое сравнение (включая граничные значения версий кластера или хоста). Используйте параметры min_strict или max_strict для строгого сравнения (исключая граничные значения версий кластера или хоста).
|
display_name
Опциональное свойство display_name определяет название обновления, отображаемое в веб-интерфейсе.
states
Обязательное свойство states определяет следующие состояния:
-
available— список допустимых состояний кластера или хостпровайдера для проведения обновления. Используйте специальное значениеany, если необходимо сделать обновление доступным вне зависимости от состояния кластера или хостпровайдера. -
on_success— состояние, в которое переходит кластер или хостпровайдер после успешного завершения обновления. -
on_fail— состояние, в которое переходит кластер или хостпровайдер при аварийном завершении обновления.
upgrade:
- name: Upgrade 1
versions:
min: 0.4
max: 2.0
description: New cool upgrade
states:
available: [created, installed]
on_success: upgradable
from_edition
Опциональное свойство from_edition определяет издания объекта, из которых разрешено выполнять обновление бандла. Значение по умолчанию — community.
Чтобы разрешить выполнение обновления для любого издания объекта, укажите специальное значение any.
upgrade:
- name: Upgrade 1
versions:
min: 0.4
max: 2.0
description: New cool upgrade
states:
available: [created, installed]
on_success: upgradable
from_edition:
- community
- enterprise