VK Private Cloud logo
Помощь
Обновлена 17 июля 2026 г. в 15:55

Генерация нового Inventory

Получение файла минимальной конфигурации новой версии

  1. Разархивируйте новую версию Inventory-генератора:

    $ cd $NEW_DISTRIB_DIR$ tar xvf invgen_box-${NEW_RELEASE_NAME}.tar.gz
  2. Сгенерируйте новый файл минимальной конфигурации:

    $ cd $NEW_DISTRIB_DIR/invgen_box-$NEW_RELEASE_NAME$ chmod +x invgen-${INVGEN_ARCH}$ ./invgen-${INVGEN_ARCH} config-example > ~/minimal_${NEW_RELEASE_NAME}.yml
  3. Заполните полученный файл актуальными для Платформы значениями.

Корректировка файла минимальной конфигурации новой версии

Перейдите в директорию новой версии дистрибутива и запустите скрипт pre_upgrade.py:

$ cd $NEW_DISTRIB_DIR/repos_mcs_distr_box-$NEW_RELEASE_NAME/upgrade/minimal_yml$ ./pre_upgrade.py \  --invgen-path $PREV_DISTRIB_DIR/invgen_box-$PREV_RELEASE_NAME/invgen-$INVGEN_ARCH \  -o $PREV_INVENTORY_DIR/vkcloud \  -n ~/minimal_${NEW_RELEASE_NAME}.yml

В командной строке отобразится следующая информация:

  • Переменные, которые были изменены после генерации при установке Платформы 4.0. Сохраните их для переноса переменных после генерации Inventory для Платформы 4.1.

    Пример
    +default_innodb_buffer_pool_size: 3221225472 # vkcloud/group_vars/vkcloud/common.yml-default_innodb_buffer_pool_size: 805306368 # vkcloud/group_vars/vkcloud/common.yml+mysql|max_connections: 10000 # vkcloud/group_vars/vkcloud_galera_barbican/vars.yml-mysql|max_connections: 100 # vkcloud/group_vars/vkcloud_galera_barbican/vars.yml+mysql|max_connections: 30000 # vkcloud/group_vars/vkcloud_galera_billingaccountservice/vars.yml-mysql|max_connections: 300 # vkcloud/group_vars/vkcloud_galera_billingaccountservice/vars.yml
  • Параметры, устаревшие для Платформы 4.1. Удалите их из файла minimal.yml новой версии.

    Пример
    vars:keycloak_ldap_admins_groupsDn: cn=groups,cn=accounts,{{ keycloak_ldap_basedn }}keycloak_ldap_admins_search: (memberof=cn=ldap_admins,cn=groups,cn=accounts,{{ keycloak_ldap_basedn }})keycloak_ldap_admins_usersDn: cn=users,cn=accounts,{{ keycloak_ldap_basedn }}keycloak_ldap_basedn: dc=vk,dc=teamkeycloak_ldap_fullsync_period: 300keycloak_ldap_host: ldap.{{ stand_domain_name }}
  • Параметры требований установки, новые для Платформы 4.1. Добавьте их в файл minimal.yml новой версии.

    Пример
    components:- rs- freeipa- network- sprut- maas- laasequipment:evh: 0groups:private_dns:- kcn001

Восстановление файла minimal.yml Платформы 4.0

Если файл minimal.yml, подготовленный для Платформы 4.0, был утерян, восстановите его:

$ ./restore_minimal_yaml.py -i $PREV_INVENTORY_DIR/vkcloud/ -f ~/minimal.yml --write$ head ~/minimal.ymlcomponents:- cloud_audit_logs- highiops- magnum- octavia- trove- postfix- manila- xaasequipment:

Проверьте, что значения переменных в файле корректны для установленной Платформы 4.0.

Слияние файлов minimal.yml разных версий

Внесите в файл minimal.yml новой версии изменения в соответствии с рекомендациями, полученными в результате выполнения скрипта pre_upgrade.py (подробнее — в разделе Корректировка файла минимальной конфигурации новой версии):

  1. Откройте файл minimal.yml:

    $ vi ~/minimal.yml
  2. Удалите устаревшие для Платформы 4.1 данные, сверяясь со списком из раздела Корректировка файла минимальной конфигурации новой версии.

  3. Добавьте новые переменные для Платформы 4.1 в minimal.yml, сверяя их с потребностями установки (например, может не потребоваться активация сервисов MaaS/LaaS и перенос их на evh-хост и т. д.).

Генерация Inventory

Сгенерируйте новый Inventory из полученного файла minimal.yml:

$ $NEW_DISTRIB_DIR/invgen_box-$NEW_RELEASE_NAME/invgen-$INVGEN_ARCH generate -config ~/minimal.yml -target ~/inventory-$NEW_RELEASE_NAME

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

Обновление файла vault.yml

При необходимости раскодируйте его для обработки скриптом vault_migration.py, чтобы провести миграцию vault-файла:

$ ansible-vault decrypt $PREV_INVENTORY_DIR/vkcloud/group_vars/vkcloud/vault.yml

Перенесите пароли в новый Inventory с помощью скрипта vault_migration.py:

$ cd $NEW_DISTRIB_DIR/repos_mcs_distr_box-$NEW_RELEASE_NAME/upgrade/minimal_yml$ ./vault_migration.py --source $PREV_INVENTORY_DIR/vkcloud/group_vars/vkcloud/vault.yml --target ~/inventory-$NEW_RELEASE_NAME/vkcloud/group_vars/vkcloud/vault.yml

Измените значение переменной vault_ceph_admin_key на содержимое переменной vault_ceph_admin_glance_tmp в файле ~/inventory-$NEW_RELEASE_NAME/vkcloud/group_vars/vkcloud/vault.yml.

При необходимости закодируйте обе версии обратно после миграции vault-файла:

$ ansible-vault encrypt $PREV_INVENTORY_DIR/vkcloud/group_vars/vkcloud/vault.yml$ ansible-vault encrypt ~/inventory-$NEW_RELEASE_NAME/vkcloud/group_vars/vkcloud/vault.yml