Перейти к основному содержимому

Обновление при помощи инструмента Pangolin Installer

Сведения

При переходе к данному разделу предполагается, что изучена информация общего блока автоматизированного обновления.

Обновление при помощи инструмента Pangolin Installer проходит по такому же сценарию, как и обновление при помощи Ansible плейбуков, но требует меньше действий и погружения в процесс. Все те же проверки и типы обновления реализуются «внутри» данного инструмента.

Подготовка к обновлению

Сведения

В случае обновления с использованием Pangolin Installer проверка готовности к обновлению выполняется автоматически и запуск скрипта-разведчика не требуется.

Шаг 1. Подготовка дистрибутива

Предварительно скачайте и распакуйте дистрибутив новой версии.

Шаг 2. Установка утилиты Pangolin Installer

  1. Установите rpm/deb-пакет pangolin-installer:

    sudo dnf install pangolin-installer-{version_component}-{OS}.x86_64.rpm
    Подсказка

    Пример заполненной команды:

    cd distributive
    sudo dnf install installer/utilities/pangolin-installer-1.0.0-sberlinux8.x86_64.rpm

Шаг 3. Ознакомление с параметрами Pangolin Installer (опциональный)

Для вывода на экран справки по Pangolin Installer в режиме terminal выполните команду:

Подсказка

Путь до утилиты: /opt/pangolin-ansible-venv-controller/bin/.

pangolin-installer terminal --help
Вывод команды pangolin-installer terminal --help

Использование: pangolin-installer terminal [-h] [--version] [--debug] -c CONFIG [-a {info,install,clean,updates,scouting,configure_roles}] [-v] [--no_archive_logs] [--force] [--vault-password-file VAULT_PASSWORD_FILE]

Опции:

-h, --help Вывести справку по команде

--version Версия pangolin-installer

--debug Включить функцию дебага pangolin-installer – подробное сообщение о процессе выполнения (по умолчанию=False)

-c CONFIG, --config CONFIG Путь до конфигурационного файла

-a {info,install,clean,updates,scouting,configure_roles}, --action {info,install,clean,updates,scouting,configure_roles}

Тип действий для запуска процесса установки или обновления (не обязательный параметр, по умолчанию работает автоопределение процесса установки). Поддерживаемые типы:

info - вывод информации о хосте и типе автоопределенного action
install - запуск процесса установки
clean - запуск очистки стенда
updates - запуск обновление хоста
scouting - запуск процесса проверки перед обновлением
configure_roles - запуск процесса ролевой модели

-v Уровень логирования в ansible-playbook (по умолчанию=vvv)

--no_archive_logs Выключить архивирование директории с логами (по умолчанию=False)

--force Принудительно запускать action (по умолчанию=False)

--vault-password-file VAULT_PASSWORD_FILE

Путь до файла vault, который нужен для запуска ansible-playbook

Запуск сценария обновления

Обновление СУБД Pangolin через Pangolin Installer подразумевает под собой этапы:

  1. Инициализация и заполнение конфигурационного файла Pangolin Installer.
  2. Запуск сценария обновления.
  3. Проверка готовности к обновлению (выполняется автоматически).
  4. Завершение обновления СУБД (вывод информации утилиты о результате выполнения обновления).

Шаг 1. Инициализация и заполнение конфигурационного файла Pangolin Installer

  1. Выполните команду инициализации конфигурационного файла:

    pangolin-installer init -t/--terminal

    В результате выполнения команды создается начальный конфигурационный файл config.yml, предназначенный для дальнейшей настройки.

  2. Отредактируйте созданный файл config.yml с помощью текстового редактора.

    Обозначения

    Заполните информацию о конечных узлах и параметрах подключения:

    • В поле hosts, заполните параметры хостов (ip/dns, password, usersname).
    • В local_distr_path укажите полный путь к дистрибутиву новой версии.
    • В pangolin_license_path укажите полный путь до лицензионного файла с названием файла. Пример: /home/admin/distributive/license.json.

    Пример настроенного конфигурационного файла config.yaml:

    hosts:
    master:
    hostname: <ip-address>
    password: password
    username: user
    replica:
    hostname: <ip-address>
    password: password
    username: user
    arbiter:
    hostname: <ip-address>
    password: password
    username: user
    local_distr_path: /home/admin/distributive
    pangolin_license_path: /home/admin/distributive/license.json
    Подсказка

    В случае установки standalone конфигурации необходимо удалить параметры хостов replica и arbiter, аналогично примеру.

Шаг 2. Запуск процесса обновления

  1. Запустите процесс обновления Pangolin. Выполните команду:

    pangolin-installer terminal -c config.yml -a updates

    Возможные параметры запуска установки:

    • флаг -c предполагает заполнение пути до конфигурационного файла;
    • без указания атрибута -a будет запущено автоопределение процесса действий установка/обновление;
    • если указан флаг -a install – будет запущен процесс установки/переустановки;
    • если указан флаг -a updates – будет запущен процесс обновления.
  2. Во время запуска проверки перед обновлением и самим обновлением, утилитой будет выведена информация о ходе выполнения этапов.

    Пример вывода:

    Вывод об успешном обновлении stanalone конфигурации

    +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | scouting |
    +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+
    | Node | Action | CPU | MEM | Disk available | OS | Version OS | Packages Installed | Packages Update | Configuration |
    +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+
    | node: master | updates | 4 | 12 GB | /dev 5.9G | SberLinux | 8.8 | pangolin-pooler (1.3.0) | pangolin-pooler (1.5.0) | standalone |
    | ip/dns: (IP-address) | | | | /dev/shm 5.9G | | | platform-v-pangolin-dbms (6.1.9) | pangolin-dbms-6.5 (6.5.0) | |
    | | | | | /run 5.9G | | | pangolin-timescaledb-6.1 (2.19.3) | | |
    | | | | | /sys/fs/cgroup 5.9G | | | | | |
    | | | | | / 45G | | | | | |
    | | | | | /boot 668M | | | | | |
    | | | | | /tmp 4.6G | | | | | |
    | | | | | /run/user/1002 1.2G | | | | | |
    +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+
    Выполняемая задача: scouting
    🟢 Роль MAIN PLAY - Завершена! [Время выполнения: 0:06:52] Задач выполнено: 628 | | |####################################################################################################|
    🟢 Роль COMMON - Завершена! [Время выполнения: 0:02:49] Задач выполнено: 335 | | |####################################################################################################|
    Success: S03001:Разведка перед обновлением успешно выполнена.
    +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | updates |
    +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+
    | Node | Action | CPU | MEM | Disk available | OS | Version OS | Packages Installed | Packages Update | Configuration |
    +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+
    | node: master | updates | 4 | 12 GB | /dev 5.9G | SberLinux | 8.8 | pangolin-pooler (1.3.0) | pangolin-pooler (1.5.0) | standalone |
    | ip/dns: (IP-address) | | | | /dev/shm 5.9G | | | platform-v-pangolin-dbms (6.1.9) | pangolin-dbms-6.5 (6.5.0) | |
    | | | | | /run 5.9G | | | pangolin-timescaledb-6.1 (2.19.3) | | |
    | | | | | /sys/fs/cgroup 5.9G | | | | | |
    | | | | | / 45G | | | | | |
    | | | | | /boot 668M | | | | | |
    | | | | | /tmp 4.6G | | | | | |
    | | | | | /run/user/1002 1.2G | | | | | |
    +----------------------+---------+-----+-------+---------------------------+-----------+------------+-----------------------------------+---------------------------+---------------+

    Процедура проверки перед обновлением прошла успешно. Начать обновление? (Y/N): y
    Выполняемая задача: updates
    🟢 Роль MAIN PLAY - Завершена! [Время выполнения: 0:00:13] Задач выполнено: 11 | | |####################################################################################################|
    🟢 Роль PANGOLIN_CHECKS - Завершена! [Время выполнения: 0:13:29] Задач выполнено: 849 | | |####################################################################################################|
    🟢 Роль COMMON - Завершена! [Время выполнения: 0:01:08] Задач выполнено: 142 | | |####################################################################################################|
    🟢 Роль PANGOLIN_LICENSE - Завершена! [Время выполнения: 0:00:07] Задач выполнено: 6 | | |####################################################################################################|
    🟢 Роль PANGOLIN_AUTH_REENCRYPT - Завершена! [Время выполнения: 0:00:52] Задач выполнено: 28 | | |####################################################################################################|
    🟢 Роль PANGOLIN_CERTS_ROTATE - Завершена! [Время выполнения: 0:00:29] Задач выполнено: 29 | | |####################################################################################################|
    🟢 Роль PANGOLIN_SECURITY_UTILITIES - Завершена! [Время выполнения: 0:00:12] Задач выполнено: 10 | | |####################################################################################################|
    🟢 Роль PANGOLIN_MANAGER - Завершена! [Время выполнения: 0:00:00] Задач выполнено: 4 | | |####################################################################################################|
    🟢 Роль PANGOLIN_DBMS - Завершена! [Время выполнения: 0:05:05] Задач выполнено: 147 | | |####################################################################################################|
    🟢 Роль PANGOLIN_POOLER - Завершена! [Время выполнения: 0:00:27] Задач выполнено: 16 | | |####################################################################################################|
    🟢 Роль PANGOLIN_TUNER - Завершена! [Время выполнения: 0:00:12] Задач выполнено: 9 | | |####################################################################################################|
    🟢 Роль PANGOLIN_DIAGNOSTIC_TOOL - Завершена! [Время выполнения: 0:00:11] Задач выполнено: 10 | | |####################################################################################################|
    🟢 Роль FINALLY - Завершена! [Время выполнения: 0:00:32] Задач выполнено: 29 | | |####################################################################################################|
    🟢 Роль CONFIGURE - Завершена! [Время выполнения: 0:00:20] Задач выполнено: 45 | | |####################################################################################################|
    🟢 Роль FINALLY - Завершена! [Время выполнения: 0:01:29] Задач выполнено: 92 | | |####################################################################################################|
    🟢 Роль PANGOLIN_BACKUP_TOOLS - Завершена! [Время выполнения: 0:00:52] Задач выполнено: 100 | | |####################################################################################################|
    Success: S05001:Обновление успешно завершено.
    +---------------------------------------------------------------------------------+
    | after updates |
    +----------------------+---------------+------------------------------------------+
    | Node | Action | Packages Installed |
    +----------------------+---------------+------------------------------------------+
    | node: master | after updates | pangolin-backup-tools-venv (1.1.0) |
    | | | pangolin-backup-tools (1.2.3) |
    | ip/dns: (IP-address) | | pangolin-pooler (1.5.0) |
    | | | pangolin-dbms-6.5 (6.5.0) |
    | | | pangolin-tuner (1.0.0) |
    | | | pangolin-auth-reencrypt (6.5.0) |
    | | | pangolin-dbms-6.5-client (6.5.0) |
    | | | pangolin-certs-rotate (6.5.0) |
    | | | pangolin-timescaledb-6.5-apache (2.19.3) |
    | | | pangolin-security-utilities (6.5.0) |
    | | | pangolin-diagnostic-tool (6.5.0) |
    | | | pangolin-ansible-venv-controlled (6.5.0) |
    | | | |
    +----------------------+---------------+------------------------------------------+

Дальнейшие шаги

Для проверки успешности завершения обновления рекомендуется обратиться к шагам «Проверки результата» в общем блоке автоматизированного обновления.