upgrade

Обновление (upgrade) — операция, доступная из определенного состояния кластера или хостпровайдера, которая обновляет метаинформацию объекта без его пересоздания и переводит его в другое состояние. Механизм обновления позволяет безопасно применять изменения к текущему состоянию объекта.

Операция обновления описывается в новой версии бандла и определяет, из каких версий и изданий объекта возможно обновление на текущую версию бандла.

Существует два типа обновлений:

  • Переключение прототипов текущего бандла на прототипы нового бандла.

  • Выполнение последовательности subjob, включая переключение прототипов.

Прототип кластера или хоста может содержать свойство 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: Upgrades the cluster to a new version
      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
      config:
        - name: repos
          type: group
          subs:
            - name: url
              display_name: "Repository URL"
              type: string
              default: https://ci.arenadata.io/artifactory/list/ads-centos7-x64-ads/
              required: no
            - name: token
              display_name: "Access token"
              type: password
      from_edition: community
      states:
        available:
          - installed
        on_success: upgradable

При работе с upgrade укажите свойства, описанные ниже.

config

Опциональное свойство config позволяет определить конфигурационные параметры обновления. Описание свойства приведено в статье config.

Свойство config можно использовать совместно со свойствами scripts и scripts_template.

description

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

display_name

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

from_edition

Опциональное свойство from_edition определяет издания объекта, из которых разрешено выполнять обновление бандла. Значение по умолчанию — community.

Чтобы разрешить выполнение обновления для любого издания объекта, укажите специальное значение any.

upgrade:
  - name: Upgrade 1
    versions:
      min: 0.4
      max: 2.0
    description: Upgrades the cluster to a new version
    states:
      available: [created, installed]
      on_success: upgradable
    from_edition:
      - community
      - enterprise

name

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

scripts

Опциональное свойство scripts позволяет статически формировать последовательность subjob при выполнении обновления. Описание свойства приведено в статье actions.

При использовании свойства scripts последовательность subjob должна содержать встроенную функцию ADCM bundle_switch, которая используется для обновления прототипов до новых версий.

Для определения конфигурационных параметров обновления можно использовать свойство config, которое поддерживается совместно со свойствами scripts и scripts_template. Описание свойства приведено в статье config.

Свойства scripts и scripts_template являются взаимоисключающими.

scripts_template

Опциональное свойство scripts_template позволяет динамически формировать последовательность subjob при выполнении обновления. Описание свойства приведено в статье actions.

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

states

Обязательное свойство states определяет следующие состояния:

  • available — список допустимых состояний кластера или хостпровайдера для проведения обновления. Используйте специальное значение any, если необходимо сделать обновление доступным вне зависимости от состояния кластера или хостпровайдера.

  • on_success — состояние, в которое переходит кластер или хостпровайдер после успешного завершения обновления.

  • on_fail — состояние, в которое переходит кластер или хостпровайдер при аварийном завершении обновления.

upgrade:
  - name: Upgrade 1
    versions:
      min: 0.4
      max: 2.0
    description: Upgrades the cluster to a new version
    states:
      available: [created, installed]
      on_success: upgradable

versions

Обязательное свойство versions определяет диапазон версий, допустимых для выполнения обновления.

upgrade:
  - name: Upgrade
    versions:
      min: 0.4
      max: 2.0
    states:
      available: any
      on_success: upgradable
ПРИМЕЧАНИЕ
Параметры min и max используют нестрогое сравнение (включая граничные значения версий кластера или хоста). Используйте параметры min_strict или max_strict для строгого сравнения (исключая граничные значения версий кластера или хоста).
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней