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 для строгого сравнения (исключая граничные значения версий кластера или хоста).

name

Обязательное свойство name определяет название обновления.

display_name

Опциональное свойство display_name определяет название обновления, отображаемое в веб-интерфейсе.

description

Опциональное свойство description определяет описание для обновления.

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
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней